JOV APROG 00001000
0300 TITLE 0300 J O V JOVIAL COMPILER COORDINATER 00002000
JOV START X'D000' 00003000
SPACE 3 00004000
* COMPILER COORDINATOR 00005000
*THE COMPILER COORDINATOR IS A GROUP OF LOOSELY KNIT SUBROUTINES 00006000
*WHICH PERFORM THE FOLLOWING FUNCTIONS 00007000
* 1. INITIALIZE THE SYSTEM PRIOR TO START OF COMPILATION 00008000
* 2. BETWEEN EACH PHASE WRAPS UP PRIOR PHASE AND BRINGS IN NEXT 00009000
* 3. BLOCKS OUTPUT RECORDS GOING TO .WORK2 OR .WORK3 00010000
* 4. UNBLOCKS INPUT RECORDS COMING FROM .WORK2 OR .WORK3 00011000
* 5. AFTER PHASE 3, DETERMINES IF ASSEMBLY IS TO BE PERFORMED. 00012000
* IF SO, RETURNS TO JOB CONTROL INDICATING COMPILATION SUCC- 00013000
* ESSFUL. IF NOT, PRODUCES DIAGNOSTIC LISTING ON .OUTPUT 00014000
SPACE 3 00015000
*THE FOLLOWING LIST OF EQUATES DEFINES LOCATION OF FIELDS USED IN THE 00016000
*COMMUNICATION AREA 00017000
* 1. CRFLAG - COMPILATION SUCCESSFUL OR UNSUCCESSFUL 00018000
* 2. CRMSIZ - MACHINE SIZE 00019000
* 3. CRPHAS - NAME OF PROGRAM FOR SYSTEM LOADER TO READ IN 00020000
* 4. CRSWS3 - PUNCH SYMBOLIC DECK SWITCH 00021000
* 5. CRSWA - COMPOOL ATTACHED SWITCH 00022000
SPACE 1 00023000
CRFLAG EQU X'4F0' 00024000
CRMSIZ EQU X'5F0' 00025000
CRSYAS EQU X'5F4' 00026000
CRPHAS EQU X'4F6' 00027000
CRSWS3 EQU X'4F3' 00028000
CRSWA EQU X'68B' 00029000
CRASS EQU X'5FC' 11232 00030000
LIFLC EQU 64 CMS 00031000
SPACE 3 00032000
*THE FOLLOWING LIST OF EQUATES DEFINES THE LOGICAL UNITS ASSIGNED TO 00033000
*THE SYSTEM TAPES 00034000
SPACE 1 00035000
IOD01 EQU 04 00036000
IOD02 EQU 5 CMS 00037000
IOD03 EQU 06 00038000
IOD04 EQU 09 00039000
IOD05 EQU 10 00040000
IOD06 EQU 11 00041000
IOD07 EQU 07 00042000
SPACE JK 00043000
EJECT 00044000
*COMPILER COORDINATOR COMMUNICATIONS REGION 00045000
*CONTAINING INTERPHASE ADCONS AND SWITCHES 00046000
*AND TABLE CONTROL WORDS 00047000
* 00048000
*THIS REGION IS PERMANENTLY COVERED 00049000
*BY REGISTER 15 WHICH CONTAINS THE ADDRESS OF ZCON. THIS REGISTER 00050000
*IS LOADED DURING BEGIN COMPILATION AND REMAINS LOADED TO END OF JOB. 00051000
SPACE 3 00052000
DS 0F 00053000
ZCON EQU * 00054000
ZTITLE DC CL8' ' NAME OF SOURCE PROGRAM 00055000
ZADDR DC CL8'0 ' ASSEMBLY START ADDR FROM START CARD JMH 00056000
ZGENCT DC F'0' GENERATED LABEL COUNTER 00057000
ZTRAN DC A(USTART) LOAD ADDR OF PHASE OVERLAYS J C2641 00058000
* JMH 00059000
* JMH 00060000
ZBKNO DC F'0' BLOCK NO. TO ASSIGN TEMPS. 00061000
ZBKLOC DC F'0' NO. OF BYTES OF DATA RESERVED 00062000
ZBKLIM DC F'0' NO. OF BYTES OF DATA IN CURRENT 00063000
* BLOCK 00064000
ZF1A DC CL6' ' NAME OF TABLE THAT OVERFLOWED 00065000
* IN PHASE 1A 00066000
ZXSES EQU ZF1A+4 EBCDIC NBR OF SE'S FOR JV C2601 00067000
* PHASE 1 PAGE HEADER JV C2601 00068000
ZPCODE DC X'0000000000' INDICATOR FOR PLACING PROCESS 00069000
* ITEMS ON .WORK1 AS COMMENTS 00070000
ZFATSW DC XL1'0' SWITCH INDICATING A FATAL DIAG. 00071000
* IF 0, NO FATAL. IF 1, FATAL 00072000
ZPHASE DC XL1'0' SWITCH INDICATING PHASE IN PRO- 00073000
* GRESS 00074000
* IF 1, PHASE 1. IF 2, PHASE 1A. 00075000
* IF 4, PHASE 2A. IF 8, PHASE 2D. 00076000
* IF 10, PHASE 3. 00077000
* X'20' BIT - SPECIAL SUPPRESS ZPUT JMH 00078000
ZSER DC XL1'0' SWITCH INDICATING A SERIOUS DIAG 00079000
* IF 0, NO SERIOUS. IF 1, SERIOUS 00080000
ZSTART DC XL1'0' SWITCH INDICATING OPTIONS CHOSEN 00081000
* ON JOVIAL START CARD. 00082000
* 80 - COMPOOL IN USE DYBUF 00082100
* 40 - CLOSE ON START CARD DYBUF 00082200
* 20 - LIBE ON START CARD DYBUF 00082300
* 10 - LINKABL ON START CARD DYBUF 00082400
* 08 - REENT ON START CARD (WITH LIBE,LINKABL) DYBUF 00082500
* 04 - UNUSED DYBUF 00082600
* 02 - UNUSED DYBUF 00082700
* 01 - UNUSED DYBUF 00082800
ZXSTRT EQU ZSTART DYBUF 00082900
ZXOPTNS DC XL1'0' OPTIONS ON $JOV, START, AND .CNTRL CARDS C2806 00083000
* X'01' = PUNCHS ($JOV) C2806 00084000
* X'02' = BLKDATA (START) C2806 00085000
* X'04' = RESERVED C2806 00086000
* 08 - ASSEMBLE (PREV ZSTART X'10' BIT) DYBUF 00086100
* X'10' - TITLE CARD PRECEDED START 06152 00086200
* X'04' STRUCTURED LISTING S-054 00086300
EJECT 00087000
* 00088000
*TABLE CONTROL WORDS - PRESET FOR 256K BYTE MEMORY 00089000
* 00090000
*EACH THREE WORD PACKET CONTAINS THE FOLLOWING INFORMATION 00091000
* WORD 1 BEGINNING ADDRESS OF THE TABLE AREA 00092000
* WORD 2 CURRENT ADDRESS OF THE TABLE AREA - NEXT AVAILABLE 00093000
* WORD 3 ENDING ADDRESS OF THE TABLE AREA - LIMIT PLUS 1 00094000
SPACE 3 00095000
ZXSEG DC A(SEG,SEG,STATEC-4) JMH 00096000
ZSTATE DC A(STATEC) STATUS CONSTANT 00097000
DC A(STATEC) 00098000
DC A(ITEMEQ-8) 00099000
.
.
.
DCON69 DC 24F'0' READ AREA FOR COMP HEADER 0804X 03890000
END JOV C2641 03891000