为什么improper integrall control reset control

Personal tools
32K 709/7090 FORTRAN MONITOR - DEBUG, BSS CONTROL AND LIBRARY SEARCH
Login Name
Document Actions
last modified
ASSEMBLY OF MONITOR, COMPILER SECTIONS 1 THROUGH 6 OF
FORTRAN II PROCESSOR, 7090-FO-928
VERSION 3, MODIFICATION LEVEL 35
32K 709/7090 FORTRAN MONITOR DEBUG, BSS CONTROL AND LIBRARY SEARCH
32K 709/7090 FORTRAN MONITOR DEBUG, BSS CONTROL AND LIBRARY SEARCH
RECORD 7 OR 32
7,8,9 ASSEMBLY
ENTER,,320
ENTRY POINT,,RECORD NO.
ENTRY POINT,,RECORD NO.
CHNTAP SYN
USING THE SOURCE LANGUAGE DEBUGGING ROUTINE FOR F0G00170
ANY CARD WHICH CONTAINS NON NUMERIC CHARACTERS IN
COLUMNS 2 - 5 WILL BE IGNORED.
ANY CARD WHICH CONTAINS A N0N NUMERIC CHARACTER
OTHER THAN AN X IN COLUMN 6 WILL BE IGNORED.
ANY CARD WITH COLUMNS 1 - 6 BLANK WILL BE IGNORED.
A CARD WITH AN X OR A DIGIT IN COLUMN 6 AND COLUMNS F0G00290
1 - 5 BLANK IS TREATED AS A CONTINUATION CARD.
A CARD WITH COLUMNS 1 AND 6 BLANK AND WITH AN EX-
TERNAL FORMULA NUMBER IN COLUMNS 1 - 5 IS TREATED AS
THE START OF A NEW DEBUG STATEMENT.
A CARD WITH AN N IN COLUMN 1 IS TREATED AS A SUB-
PROGRAM NAME CARD.
NO TEST IS MADE TO SEE IF COLUMNS F0G00370
2 - 6 CONTAIN BLANKS.
PROVISIONS MADE FOR REFERENCES TO 20 SUB PROGRAMS.
200 W0RDS OF TEXT IS ALLOWED FOR EACH SUBPROGRAM.
IF AN ERROR IS FOUND ON A SUBPROGRAM NAME CD. THE
ROUTINE SEARCHES FOR THE NEXT SUBPROGRAM NAME CD. IG- F0G00440
NORING ANY INTERVENING DEBUG CDS.
STORAGE PARAMETERS
NO. OF DIFF. S. P. TO BE DEBUGGEDF0G00520
NO. OF WDS PER INTERMEDIATE SP.
NDTBLS EQU
NO. OF CELLS PROVIDED FOR DTBLS. F0G00550
LOGICAL TAPE PARAMETERS
NON CHAIN MODE INPUT TAPE.
CHAIN MODE INPUT TAPE
PRINTED OUTPUT TAPE
STORAGE FOR DEBUG STATEMENTS.
BOTIOP-5600
ZERO OUT SWTBLE BUFFER IN
SWTBLE+50,1
MEMORY TO AVOID POSSIBLE LATER COMPLICATIO$F0G00645
SINCE EDITOR DOESNT ZERO BUFFER ANY MORE. $F0G00648
SIGNAL IOPACKAGE TO TURN ON S L 2F0G00650
IF GOING TO MACHINE ERROR RECRDF0G00660
MUST BE CHAIN JOB AND NOT 1ST LNKF0G00690
SINGLE JOB OR 1ST CHAIN LINK
SET TO BACKSPACE 2 FILES ON B4.
TP7R8+2,1,-1
INDIRECT REFERENCE TAPE 7 OR 8.
WRITE END SIGNAL
NDCW,,(WBNP)
TP7R8+2,1,-1
BACKSPACE FILE
BSFCWF,,(SKBP)
TP7R8+2,1,-1
IS THIS A CHAIN JOB.
IS THERE DEBUG
YES GO PROCESS STATEMENTS.
TELL BSS NO DEBUG.
END SIGNAL AND BACKSPACE B1
BACKSPACE AND COUNT FILES TO
BSFCWF,,(SKBC)
BEGINNING OF B1.
DID THIS HIT BEGINNING OF TAPE.
BACKSPACE B4 TO 1ST LINK
BSFCWF,,(SKBP)
GET OVER FILE MARK ON B4.
SKPCWF,,(SKBP)
READ THE CHAIN LABEL.
LBLCWF,,(RBNC)
ARE THERE ANY MORE LINKS.
TO CAUSE ZEROING FIRST LINK STORAGE
IS THIS THE FIRST LINK.
LOOK FOR DEBUG PACK.
1ST BCD RECORD SHOULD CONTAIN *
IF NOT GO TO MACH. ERROR REC.(22)F0G01240
LOOK FOR * DEBUG.
SET 4 BIT IN TAG ON
ILLEGAL CONTROL CARD
(22)F0G01310
INITIALIZE TO CLEAR STORAGE
AFTER LOADING THE FIRST CHAIN LINK
FROM THE PROGRAM BREAK
TO THE TOP OF COMMON
(DEPENDING ON * IOP)
RATHER THAN FROM THE
BOTTOM OF THE LOADING TABLES
INSTRUCTION TO DO THIS
EXIT TO MACHINE ERROR REC.
FOUND DATA CONTROL CARD
MAKE SURE TWO BIT IN TAG IS OFF.
GO TO SET UP DTBLS IF ANY.
FIXB4F SXA
BACKSPACE A RECORD AND SKIP A
BSRCWF,,(SKBP)
FILE ON B4.
SKPFIF TSX
SKPCWF,,(SKBP)
RDNDMF TSX
CHECK IF END MARK.
LBLCWF,,(RBEC)
(SCHU)+MBNTAP
EMPTY FILE
IF NO END MARK SKIP ANOTHER FILE.F0G01520
BSRCWF,,(SKBP)
FOR INDIRECT REFERENCE TO TAPES
BSFCWF MZE
BSF CONTROL WD. FOR IO.
SKPCWF PZE
SKIP FILE CONTROL WD. FOR IO.
BSRCWF MZE
BSR CONTROL WD.
LBLCWF IORT
TO READ CURRENT CHAIN LABEL.
CONTROL WORD FOR WRITING END MARKF0G01650
TURN 4 BIT IN FLGBX
THERE IS DEBUG.
EJECT PAGE ON PRINT OUTPUT TAPE. F0G01700
STORE BLANKS IN TABLE WHERE SUB
NAMES+NTW,1
PROGRAM NAMES GET STORED.
PREWD+NTW,1
0 TO ALL PREVIOUS WD. ENTRIES.
NTW*NTHUN,1
ZERO TO ALL TEMPORARY TEXT TABLESF0G01760
TEXT+NTW*NTHUN,1
NDTBLS+1,1
ZERO TO DEBUG TABLES WHICH ARE
DTBLS-1+NDTBLS,1
PASSED TO BSS.
ZERO TO SUBPROGRAM COUNT.
GET NEXT BCD RECORD.
TEST TO SEE IF COLS. 1-6 OF BCD
CARD CONTAINED BLANKS. IF YES, F0G01850
THEN PRINT - XXXX CARD IGNORED.F0G01860
COLUMNS 1-6 ALL BLANK -
MASK FOR * AND 5 BLANKS IN 1-6.
IF YES, CONTROL CARD SHOULD BE - F0G01890
* DATA - OR -* DEBUG
TEST COL. 1 FOR - N -. IF YES,
FOUND AN - N - CARD. PROCESS
ANY FOLLOWING DEBUG CARDS AS
BELONGING TO THIS SUBPROGRAM.
TEST COL. 6 = 0 OR BLANK.
IF 0, THEN MIGHT BE EFN.
IF BLANK, THEN MIGHT BE EFN.
IF NOT 0 OR BLANK, ASSUME CONT-F0G01980
INUATION CARD AND PROCESS.
PROCESS BLANKS OUT OF COLS 7-72. F0G02000
CHARACTER COUNT IN DECR. OF AC.
STORE TEXT OF CONTINUATION CARD. F0G02020
TABLE OVERFLOW RETURN.
GO GET NEXT BCD RECORD.
RESET PROCEDURE EMPLOYED WHEN AN F0G02060
EFN OVERFLOWS TABLE. RESETS
STORAGE LOC. TO PREVIOUS EFN.
WIPE OUT ANY ANY CHARACTERS IN
TABLE WHICH MIGHT BE STORED FORF0G02100
EFN WHICH CAUSED OVERFLOW.
THESE CHARACTERS ARE SET TO 0.
SKIP ANY CONTINUE CARDS FOR THE
EFN WHICH OVERFLOWED.
HAVE ENCOUNTERED NEXT EFN OR PRO-F0G02200
GRAM NAME CD. OR * DATA.
CONTINUE CD. SO SKIP.
BLANK IN COL. 6. SO RETURN TO PROF0G02230
CHECK TO SEE IF SUBPROGRAM NAME
CARD FOUND YET. IF NO, ERROR.
PICK UP COLS 1 - 6.
PRINT OUT ERROR CONDITION AND GO F0G02280
TITLZ,0,11
SKIP ANY CONTINUATION CARDS.
CHECK EFN FOR BLANKS.
ERROR POSSIBILITY - NO EFN.
LOOKS LIKE IT MIGHT BE EFN.
TEST 6 CHAR. OF EFN FOR ALPHA OR F0G02370
OTHER NON ACCEPTABLE CHAR.
BLANKS ARE ACCEPTED
WHOOPS ILLEGAL CHARACTER IN EFN. F0G02400
ALL DIGITS COME HERE.
EFN AS PER COLS. 1-6 TO MQ
KEEP TRACK OF LAST WORD OF TABLE F0G02430
USED BY TEXT OF PREVIOUS EFN
AND THE NUMBER OF CHARACTERS INF0G02450
THIS WORD IN CASE A SET BACK ISF0G02460
NECESSARY SHOULD THIS NEW EFN
CAUSE THE TABLE TO OVERFLOW.
THIS CODING GETS A LEADING AND
FOLLOWING 77 CHARACTER AROUND
THE EFN AND COUNTS THE CHAR-
ACTERS IN THE EFN.
IF COUNT IS LESS THAN 5, THIS
GETS THE LOW ORDER 77.
THIS CODING LEFT ADJUSTS 77EFN77 F0G02590
FOR STORAGE PURPOSES.
THIS CODING COMPUTES NUMBER OF
CHARACTERS TO BE STORED IN
CURRENT SUBPROGRAM TABLE AND
RECORDS THIS COUNT IN CALLING
SEQUENCE FOR STORE S. R.
THIS CODING CONSIDERS THE CASE OFF0G02730
A 5 DIGIT EFN WHICH IS TREATED F0G02740
AS A SPECIAL CASE WHERE 7 CHAR-F0G02750
ACTERS ARE STORED.
STORE EFN ENCOMPASSED BY 77S IN
CURRENT SUBPROGRAM TABLE.
TABLE OVERFLOW RETURN.
WIPE BLANKS OUT OF TEXT ON EFN
STORE TEXT OF CURRENT EFN CARD.
TABLE OVERFLOW RETURN.
COMPLETED CD. WITH EFN GET NEXT. F0G02870
THIS ROUTINE IS USED ON TABLE
OVERFLOW CONDITIONS TO SKIP ANYF0G02890
CONTINUATION CARDS.
WHEN AN - N - CARD OR ANOTHER EFNF0G02910
CARD OR A CONTROL CD. IS FOUND F0G02920
CONTROL RETURNS TO MAIN PRO-
CESSING LOOP.
NEWSP+1,1,1
SETS MAIN PROGRAM NAME TO ZEROS. F0G02960
CHECK COLS. 7 - 72 FOR ALL BLANKSF0G02990
IF SO, THEN DUMP REQUESTS ARE
FOR MAIN PROGRAM.
IF NOT THEN MUST BE SUBPROGRAM.
GET RID OF ANY BLANK CHARACTERSF0G03040
NAME IS LEFT JUSTIFIED.
IF NO BLANKS ARE NEEDED TO FILL
THEN TRANSFER. IF BLANKS ARE
NEEDED TO FILL, THEN INSERT AS F0G03090
MANY AS ARE NEEDED.
THIS CODING PROCESSES THE NAME OFF0G03120
A SUBPROGRAM. IT COMPARES A NEWF0G03130
NAME WITH ALL THE PREVIOUS
NAMES. IF THERE IS A PREVIOUS
DEBUG REQUEST FOR THIS SAME SUBF0G03160
PROGRAM THEN XR 2 WILL CONTAIN F0G03170
THE 2S COMPLEMENT OF A NUMBER
WHICH CAN BE USED TO INDIRECTLYF0G03190
ADDRESS AN AREA CALLED LSWRD.
FULL,2,-NTW-1
THIS WILL BE USED TO STORE ANY
FOLLOWING DEBUG REQUESTS IN
LINE IN THE CURRENT TABLE.
IF NO MATCH CAN BE MADE ANOTHER
ENTRY IS MADE IN NAMES LIST
ALONG WITH A STARTING ADDRESS
IN LSWRD AND 2S COMP. OF COUNT.F0G03270
IF MORE THAN 20 SUBPROGRAM NAMES F0G03280
TITLG,0,10
ENTRIES ARE ATTEMPTED, CONTROL F0G03290
COMES HERE FOR OVERFLOW COND.
EFN AND CONTINUE CARDS ARE IGNOR.F0G03310
PRINTS ERROR STATE. WHEN COLS 1-6F0G03320
CONTAINS ALL BLANKS
GOES TO SKIP CONTINUE CARDS.
DELTPR TSX
PRINTS ERROR STATE. WHEN OVERFLOWF0G03350
TITLB,0,10
ENCOUNTERED TRYING TO STORE RE-F0G03360
QUEST. REQUEST IS DELETED.
SKPPRF TSX
PRINTS ERROR STATE. WHEN NO EFN
ON CARD FOLLOWING N CARD.
GOES TO SKIP CARDS UNTIL EFN CD. F0G03400
PRINTS ERROR STAT. WHEN EFN CONT-F0G03410
AINS NON NUMERIC CHARACTERS.
GOES TO SKIP ANY CONTINUE CARDS. F0G03430
PRINTS ERROR STAT. WHEN STORING
TITLB,0,10
OF TEXT FROM EFN CARD HAS CAUS-F0G03450
ED OVERFLOW. REQUEST IS DELETEDF0G03460
WHEN TABLE OVERFLOWS WHEN TRYING F0G03470
TO STORE 7777S CONTROL COMES
HERE AND LAST DUMP REQUEST WILLF0G03490
TITLH,0,15
BE IGNORED FOR THE S. P. NAME
THAT GETS PRINTED OUT.
TOTAL NUMBER OF SUBPROGRAMS TO A.F0G03520
IF NONE, EXIT TO BSS CONTROL
THIS CODING STORES 7777 AT END OFF0G03540
TEXT FOR EACH SUBPROGRAM EN-
COUNTERED ON N-CARDS.
POSSIBLE TABLE OVERFLOW RETURN.
7777 COULD NOT BE STORED, SO LASTF0G03610
EFN IS DELETED AND STORAGE OF
7777 NOW TAKES PLACE.
KICK OFF MACHINE
COMPUTES THE NUMBER OFF0G03690
WORDS OF STORAGE USED BY EACH
OF THE SUBPROGRAMS.
LSWRD IS ADDRESS OF LAST WORD
IN TABLE TO RECEIVE TEXT.
LCTXT IS THE STARTING ADDRESS
THIS LOOP ACCUMULATES THE STORAGEF0G03790
FOR THE SUBPROGRAMS AND CHECKS F0G03800
TO SEE IF ACCUMULATION EXCEEDS F0G03810
IF 500 EXCEEDED, THEN TRA. HERE. F0G03830
NO TABLE OVERFLOW EXPECTED.
WHOAPR TSX
PRINT STATEMENT ABOUT DTBLS OVER F0G03870
GTITLG,0,15
RESET SUBPROGRAM COUNT TO ACTUAL F0G03890
NUMBER DTBLS CAN HANDLE.
LOOP TO PRINT OUT NAMES OF SUB-
PROGRAMS FOR WHICH THERE IS NO F0G03930
SPACE IN DTBLS.
HTITLH,0,3
COMPUTE 2 * NO. OF SUBPROGRAMS
ADD IN THE INITIAL ADDRESS OF
DTBLS AND HOLD IT.
MOVE NAMES INTO DTBLS
MAKE SURE CELL FOR 2S COMPLEMENT F0G04080
OF ADDRESS OF TEXT IS 0.
GET AND STORE 2S COMPLEMENT OF
ADDRESS OF TEXT INTO DEC. OF
COMPUTE ADDRESS OF WHERE NEXT
SUBPROGRAMS TEXT WILL BE STOREDF0G04150
PROCESS ALL SUBPROGRAM NAMES AND F0G04170
LOCATIONS OF TEXT EXCEPT FOR
THOSE WHICH HAVE BEEN IGNORED. F0G04190
GET XR2 READY TO RECEIVE TEXT.
INITIALIZATION OF LOOP FOR MOVINGF0G04210
ALL TEXT INTO DTBLS.
MOVE NO. OF WDS. OF TEXT FOR SUC-F0G04290
CESSIVE S. P. TO COUNT.
MOVE SUCCESSIVE WORDS OF TEXT
FROM SUBPROGRAM TABLES INTO
THIS IS A TEST TO SEE IF ALL WDS.F0G04360
OF TEXT FOR A PARTICULAR S. P. F0G04370
HAS BEEN MOVED.
GET TEXT FOR NEXT S. P.
WRITE COMMENT - END OF DUMP
GO TO EJECT PAGE.
EXIT TO BSS CONTROL
************************************************************************F0G04450
SUBROUTINE FOR STORING CHARACTERS IN TEXT TABLES.
CALLING SEQUENCE
TSX STORE,4
PZE LOC. OF CHAR.,0,NO. OF CHAR.
TABLE OVERFLOW RETURN.
NORMAL RETURN
XR2 CONTAINS THE 2S COMPLEMENT OFF0G04510
THE LOCATION OF THE SUBPROGRAM F0G04520
NUMBER AND CAN BE USED TO OB-
TAIN THE LOCATION OF THE TEXT
TABLE FOR A GIVEN SUBPROGRAM.
INITIALIZE FINAL LOCATION WHICH
CAN RECEIVE TEXT FOR THIS S.P. F0G04570
PICK UP ADDRESS OF FIRST OR LAST F0G04580
STORAGE CELL TO RECEIVE TEXT.
PICK UP LOCATION OF 1ST CHAR. TO F0G04600
BE MOVE TO TEXT TABLE.
COUNT OF CHAR. IN CELL AC.
TEST NUMBER OF CHARACTERS FOR 6. F0G04640
NORMAL CASE MORE THAN 6 FOR ST.F0G04650
SPECIAL CASE - EXACTLY 6.
SPECIAL CASE - LESS THAN 6.
PUT NO. OF CHARACTERS STORED IN
LAST WD. OF PREV. STORE TO XR4.F0G04690
SPECIAL CASES- LAST WORD FULL OR F0G04700
NORMAL CASE SHIFTING HAS TO BE
ACCOMPLISHED TO PACK TABLE.
COMPUTE 6 - NO. OF CHAR.
ABOVE CALCULATION - NO. OF CHAR. F0G04760
IN LSWRD. ALL CHARS TO LSWRD ADF0G04770
CAN STORE CHAR. AND NOT OVFL WD. F0G04780
IF MINUS SAVE DIFFERENCE.
COMPUTE AMOUNT OF SHIFT NECESSARYF0G04800
TO POSITION CHAR. FOR PACKING. F0G04810
CREATE NEW ADDRESS FOR LSWRD CELLF0G04840
TEST FOR POSSIBLE TABLE OVERFLOW,F0G04860
USE ERROR RETURN.
INITIALIZE ADDRESS OF NEXT TEXT
CELL AND PUT IN ADDRESS OF
PICK UP CHARACTERS IN MQ
SHIFT TO POSITION FOR PACKING.
FILL OUT LAST WD. STORED IN TABLEF0G04960
PLACE REMAINING CHAR. IN NEXT
PUT COUNT OF CHARACTERS IN NEW
CELL INTO DEC OF LSWRD.
EXIT STORE S. R.
COMPUTE AMOUNT OF SHIFTING
NECESSARY TO POSITION WORD OF
CHARACTERS FOR TABLE ENTRY.
PICK UP WORD OF CHAR. IN MQ
SHIFT FOR PACKING PURPOSES.
ORS TO LSWRD CELL.
SET CHARACTER COUNT IN LSWRD CELLF0G05100
TO 6 TO SHOW THAT LAST WORD IS F0G05110
EXIT FROM STORE S. R.
COMPUTE NO. OF CHAR STORED IN
UPDATE CHAR. COUNT. IN DEC. OF
COMPUTE AMOUNT OF SHIFT NECESSARYF0G05180
FOR PACKING NEW CHARACTERS IN
TEXT TABLE.
PICK UP CHARACTERS TO BE STORED
SHIFT TO POSITION FOR PACKING.
ORS TO RECORD CHARACTERS IN TEXT.F0G05250
EXIT FROM STORE S. R.
SPECIAL CASE WHERE LSWRD DEC. = 0F0G05270
GET CHARACTERS
STORE IN FIRST CELL OF TEXT TABLEF0G05290
PUT COUNT OF CHARACTERS STORED INF0G05310
ABOVE CELL TO DEC. OF LSWRD.
EXIT FROM STORE S. R.
SPECIAL CASE WHERE LSWRD DEC = 6 F0G05340
INITIALIZE FOR STORING IN NEXT
TEXT TABLE CELL.
CHECK FOR POSSIBLE TABLE OVERFLOWF0G05380
IF SO, USE ERROR RETURN.
PICK UP CHARACTERS TO MQ.
STORE IN TEXT TABLE.
UPDATE ADDRESS OF LSWRD WITH
NEXT TEXT TABLE CELL.
PROCESS MORE THAN 6 CHAR.
COMPUTE HOW MANY COMPLETE WORDS
OF CHAR. EXIST.
SAVE REMAINDER OF CHAR. FOR
SPECIAL PROCESSING.
INITIALIZE WITH NO. OF COMPLETE
COMPUTE LAST ADD. OF TEXT TABLE
AFFECTED BY THIS GROUP OF CHAR.F0G05570
CHECK FOR TABLE OVERFLOW.
IF SO, USE ERROR RETURN.
PICK UP NO. OF CHAR. STORED IN
LSWRD FROM PREVIOUS STORE.
INITIALIZE ADDRESS FOR FILLING
OUT PREVIOUS WORD.
INITIALIZE FOR NEXT TEXT TABLE
SPECIAL CASE WHEN LSWRD DEC = 0
SPECIAL CASE WHEN LSWRD DEC = 6
COMPUTE NO. OF CHAR. LAST WD.
WILL HOLD.
COMPUTE AMOUNT OF SHIFTING
NECESSARY FOR PACKING.
LAST WD. WILL HOLD 6 CHAR.
LAST WD. WILL NOT HOLD ANY CHAR. F0G05780
AMOUNT OF SHIFT TO XR1.
WHOLE WD COUNT TO XR4.
PICK UP 1ST WD. OF CHAR. TO BE
STORED, SHIFT IT FOR PACKING,
PACK IT IN LAST WD., AND STORE F0G05860
REMAINING CHAR IN NEXT CELL.
GET NEXT WD. OF CHAR.
OUT OF LOOP.
UPDATE ADDRESS OF NEXT WD OF TEXTF0G05900
UPDATE ADD. OF NEXT WD. OF CHAR. F0G05940
RETURN TO LOOP.
COUNT OF CHAR IN PREVIOUS LSWRD
SPECIAL CASE LAST WD. EMPTY
SPECIAL CASE LAST WD. FULL
COMPUTE NO. OF CHAR. STORED IN
NEW LAST WORD OF TEXT TABLE.
IF 0, LAST WORD IS FULL
IF -, LAST WORD CONTAINS LESS
THAN SIX CHAR. USE STQ ADD.
IF +, LAST WORD CONTAINS LESS
THAN SIX CHAR. USE ORS ADD
UPDATE DEC. AND ADD. OF LSWRD
TO BE USED BY FUTURE STORE.
NORMAL EXIT.
UPDATE DEC. AND ADD. OF LSWRD
6 TO DEC OF LSWRD.
NO SHIFTING WAS NECESSARY. DEC OFF0G06220
LSWRD GETS SET TO REMAINDER OF F0G06230
CHAR UNLESS 0.
IF 0, LSWRD DEC GETS SET TO 6.
AND ADD. OF LSWRD IS SET TO
ADD OF WD. TO RECEIVE LAST CHARF0G06270
IF REMAINDER IS 0, COUNT OF 6 IS F0G06310
IF NOT, ACTUAL NO. OF CHAR. USED.F0G06330
SPECIAL CASE WHERE EXACTLY 6 CHARF0G06360
ARE TO BE STORED.
CASE LSWRD NO. OF CHAR. =0
CASE LSWRD IS FULL.
ADD OF PREV. STORE OF LAST WORD
AND LAST WORD PLUS 1 TO STORE
HOW MANY CHAR. WILL LAST WORD
CHECK TO SEE IF STORING THESE
CHARACTERS WILL CAUSE TABLE
IF SO, USE ERROR RETURN
COMPUTE NO. OF SHIFTS NECESSARY
FOR PACKING.
PICK UP CHAR.
SHIFT IF NECESSARY.
STORE IN TEXT TABLE.
UPDATE ADD OF LSWRD CELL.
LAST WORD WAS EMPTY
SO STORE 6 CHAR.
MAKE COUNT IN DEC OF LSWRD = 6.
WILL HAVE TO STORE IN NEXT CELL
CHECK FOR TABLE OVERFLOW.
USE ERROR RETURN
UPDATE ADD. OF LSWRD.
GO TO STORE CHAR.
SET UP CONDITION FOR ERROR RETURNF0G06790
THIS SUBROUTINE WIPES BLANKS OUT F0G06810
INITIALIZE WORD COUNT
INITIALIZE XR4 FOR TOTAL WD. CT. F0G06850
MAXIMUM NO. OF WDS. TO CK. = 11
INITIALIZE BLOCK FOR NON-BLANK
CHARACTERS.
INITIALIZE ADDS. OF INSTS. USING F0G06890
BLOCK OF NON BLANK CHAR.
SHIFT OUT 1ST COLUMN OF WD. 1.
SAVE REMAINING CHAR. OF WD. 1.
LOAD SUCCESSIVE BCD WORDS
SHIFT 6 BITS TO AC
SAVE REMAINDER OF MQ
SAVE SHIFTED BITS.
TEST FOR BLANK
BLANK - GO TO NEXT COLUMN.
SHIFT BCD WORD.
SAVE SHIFTED BCD WD.
UNCHANGED SHIFTED BITS.
ADD NEW CHAR. AND SAVE.
INCREASE TOTAL WORD COUNT BY 1.
INCREASE WD. CT. BY 1.
TEST FOR 6 CHAR.
NOT YET 6 - GO BACK FOR NEXT COL.F0G07170
BCD WD. COMPLETE - GO TO NEXT WD.F0G07180
COMPUTE NO. OF POSITIONS THE LASTF0G07190
WORD MUST BE SHIFTED TO MOVE ITF0G07200
TO THE EXTREME LEFT.
STORE NO. OF POSITION TO BE SHIFTF0G07250
LOAD LOCATION OF LAST NEW WORD
MOVED INTO ROTATE INSTRUCTION.
STORE WORD IN BCDA BLOCK.
PUT WORD COUNT IN AC.
NORMAL RETURN.
6 BCD CHAR. IN NON BLANK BLOCK.
START NEW BCDA WORD.
RE-INITIALIZE ADDRS. OF INSTR.
USING BLOCK OF NON-BLANK CHAR. F0G07380
RESTORE WD. COUNT TO 0.
READ INPUT TAPE SUBROUTINE.
CHAIN JOB OR NOT DETERMINES
WHERE IS INPUT
LOGICAL TAPE 5.
LOGICAL TAPE 8.
COM1,0,(RDEC)
TRY TO READ BCD RECORD.
RETURN IF REDUNDANCY CHECK.
(SCHU)+CHNTAP
EOF ON LOGICAL TAPE 8.
SKLST,0,(SKDP)
POSITION IN FRONT OF FOR BSS.
BCD-1,0,13
TRY TO READ BCD RECORD FROM
COM1,0,(RDEC)
LOGICAL TAPE 5.
RETURN IF REDUNDANCY CHECK.
(SCHU)+MINTAP
IF EOF ON LOGICAL TAPE 5, POSI-
SKLST,0,(SKDP)
TION IN FRONT OF EOF VOR BSS.
FOR BACKSPACING OVER EOF.
TELL BSS NEXT INFO. IS BINARY ON F0G07740
INPUT TAPE
GO TO SET UP DTBLS.
THIS SUBROUTINE WRITES BCD RECORDS ON TAPE
TSX WRITE,4
PZE 1ST WD.,0, NO. OF WDS.
WRITE CLA*
UPDATE LINES OF OUTPUT
PICK UP COMMAND FOR OUTPUTING
BCD RECORD.
CHECK TO SEE IF TIME TO START
PAGE EJECT NEEDED.
WRITE OUT RECORD.
OUTCM,0,(WDNC)
LOGICAL TAPE 6
STORAGE FOR COMMAND.
WRITE OUT RECORD TO CAUSE EJECT
EJECT,0,(WDNC)
NO. OF LINES TO OUTPUT PAGE.
EJECT IORT
7, XXXX CARD IGNORED. COLUMNS 1-6 ALL BLANK.
9, XXXX TABLE OVERFLOW FOR SUBPROGRAM.
DUMP REQUEST IGNOF0G08080
9, XXXX NO EFN FOLLOWING SUBPROGRAM NAME CARD.
9, XXXX EFN CONTAINS NON NUMERIC CHARACTERS.
9, XXXX 20 SUBPROGRAMS ALREADY REFERENCED.
THIS ONE IGNOF0G08120
9, XXXX TABLE OVERFLOW FOR SUBPROGRAM
THE LAST RF0G08140
6,EQUEST FOR THIS SUBPROGRAM IGNORED.
GTITLG BCI
9, XXXX DTBLS TABLE OVERFLOW. DUMP REQUESTS FOR THE FOLL F0G08160
6,OWING SUB PROGRAMS HAVE BEEN IGNORED
HTITLH BCI
END OF DUMP REQUESTS
9, XXXX DUMP REQUEST IGNORED. NO SUBPROGRAM NAME CARD FO F0G08200
2,UND YET.
COM2 IORTN
6/*-CONTB+10,30/1
O6/60,30/2
6/*-CONTC,30/1
LOC. OF ABOVE BLOCK
FIXED POINT 1
FIXED POINT 6 - NO. OF CHAR.
TEMP. STORAGE FOR 6 BITS IN AC
COL. 2- 6 ON ORIGINAL CARD
LOC. FOR SAVING IR4
LOC. FOR SAVING IR1 AND 2
WORD COUNT IN BCD WORD
TEMP STORAGE FOR AC
BLOCK OF NON-BLANK CHAR.
THIS CARD MUST FOLLOW BCDA CARD. F0G09270
IN ADDRESS LOCATION OF LAST WORD F0G09300
TO RECEIVE CHARACTERS. IN DECR-F0G09310
EMENT IS NO. OF CHAR. RECEIVED.F0G09320
COMPLEMENT OF NO. OF SUBPROGRAMS TO GET
TABLE FOR BCD NAMES OF SUBPR.
TABLE FOR COORDINATING STORAGE
TEXT+1*NTHUN,4
OF SUB PROGRAM TEXT AND NAMES. F0G09370
TEXT+2*NTHUN,4
TEXT+3*NTHUN,4
TEXT+4*NTHUN,4
TEXT+5*NTHUN,4
TEXT+6*NTHUN,4
TEXT+7*NTHUN,4
TEXT+8*NTHUN,4
TEXT+9*NTHUN,4
TEXT+10*NTHUN,4
TEXT+11*NTHUN,4
TEXT+12*NTHUN,4
TEXT+13*NTHUN,4
TEXT+14*NTHUN,4
TEXT+15*NTHUN,4
TEXT+16*NTHUN,4
TEXT+17*NTHUN,4
TEXT+18*NTHUN,4
TEXT+19*NTHUN,4
TEXT+20*NTHUN,4
WRITE OUT MESSAGE ON SYSOU1
(22)F0G09640
(22)F0G09641
GO TO SOURCE ERROR RECORD
(22)F0G09642
6, ILLEGAL CONTROL CARD IN DEBUG DECK.
(22)F0G09643
PATCH SPACE
(22)F0G09644
ENTWH LDI*
HAS BSS BEEN READ IN
IS SYSTEM IN 2ND FILE
(LOAD),4,1
READ IN BSS
SKIP BSS RECORD
SKRCW,,(SKBP)
ENTBS LDI*
IS SYSTEM IN 2ND FILE
ARE THERE DEBUG CARDS.
TABL-DDBG-BOTTOM+1,1
CLEAR TO TOP OF
TABL-DDBG+1,1
LOADING TABLES
INITIALIZE FOR TOP OF LOADING
TABLES TO BE TABL-DDBG.
TABL-DDBG,1
TABL-DDBG-1
TABL-DDBG-1,1
BOTTOM+2,1
NO DEBUG. INITIALIZE FOR TOP OF LOADING
TABLES TO BE TABL.
TO REINITIALIZE LCOMN
(24)F0G10161
WAS THERE * IOP
NO, PROCEED
(24)F0G10163
USE BOTIOP INSTEAD OF
AND MOVE INSTRUCTIONS TO
SAVIOP+6,1
BSS SO THAT CORES ARE
ZEROED TO BOTIOP, NOT
BOTIOP-1,1
KILL PRE-EXECUTION
TAPE STATISTICS
IOPDON SXA
INSTRUCTIONS STORED IN BSS (AT PROG)
WHEN * IOP WAS PRESENT
SAVIOP STO
PROG-8,1,1
BOTIOP-4,1,BOTIOP-4-TABL
BOTIOP-3,1
BOTIOP-4,1,1
KILL TAPE STATISTICS
AFTER LOADING A SUBPROGRAM A CHECK OF THE DEBUG TABLE
IS MADE TO SEE IF DEBUG SNAPS ARE REQUESTED IN
THE SUBPROGRAM.
IF SO THE PROGRAM BREAK IS EXTENDED TO IN-
CLUDE COUNTER TESTS, CALLING SEQUENCES, AND FORMATS FOR DUMP-F0G10310
ING, AND STR INSTRUCTIONS INSERTED IN THE SUBPROGRAM.
NOMINAL TOP OF COMMON
TAPOUT EQU
OUTPUT TAPE NUMBER - RE FORTRAN
NESYTB EQU
STORAGE FOR SYMBOL TABLE
NEFMTT EQU
STORAGE FOR GENERATING FORMAT
NUMBER OF SPECIAL LIST WORDS
NEDBTB EQU
STORAGE FOR DEBUG TABLES
NEXT CHARACTER
SPECIAL CHARACTERS
PICKS UP NEXT CHARACTER FROM DTBLS AND PUTS IN AC
CONVERT SUCCESSIVE NUMERICS TO BINARY
RESULT - RIGHT ADJUSTED IN 1G
CALL - TSX C0180,2
NEXT CHARACTER LEFT IN AC
C0180X TSX
NEXT CHARACTER TO AC
PUT IN 1G, 1G+1 SUCCESIVE BCD UNTIL PUNCTUATION
IRA = 0 FOR 6 OR LESS CHARACTERS, = -1 FOR MORE THAN 6
IRC = PUNCTUATION TAG
1H = PUNCTUATION CHARACTER
CALL TSX C0160,2
C0160X TSX
1G, 1G + 1
CTEST-ENDMK,4
DEC CONTAINS COM OF NEXT WORD IN DTBLS
C0163,0,**
PUNCTUATION ENCOUNTERED/DEC = CHAR CNT
START STORING IN 1G + 1
LEAVE FOR MORE THAN 12 CHAR
STORE CHARACTER
GET NEXT CHARACTER
SAVE PUNCTUATION
PLACE BLANKS
INSPECTS FIRST CHARACTER IF NUMERIC SETS I = 0
OTHERWISE I = -0
THEN GOES TO C0180, C0160 AS REQUIRED
NEXT CHARACTER IN THE AC AND 1H
NON-NUMERIC
SAVE NEXT CHARACTER
ROYCNV,4/ CALLS=C0190,
ROYCNV DOES FIXED AND FLOATING POINT CONVERSION
ROYCNV= ENTRY POINT FOR FIXED OR FLOATING POINT INTEGERS.
CHSAVE EQU
ROYCNV STO
SAVE DECIMAL DIGIT IN N.
ROYCVN EQU
SAVE C(XR4) FOR RETURN.
CLEAR DOE (IMPLICIT EXPONENT).
PICK UP SWITCH CONTROL,
AND GO SET SWITCH.
DECPNT= ENTRY POINT FOR FLOATING POINT FRACTIONS.
DECPNT STZ
CLEAR N (NO INTEGER).
SAVE C(XR4) FOR RETURN.
CLEAR DOE (IMPLICIT EXPONENT).
PICK UP SWITCH CONTROL.
SET SWITCHES CM2, AND
TURN OFF OV TRIGGER.
*GO GET NEXT NB CHARACTER IN THE AC.
AND COMPARE WITH TEN.
CHAR EXCEEDS 10, SO IS NON-NUMERIC.
CLEAR THE AC (MACHINE ERROR).
CHARACTER IS NUMERIC, SO HOLD IT.
MULTIPLY THE PREVIOUS
PARTIAL RESULT (OR ZERO)
AND ADD IN
THE CURRENT DIGIT.
SWITCH (NO TRANSFER IF INTEGER).
TEST OVERFLOW, AND
IF NONE, SAVE NEW PARTIAL RESULT.
THEN GO PICK UP NEXT CHARACTER.
COMPARE NON-NUMERIC WITH A POINT.
IF GREATER THAN 27, GO OUT.
IF POINT, GO BACK AND SET SWITCH.
IF LESS THAN 27, COMPARE WITH E.
IF GREATER THAN 21, GO OUT.
IF E, GO TO EXPONENT ROUTINE.
SWITCH (NO TRANSFER IF INTEGER).
PICK UP CONVERTED CONSTANT, AND
MS9506 ALS
STORE IN THE
DECREMENT OF G
GO TAKE EXITR.
IF THERE WAS NO OVERFLOW,
SAVE PARTIAL RESULT, AND
SUBTRACT 1 FROM DOE
TO ADJUST EXPONENT
IN FINAL RESULT.
THEN GO PICK UP NEXT CHARACTER.
ADD 1 TO DOE ,
IF THERE WAS INTEGER OVERFLOW.
*GO GET NEXT NB CHARACTER IN THE AC.
SAVE IT FOR STATE B, AND
CLEAR EKE (EXPLICIT EXPONENT).
COMPARE CHARACTER WITH A DASH.
IF GREATER THAN 32, GO OUT.
IF A DASH, SET EKE MINUS.
IF LESS THAN 32, COMPARE WITH PLUS.
IF GREATER THAN 16, GO OUT.
IF PLUS, GO EXAMINE NEXT CHAR.
IF LESS THAN 16, COMPARE WITH MINUS.
IF GREATER THAN 12, GO OUT.
IF MINUS, SET EKE TO -0.
COMPARE WITH TEN.
IF NON-NUMERIC, GO EXAMINE NEXT CH.
CLEAR ACC,
SAVE PARTIAL RESULT(OR O) IN EKE.
*GO GET NEXT NB CHARACTER IN THE AC.
SAVE IT FOR STATE B,
AND COMPARE WITH TEN.
CHAR EXCEEDS 10, SO IS NON-NUMERIC.
CLEAR THE AC (MACHINE ERROR).
CHARACTER IS NUMERIC, SO HOLD IT.
MULTIPLY THE PREVIOUS
PARTIAL RESULT (OR ZERO)
AND ADD IN
THE CURRENT DIGIT.
CONTINUE UNTIL NON-NUMERIC IS MET.
COMBINE EXPLICIT EXPONENT
WITH IMPLICIT EXPONENT,
AND SAVE IN DOE.
IF N CONTAINS ZERO, TAKE
FLO PT CONSTANT RETURN.
PUT INTEGER INTO FLO PT WORD,
ADJUST, AND
IF MORE THAN 15 BITS IN LENGTH
AFFIX CORRECT EXPONENT.
THEN FLOATING ADD THE RESULT
OF INTEGER CONVERSION, AND
ROUND --TO OBTAIN
NORMALIZED RESULT.
EXAMINE THE C(DOE), AND
IF ZERO, TAKE FLO PT RETURN.
IF GREATER THAN 50, THEN
ERROR. --GO TO PLST.
DETERMINE WHETHER INTEGER WAS
TO THE RIGHT OR TO THE LEFT OF DP.
IF TO THE RIGHT, DIVIDE BY A
SUITABLE CONSTANT
TO ADJUST RESULT
AND TEST FOR OUT OF RANGE.
IF P=1, SKIP TO ARITH RETURN.
ERROR. --GO TO PLST.
MS9500 STO
STORE IN G, AND
RESTORE THE C(XR4), AND
*RETURN TO MAIN ROUTINE.
IF INTEGER WAS SITUATED
TO THE LEFT OF THE DECIMAL POINT,
MULTIPLY BY A SUITABLE
CONSTANT TO ADJUST AND TEST RANGE.
RETURN TO ARITHMETIC ROUTINE.
CONSTANT USED BY ROYCNV.
CONSTANT USED BY ROYCNV.
CONSTANT USED BY ROYCNV.
CONSTANT USED BY ROYCNV.
CONSTANT USED BY ROYCNV.
BCD 100000E
48-TABLE USED BY ROYCNV.
47-TABLE USED BY ROYCNV.
46-TABLE USED BY ROYCNV.
45-TABLE USED BY ROYCNV.
44-TABLE USED BY ROYCNV.
43-TABLE USED BY ROYCNV.
42-TABLE USED BY ROYCNV.
41-TABLE USED BY ROYCNV.
40-TABLE USED BY ROYCNV.
39-TABLE USED BY ROYCNV.
38-TABLE USED BY ROYCNV.
37-TABLE USED BY ROYCNV.
36-TABLE USED BY ROYCNV.
35-TABLE USED BY ROYCNV.
34-TABLE USED BY ROYCNV.
33-TABLE USED BY ROYCNV.
32-TABLE USED BY ROYCNV.
31-TABLE USED BY ROYCNV.
30-TABLE USED BY ROYCNV.
29-TABLE USED BY ROYCNV.
28-TABLE USED BY ROYCNV.
27-TABLE USED BY ROYCNV.
26-TABLE USED BY ROYCNV.
25-TABLE USED BY ROYCNV.
24-TABLE USED BY ROYCNV.
23-TABLE USED BY ROYCNV.
22-TABLE USED BY ROYCNV.
21-TABLE USED BY ROYCNV.
20-TABLE USED BY ROYCNV.
19-TABLE USED BY ROYCNV.
18-TABLE USED BY ROYCNV.
17-TABLE USED BY ROYCNV.
16-TABLE USED BY ROYCNV.
15-TABLE USED BY ROYCNV.
14-TABLE USED BY ROYCNV.
13-TABLE USED BY ROYCNV.
12-TABLE USED BY ROYCNV.
11-TABLE USED BY ROYCNV.
10-TABLE USED BY ROYCNV.
09-TABLE USED BY ROYCNV.
08-TABLE USED BY ROYCNV.
07-TABLE USED BY ROYCNV.
06-TABLE USED BY ROYCNV.
05-TABLE USED BY ROYCNV.
04-TABLE USED BY ROYCNV.
03-TABLE USED BY ROYCNV.
02-TABLE USED BY ROYCNV.
01-TABLE USED BY ROYCNV.
00-TABLE USED BY ROYCNV.
SEARCHES SYMBOL TABLE FOR BCD CHARACTER IN AC (TERMINATED) F0G13200
WITH A BLANK IF LESS THAN 6 CHARACTERS)
RETURNS 1,4 NOT FOUND
RETURNS 2,4 FOUND IRA = TAG FOR LOCATING
DETERMINE UPPER LOWER P - D AND ERASEABLE
CERASE SXA
(20)F0G13340
(20)F0G13350
(20)F0G13360
LOWER COMMON
(20)F0G13370
(20)F0G13380
E LOWER P.D.-1 (REL)
(20)F0G13390
A UPPER ERASABLE (REL)
(20)F0G13400
L(ADD) ADD
(20)F0G13410
J UPPER ERASABLE (ABS)
(20)F0G13420
(20)F0G13430
(20)F0G13440
LOWER PROGRAM DATA
(20)F0G13450
NUMBER OF ENTRIES IN SYMBOL TABLE
(20)F0G13460
(20)F0G13470
(20)F0G13480
(20)F0G13490
CERASB,4,2
GO TILL 3 IN DECREMENT
(20)F0G13500
GET NEXT TABLE ENTRY
(20)F0G13510
ANY MORE ENTRIES
(20)F0G13520
CERASA AXT
NO, RETURN TO CALLER
(20)F0G13530
(20)F0G13540
CERASB CAL
NEXT HIGHER ENTRY
(20)F0G13550
(20)F0G13560
SAVE DECREMENT
(20)F0G13570
SYMBOL ITSELF
(20)F0G13580
(20)F0G13590
(20)F0G13600
8) I.E. FORMAT
(20)F0G13610
(20)F0G13620
(20)F0G13630
(20)F0G13640
CERASC CAL
(20)F0G13650
(20)F0G13660
GO FOR 3 (I.E. GOOD ERASABLE)
(20)F0G13670
(20)F0G13680
L(SUB) SUB
(20)F0G13690
D LOWER ERASE-1 (REL)
(20)F0G13700
(20)F0G13710
G LOWER ERASE-1 (ABS)
(20)F0G13720
(20)F0G13730
(20)F0G13740
B PROG. BREAK-1
(20)F0G13750
(20)F0G13760
K P.B.-1 + LADD
(20)F0G13761
PATCHB AXT
(20)F0G13762
TEST FOR PROG. VAR.
(20)F0G13763
YES, USE LOWER P.D.-1
(20)F0G13764
NO, USE PROG. BR.-1+LADD
(20)F0G13770
(20)F0G13780
(NOT USED)
(20)F0G13790
(NOT USED)
(20)F0G13800
COMPUTES ABS ADDRESS OF ENTRY STBL-1,1
ADDRESS IN SYMBOL TABLE
BIT PATTERN TO IRB
STAARN,2,0
RETURN FOR NO RELOCATION
TRANSFER FOR UPPER MEMORY
(LM BIT 11) (UM BIT 10)
ADD COMMON REASSIGNMENT
STAARN TRA
(LM BIT 10) (UM BIT 11)
ADD LOADING ADDRESS
LM 10 = LM + LADD, LM 11 = LM + CR
UM 10 = UM + CR, UM 11 = UM + LADD
ALPHABETIC IN AC - FORM SYMBOL - LOOK UP IN
SYMBOL TABLE - ADJUST ADDRESS - (USED FOR IF PROCESSING)
(OCTAL DUMP) FIELD SEPARATOR IN 1H AT COMPLETION
FORM SYMBOL
SPECIAL CHARACTER
SEARCH SYMBOL TABLE
ADJUST ADDRESS
NOT SUBSCRIPTED
GET SUBSCRIPT
NEXT CHARACTER TO
SPECIAL SYMBOL
FSERR+3,0,0
(IF) TROUBLE
(LIST) TROUBLE
REFERENCE ADDRESS
CHECKS AC FOR - TO MTCB OTHERWISE
NEXT CHARACTER, WORD, RETURN 1,4 FOR YES OR NO
OTHERWISE PLIST, MQ = + NO, MQ = - FOR YES,
USED FOR IF COMPILING
FORM FIELD
YES ENCOUNTERED
HERE FOR NO (MQ=+)
NEXT CHARACTER
HERE FOR YES (MQ=-)
BIT PATTERN GENERATOR FOR IFS
BPIFZ FOR ZERO, BPIF1 FOR 1
SUBROUTINE FOR COMPILING
IRA = STORING TAG, IRB = NO OF INST TO COMPILE
LC = INITIAL ADD, LCP = PSEUDO INITIAL ADD
MQ = BIT PATTERN, CALL TSX COMPLE,4
RTN = 2,4 WITH IRA INCREMENTED BY -1
COMPLE CLA*
INSTRUCTION TO AC
ADJUST ADDRESS
FOR ADDRESS OF
*(+ OR-) NUMBER
MODIFY STORING TAG
NEXT BIT OF BIT PATTERN
COMPLE,2,1
AND PROGRAM
THIS TAKES NAM AND SUBS, AND STORES BCD PACKED
TO THE RIGHT IN BUF, + 1, + 2 AND COMPILES IN FORMAT
FOLLOWED BY NUMERIC
ADDRESS = COM OF FORMAT TAG
OVFO,1,-NEFMTT+3
FORMAT TOO LARGE
BLANKS AS NEXT FORMAT WORD
BCD SUBS TO AC
TRA FOR NOSUBSCRIPT
SUBSCRIPT WITH)
NSTBA,2,30
LEAVE IF LESS THAN 6 CHAR
UPDATE BUF STORING TAG
RESET CHAR COUNTING TAG
PRECEED SUBSCRIPT WITH (
NAME TO AC
NSTBE,2,30
UPDATE STORING TAG
NSTBEA TXH
SKIP BLANK FOR GREATER THAN 6 CHAR
STORE BLANKS
FILL WITH BLANKS
PRECEED NAME
SAVE WORD COUNT
THIS TAKES 1G AND RIGHT ADJUSTS SYMBOL
LEAVE FOR 6 CHARACTER SYMBOL
TAKES AC (RIGHT ADJ) AND PUTS IN LEADING BLANKS
RESULT IN MQ
TAKES MQ AND CONVERTS TO BCD STORING INDIRECTLY 1,4
COUNTER TEST
MODIFY EXIT
INSTEAD OF
RETURNING TO
OBJECT PROGRAM
INCORRECT IF FORMAT ENCOUNTERED
$ ENCOUNTERED
NEXT CHARACTER
THIS CHECK FOR COMMA AND 77
RESET NEXT CHARACTER
ERROR LOAD
NEXT CHAR. TO AC
SET ERROR EXIT
EXIT SWITCH
RESTOR+1,2
RESTOR+2,4
INSERT STR RETURN
ORIGIN+2) IN LOCATION 2 LATER
AND TRA AS OP CODE IN
3RD COMPILED INSTR.F0G16430
PUT TRA SW
STBL INSTRUCTIONS
FOLLOWED BY
FOR LINK LOADING
PROGRAM FOR EXECUTING REPLACED INSTRUCTIONS ETC
BPSWT1 OCT
BPSWT2 OCT
SEARCH DEBUG TABLE FOR SUBPROGRAM JUST LOADED
SYMBOL TABLE ENTRY
SAVE INDEX
RESTOR+1,2
RESTOR+2,4
NO DEBUG REQUESTED
2S COMP OF NUMBER OF ENTRIES
LEAVE FOR NO ENTRIES
PROGRAM JUST LOADED
INITIALIZE
PROPER TABLE
INITIALIZE
COMPUTE EXECUTION
ADDRESS FOR BEGINNING
OF GENERATED INSTRUCTS
GET EFN AND MAKE TABLE ENTRIES
COMPUTE UPPER + LOWER ERASABLE ADD
BEGINNING (I.E. 77)
GET EFN IN BCD
ILLEGAL EFN
ILLEGAL CARD(77 MUST FOLLOW EFN)
EFN IN BCD
EFN NOT IN SYMBOL TABLE
MULTIPLE SNAPS AT THIS EFN
THE ABSOLUTE EXECUTION
ADDRESS OF THE NEXT
COMPILED INSTRUCTION F0G17990
STO RETURN ADDRESS
PUT ADDRESS OF SNAP EXIT
SAVE SNAP EXIT ADDRESS
SNAP TO SWTABLE ADDRESS
ABSOLUTE LOCATION
OF EFN TO START
FOR LOGICAL
STARTING WITH TZE
FOUND TABLE ENTRY
*-4,1,ITEST-IITEST
NEXT INSTRUCTION
EFNE,1,ITEST-NOADDC
EXAMINE ADDRESS OF STO,STQ,SLW ONLY F0G18300
EFND-1,1,IUPCM+167
F FCN ARG = NO GOOD
BETWEEN L. PROG. DATA
AND 77730=OK
SNAP AT ARGUMENTS TOO
CHECK PREVIOUS FOR CLA-1
(MOST SIGNIFICANT AC)
IF SO EXAMINE LEAST
SIGNIFICANT STO, IF NOT
GO TEST FOR LDQ-3
CHECK NEXT FOR CLA-2
IF NOT SNAP ORIGINAL STO
QTEST CLA*
CHECK PREVIOUS FOR LDQ-3
(MOST SIGNIFICANT MQ)
IF NOT SNAP ORIGINAL STO
CHECK NEXT FOR LDQ-4
IF NOT SNAP ORIGINAL STO
SWTBLE+1,2
REPLACED INSTRUCTION
IN OBJECT PROG
PUT EXIT ADDRESS (FROM OBJECT)
*+3,1,ITEST-NOADDC
ENTRY NEGATIVE
FOR NON-STO,STQ
UPDATE STABLE TAG
START OF COMPILING
COMPILE TRA 2 AS FIRST INSTR
AND NEXT LOCATION TO
PREVENT FLUBS
ADJUST ADDRESSES FOR CNS TESTS
DETERMINE IF DUMP OR TRACE
4 CHARACTERS
EXIT FOR TRACE IF ANYBODY WANTS IT
5TH CHARACTER NUMERIC
MUST FOLLOW N1
CNTCRA,0,0
N3 SPECIFIED
N3 NOT SPECIFIED - ASSUME 1
CNTCRA TSX
CNTCRB LXA
MOVE N1, N2, N3
L(CNI)+3,2
L(CNI)+5,2
INSTRUCTIONS
L(CNI)+4,2
L(CNI)+7,2
COMPILE COUNTER TEST
REMOVE FLUB CATCHER
L(CNI)+10,2
IF COMPILATION
SAVE COMPILING TAG
GET NEXT FIELD
NO IF CLAUSE
VARIABLE IF
INITIALIZE BIT PATTERN
VARIABLE COUNT
NEXT CHARACTER TO AC
SET 4 FOR EXIT FROM ROYCVN
GO CONVERT NUMERIC
COMPARE WITH
FIRST FIVE CHAR OF CTEST
ASSUME VARIABLE
ADJUSTED ADDRESS
GENERATE ZERO BIT
IRA = 5 MINUS (40)
IRA = 4 RPAR (34)
DECPNT,1,2
IRA = 3 DECPT (33)
IRA = 2 PLUS (20)
SET TO CLS
CONVERTED NUMBER
VI NEGATIVE
GENERATE ONE BIT
EXPRESSION
FIRST CHAR OF V2
SET ROYCVN EXIT
ALPHABETIC
GO CONVERT
GO CONVERT
PROCESS VARIABLE V2
ADJUSTED ADDRESS
ADDRESS OF *+4
STORE CONVERTED
) MUST FOLLOW
EXPRESSION
NO SNAP FOR TMI
1 IN BIT PATTERN
0 IN BIT PATTERN
NO SNAP FOR TZE
1 IN BIT PATTERN
0 IN BIT PATTERN
1 IN BIT PATTERN
0 IN BIT PATTERN
BIT PATTERN TO LEFT OF MQ
LOAD COMPILING TAG
REMOVE SAFETY PLUG
NEXT FIELD
COMPILES FIRST FIVE FORMAT WORDS + CAL + TSXS
ZERO CHARACTER COUNT
PLACE SUBPROGRAM
NAME IN FORMAT
LISTAB CLA
CURRENT EFN IN BCD
RIGHT ADJUSTED AND
PRECEEDED WITH BLANKS
STORED IN FMT+3
ADDRESS OF
INITIALIZE FORMAT
STORING TAG
TSX (STH), 4
PZE FORMAT LOCATION
CNTOUT+4,2
SAVE COMPILING TAG
START COMPILING CALLING SEQUENCES
NB = NUMERIC BEGINNING 1) ETC
MOVE TO COMMA AND TRY AGAIN
SPECIAL CHARACTER
VARIABLE TO AC
SEARCH SYMBOL TABLE
MOVE TO COMMA AND TRY AGAIN
ADJUST ADDRESS
RIGHT ADJUST
AND PUT IN NAM
SUBSCRIPT COMING
CHECK FOR PROPER END OF FIELD
NO SUBSCRIPT
GENERATE FORMAT
ADJUSTED ADDRESS
SAVE COMPILING TAG
LISTC+1,0,0
EXIT SWITCH
COMPLETE CALLING SEQUENCE
TSX (FIL), 4
FORMAT TAG
COMPLETE FORMAT STATEMENT
DATA OVERLAP
PUT PROPER
NO OF WORDS GENERATED
CONTROL TO MONITOR
SET SYMBOL TABLE ENTRY COUNTER TO ZERO
TSYMSW NZT
HERE TO LOAD SYMBOL TABLE
NO IN SYMBOL TABLE
RESTOR+1,2
STORE NAME
(20)F0G21700
OF STBL ENTRIES
MODIFY INDEX
FOR FIRST CARD
RESTOR,4,**
RESTOR,4,NESYTB-1
RESTOR AXT
SYMBOL TABLE NAME
SUBSCRIPTED VARIABLE
NEXT FIELD
NUMERIC FIELD
ALPHA FIELD-ILLEGAL SUBSCRIPT
AND STORE IN SUBS
SINGLE CELL COMING
NEXT FIELD
VARIABLE LOCATION
BY 1 AND STORED
S2 MINUS S1
S2 IS LESS THAN S1 AND THAT IS ILLEGAL
DIVIDED BY 6
AND STORED
FORMAT TAG
EXIT+1,1,-NEFMTT+8
FORMAT TOO LARGE
INTEGRAL PART OF DIVISION TO BCD
AND STORED IN FORMAT
PUT NAME IN
LESS THAN 6 CELLS TO SNAP
LISTDA CLA
REMAINDER AFTER DIVISION
NO REMAINDER ( NO. OF CELLS IS DIVISIBLE 6F0G22500
REMAINDER TO BCD
AND STORE IN TEMP
FORMAT ( WORD COUNT)
UPDATE FORMAT TAG
LISTDB SXA
SAVE FORMAT TAG
LOAD COMPILE TAG
BIT PATTERN
ARRAY+14,2
SAVE COMPILING TAG
CHECK FOR PROPER FIELD TERMINATION
CHECK FOR PROPER END OF FIELD
LIST ENTRY GREATER THAN 6 CHARACTERS
IRA, IRB = 0
SEARCH TABLE
NOT IN SPECIAL DUMP TABLE
COMMON DATA DUMP
SUBSCRIPTED COMMON
CHECK END OF FIELD
HERE TO DUMP ALL OF COMMON
NNL WAS NEGATIVE- IE L2 IS LESS THAN L1
NL = NNL/6 + 1 IF REMAINDER
CONVERT TO BCD
FOLLOW BY (
EXIT+1,1,-NEFMTT+2
FORMAT TOO LARGE
SAVE FORMAT TAG
RESET CHAR COUNTER
INSTRUCTIONS
CMDMP+11,2
INSTRUCTIONS
CMDMP+12,2
SUBSCRIPTED COMMON
GET FIRST SUBSCRIPT.
SYMBOL, CONVERT TO SUBSCRIPT
SYMBOL, CONVERT TO SUBSCRIPT
NOT FOLLOWED BY )
LESS THEN S2
INTERCHANGE
SUBSCRIPTS
CHECK END OF FIELD
SPECIAL VARIABLE ILLEGAL.
NOT IN SYMBOL TABLE.
NOT SUBSCRIPTED.
GET NEXT PUNCTUATION.
GREATER THAN LOWEST DATA.
EQUAL LOWEST DATA.
LESS THAN LOWEST, GREATER THEN HIGHEST.
EQUAL HIGHEST DATA.
LESS THAN HIGHEST
SET VI TO NON ZERO
SUBSCRIPTED
NO SUBSCRIPT-CHECK FOR END OF FIELD
INSURE L1,L2
LESS THAN U
INTERCHANGE
RIGHT PARENTHESES ENCOUNTERED
I = -1 ALPHA
GET NEXT FIELD IN BCD
1G = C) XXB-OR 1) 1B
CHECK LEGAL END
SEARCH SYMBOL TABLE
MOVE TO COMMA
ADJUST ADDRESS
PREPARE NAM
FOR FORMAT
GO COMPILE SINGLE CELL
TYPE OF SYMBOL
USE UMC8-2 IF NO PROG DATA
LDQ ADDRESS
EXIT-9,2,1
GO FOR SINGLE CELL
FOR + INSTEAD OF( )
GENERATE FORMAT
UPDATE ADDEND
FOR NORMAL ARRAY
BCD 100000O
BCD 100000A
BLANKS BCD 1
ABLANK BCD 100000
LCLAM1 CLA
LCLAM2 CLA
LLDQM3 LDQ
LLDQM4 LDQ
INSTRUCTION TEST
IITEST OCT
FOR BOOLEA N
NOADDC OCT
LOCATIONS FOR SYMBOL FORMATION ETC
CONVERTED FIELD
+0 = NUMERIC -0 = NON NUMERIC
DATA CONCERNING SYMBOL TABLE (* SUPPLIED BY MONITOR)
LOWER ABSOLUTE PROGRAM DATA
LOCATION COUNTER (P.B + LADD) INITIALLY
UPPER ERASEABLE (REL)
PROGRAM BREAK-1
LOWER ERASEABLE-1 (REL)
LOWER PROG DATA-1 (REL)
* LOWER COMMON ON PROG CARD
ARRAY DUMP
LOWER ERASEABLE-1 (ABS)
LOWER PROGRAM DATA-1 (ABS)
* LOWER ABS COMMON-1
TOTAL ARRAY DMF0G25790
UPPER ERASABLE (ABS)
UPPER ERASABLE (ABS)
PROGRAM BREAK-1 + LOADING ADDRESS
* UPPER ABSOLUTE COMMON
DATA FOR STABLE SUBPROGRAM
SWTBLE BSS
DEC = EXIT
ADD = ENTR TO SNAP
NO OF ENTRIES IN SWTBLE
NO OF EFN FOR A GIVEN SUB-PROG
DEC = TAG ENTRY
,,,,,,,,,0
TABLE OF EFN FOR SNAPS (BCD)
SYMBOL TO REFERENCE ABOVE
,,,,,,,,,0
RETURN ADDRESS FOR CORR EFN
SYMBOL TO REFERENCE ABOVE
EXIT FROM SNAP
COMPILING TAG
CURRENT EFN IN BCD
ADD OF BEGINNING EFN
COMPILED INSTRUCTIONS
L(TR2) TRA
L(STR) STR
COUNTER TEST INSTRUCTIONS
L(CNI) AXT
CNS,(N1-1)0
FORMAT + LIST
BCD 100000/
10 1 S1+5 INITIALLY
BCD 18.7/),
BCD 7(32H0
COUNTI6//1P
ORIGIN+1,4
INSTRUCTIONS FOR PLACING TAPE NO IN AC
0,0,TAPOUT
BPCALT TNX
INSTRUCTIONS FOR COUNTER PRINT
CNTOUT LXA
BCD 118.7/)
INST FOR COMMON DUMP
0 L1 IN ADDRESS
0 L2 IN ADDRESS
1 U IN DEC
BPCMDP OCT
L1 = P.C. + 1 FOR UN-SUBSCRIPTED (LCOMPC+1)
L1 = 77462-S2 + 1 FOR SUBSCRIPT
L2 = ABS LCOM. + 1 FOR UNSUBSCRIPTED (LCOMMN+1)
L2 = ABS UCOM.-S2 + 1 FOR SUBSCRIPT (UCOMMN-S2+1)
U = 77462 FOR UNSUBSCRIPTED
U = 77462-S1 + 1 FOR SUBSCRIPTED
BCD 1COMMON
BCD 1PROGRA
BCD 1ERASAB
BCD 1ERASEA
BCD 1OCTALD
BCD 1BCDDUM
BCD 1DECIMA
FOR ERASEABLE
BCD 100000(
CONVERSION TABLE FOR BCD ADDITION.
6/*-CVRT1,30/CVRT1
6/*-CVRT1-10,30/CVRT1+1
PATCH SPACE FROM HERE TO NDBG
PATCHD CLA
STORE PROGRAM DATA ORIGIN
(20)F0G27471
IN SYMBOL TABLE
(20)F0G27472
(20)F0G27473
PATCH SPACE
(20)F0G27474
TABLES ETC NEEDED FOR SEARCH OF D-TABLES
NO. OF SYMBOLS IN SYMBOL TABLE
ADDRESS=2* NUMBER OF SUBPROGRAMS TO SNAP
STORAGE FOR DEBUG TABLES
RECORD 8 OR 33
BSS CONTROL
ENTBS,,330
ENTRY POINT,,RECORD NO.
ENTRY POINT,,RECORD NO.
MAXIMUM NUMBER OF MISSING ROUTINES
LLIST-NMMSP
LOCATION OF FIRST MISSING SUBROUTINE
BUFSIZ EQU
BUFFER SIZE
PRCBRK EQU
PROG. BREAK IN DEC., COMMON IN ADDRESS
ORGBSS ORG
ENTBSS RFT
IS THERE DEBUG
YES. LOADING TABLES ALREADY CLEARED.
TABL-BOTTOM+1,1
NO. CLEAR TO TOP OF
LOADING TABLES
IS THIS A CHAIN JOB
IS THERE BINARY INPUT
YES, A2 INPUT (TAPE 5)
SET FLAG TO INDICATE BSS
HAS BEEN READ IN.
SET UP TO READ B1.
TAPE NUMBER
IF TAPE 5 SET SIGN MINUS IN ERROR RETURN
*+1,1,(SCHU)
SET UP TO READ 2 BUFFERLOADS INITIALLY
READ LIBRARY
READ INTO ALTERNATE BUFFERS
-BUFSIZ-1,1
BUF2CW,1,(RBEP)
1ST TIME THROUGH READ 2ND BUFFERLOAD
GO BACK TO FILL OTHER BUFFER
(SCHU)+MINTAP WAS PREVIOUS READ AN END OF FILE.
HERE TO START CARD PROCESSING (KNOWN TO BE BINARY AND
NON-BLANK)
REMOVE COL BIN BITS FROM WORD COUNT
NO WORD COUNT. TEST FOR ABS TRANSFER CARD. F0H00690
ILLCD,2,32
SELF LOADER ILLEGAL
PROGRAM CARD OR SYMBOL TABLE
NOT PROG CARD
ABSOLUTE CARD
CONTROL CARD PUNCH IN COL 13
INCREASE WORD COUNT FOR REL CARD
THIS IS CONTROL CARD.
IS THERE DEBUG.
PROGRAM BREAK
ADDED TO ABS LOC COUNTER
GET NEXT CARD
SYMBOL TABLE.
IS THIS A FIRST OR CONTINUATION PC
CONTINUATION
FIRST PC,INITIALIZE 8L+8R
(31)F0H00920
(31)F0H00925
IS THERE DEBUG.
IS SIGNAL SET TO SKIP
YES, GET NEXT CARD
IGNORE CHECKSUM
COMPUTE CHECKSUM
RESTORE IR1
CHECKSUM NO GOOD
RESTORE WORD COUNT
PROGRM CARD
ABSOLUTE CARD
LOAD REL CARD
COMPARE RELATIVE LOAD
ADDRESS WITH PROGRAM BREAK
HIGHER,LOADS COMMON
COMPUTE LOAD ORIGIN
ABS LOADING ADDRESS
TO DETERMINE DEC RELOCATION
ADDRESS RELOCATION
RESTORE WORD COUNT
GET NEXT CARD
ILLCD,2,22
WORD COUNT GREATER THAN 22 ILLEGAL
ABSCD1 CLA
ABSCD2 STO
LOAD ABSOLUTE CARD
ABSCD1,2,1
IS THIS ABSOLUTE TRANSFER CARD.
NO. IGNORE CARD WITH ZERO WORD COUNT.
STORE ABSOLUTE TRANSFER ADDRESS.
GET NEXT CARD.
PROCESS PROGRAM CARDS
WORD COUNT ON PROGRAM CARD
(25)F0H01710
IS THIS A CONTINUATION PC
(25)F0H01720
YES, FIRST ENTRY POINT NAME IS 8L
(25)F0H01730
FIRST PC, ENTRY PT NAMES START AT 7L
(25)F0H01740
(25)F0H01750
TESTPC TRA
TEST PC FOR UNIQUE ENTRY PTS.
(31)F0H01820
(31)F0H01830
(31)F0H01840
(31)F0H01850
IS THIS LIBRARY SEARCH
(31)F0H01860
(31)F0H01870
(31)F0H01880
IS THERE DEBUG.
TAG FOR STORING LOC. OF VECTOR
TAG = TXL VEC, 2, **
DEC = NO ENTRIES + OLD ENTRIES
*+1,2,TABL
(31)F0H02050
(31)F0H02060
MULTIPLE PC,8L IS NAME
(31)F0H02070
LOCATION OF THIS VECTOR
LOAD 4TH WORD OF 1ST PROGRAM CARD
(31)F0H02091
IS EVEN LOADING REQUIRED,NO.
YES,IS ADDRESS ALREADY EVEN..
NO, ADD ONE
AND STORE NEW LOAD ADDRESS
3RD WORD OF FIRST PROGRAM CARD
(31)F0H02130
CLEAR TAG FIELD.
STORE NO IN VECTOR
PROGRAM BREAK
PROGRAM BREAK
CLEAR EVERYTHING BUT TAG FIELD.
PROGRAM TOO LARGE.
(31)F0H02260
IF DEBUGGING STORE
LOWER COMMON ON PROGRAM CARD
DETERMINE COMMON DATA ASSIGNMENT
RETAIN ADDRESS ONLY
(33)F0H02310
IF DEBUGGING STORE LOWEST
ABSOLUTE COMMON-1 IN LCOMMN
PROGRAM AND DATA OVERLAP
PC PROCESSED, RESET 8L
(31)F0H02401
(31)F0H02403
PROGRAM AND TABLES OVERLAP
MODIFY IRA FOR MULTIPLE PROGRAM CARD
SET MULPC TO NON ZERO
GET NEXT CARD
ROUTINE FOR ADJUSTING REL FIELD WHILE LOADING
UM WITH 10 BIT = LM WITH 11 BIT = ADD + CR
LM WITH 10 BIT = UM WITH 11 BIT = ADD + BASE
PROGRM SUB
ROUTINE TO SEE IF PROGRAM ALREADY IN CORE.
RETURNS 1,4 IF ALREADY LOADED OR 2,4 IF NOT
OMIT CHECK FOR NO ENTRIES
PROGRAM ALREADY LOADED
CKPL2,4,-2
SKIP CARDS TO NEXT PROGRAM CARD
SET SWITCH TO SKIP
(25)F0H03050
SET SWITCH FOR CONTINUATION PC
(25)F0H03060
ROUTINE TO CHANGE (STH), (TSH), (EXE) TO (STHM), (TSHM), (EXEM)
START PASS 2 -REPLACE BCD TRANSFER VECTOR BY TTR
EOF WAS HIT ON LOGICAL 4
ARE THERE DEBUG CARDS
CLEAR LOCATION OF FIRST MISSING ROUTINE
SET IR B FOR PASS2
STORE TRA ADDRESS
BCD OR NO TRA VECTOR
IN VECTOR TO IRC
LOCATION OF VECTOR
BCD NAME IN VECTOR
CHANGE NAMES IF NECESSARY.
NXTNAM CAS
SAVNME,1,2
NXTNAM,1,-2
SAVNME STO
MISSING ROUTINE
G2,0,NMMSP
ALREADY IN
TOO MANY MISSING ROUTINES
STONAM CLA
TIXVEC TIX
TRANSFER IF NO MAIN PROGRAM
ARE THERE ANY MISSING ROUTINES
(LOAD),4,1
GO TO LIBRARY SEARCH
TOPRG LDI*
IS THERE DEBUG.
SAVE UPPER PROGRAM AND
LOWER COMMON FOR WD I-O
CHAIN LINK
WRITE AND PRINT TAPE STATISTICS
KILL ONLINE TAPE STATISTICS
FIRST STATISTICS LINE
ON RETURN, IR A CONTAINS ADDRESS +1
IR B CONTAINS ADDRESS OF TAPNO
TAPNO=PZE,,NUMBER OF TAPES
GET NUMBER OF TAPES IN SYSTEM.
PUT CURRENT TAPE NUMBER
TO CURRENT TABLE ENTRY
CONVERT TO DECIMAL
STORE AS LOGICAL TAPE NUMBER
GET READS/WRITES FOR LOGICAL TAPE
FROM TERST OR TERRT
STORE READS/WRITES IN
BUFFER, GET NOISE READ/WRITTEN
STORE THAT IN BUFFER
BUMP TO READ COUNTS
REPEAT ONCE
PREPARE ANOTHER
GET READ OR WRITE ERRORS
STORE IN BUFFER
BUMP TO READ ERRORS
REPEAT ONCE
GET IOPUN ENTRY
NUMBER OF POSITIONING ERRORS.
ISOLATE COUNTS
NO DATA FOR THIS TAPE. GET NEXT TAPE.
SAVE NUMBER OF TAPES PROCESSED.
CONVERT TAPE STATISTICS FROM
BINARY TO BCD.
STORE IN OUTPUT BUFFER.
STAT10 LDQ*
OBTAIN UCB WORD ONE
CONVERT TO ENGLISH
STORE IN OUTPUT LINE
STAT11 CLA
CONVERT AND STORE NO. OF
POSITIONING ERRORS IN
OUTPUT BUFFER.
STAT16 CLA
WRITE AND PRINT TAPE
STATISTICS FOR ONE LOGICAL TAPE.
STAT12 TXI
STAT13 TXL
STAT2,1,**
SIGNAL SIGN-ON THAT TAPE
STATISTICS HAVE BEEN WRITTEN
COMMENT EXECUTION
BACK A FILE ON SYSTAP
BSFCW,,(SKBP)
8,1,(CHKU)
NORMALLY CLOSES OUT ONLY LOGICAL 1-7
WAS SYSTEM IN 2ND FILE
YES, STACK ANOTHER BACKSPACE
BSFCW,,(SKBP)
IS IOP TO REMAIN IN
NO, RESTORE AVAILABILITY
CHAIN BEFORE IT'S TOO LATE
LOAD TRANSFER TO OBJECT TIME DEBUG
IS THERE DEBUG..
YES, INITIALIZE STR LOCATION
TOPMEM-4,1,TOPMEM-4-TABL
CLEAR OUT MEMORY FROM BOTTOM OF LOADING TABLES
TOPMEM-3,1
TOPMEM-4,1,1
GO GO GO GO GO GO GO GO GO GO GO GO GO GO
CNVT1,4,-6
PUT CHAIN LINK ON TAPE
*+1,1,-BOTTOM+1
PUT WORD COUNT OF LINK IN CONTROL WORD
WHICH TAPE DOES THE LINK GO ON
TAPE 2, 3, OR 4
ANYTHING ELSE MAKE 4
DOES THIS TAPE HAVE A PREVIOUS LINK
REWND,,(SKBP)
WRITE THE LINK
LNKCW+4,1,(WBNC)
WTLKN+1,1,3
POSITION SYSTEM IN FRONT OF DEBUG RECORD
BSRCW,,(SKBP)
(LOAD),4,1
START AGAIN FOR NEXT LINK
*SET TO 9F32 WHEN IN 2ND FILE
WRITE EOF ON CHAIN LINK TAPE
REWND,,(SKBP)
IS THERE A LINK ON THIS TAPE
YES, SET UP TO WRITE EOF
AND REWIND IT
WHICH TAPE HAS THE FIRST LINK
GET THE FIRST LINK
LNKCW+4,1,(RBNC)
TRANSFER FOR FIRST RECORD
WAS RECORD READ IN UP TO PROGRAM BREAK
CHAIN JOB- CLOSE OUT TAPE 8
FIRST WORD (LABEL)
IF IT CHECKS READ IN THE LINK
COMMENT CANT FIND 1ST LINK
AND GO TO MACHINE ERROR RECORD
CHAIN,,(TPER)
WHICH TAPE HIT THE EOF.
SYSTEM LIBRARY
LIBRARY TAPE
BACKSPACE OVER IT
(26)F0H06190
EITHER A2 OR B1
SET TO READ B4
CHAIN JOB - B4 POSITION OK
POSITION B4 AFTER FILE MARK
SKPCW,,(SKBP)
WRITE COMMENTS
WRITE MESSAGE OFF LINE
COMCW,,(WDNC)
COMNT1 ZET
PRINT MESSAGE ON LINE
BACKSPACE A RECORD AND SKIP A FILE ON B4
BSRCW,,(SKBP)
SKPCW,,(SKBP)
CHECK IF END MARK
LBLCW,,(RBEC)
(SCHU)+MBNTAP
EMPTY FILE
IF NOT END MARK SKIP ANOTHER FILE
BSRCW,,(SKBP)
FOR TAPE ERRORS
WAS IT WRONG MODE READ
WAS ERROR WRONG MODE READ
(31)F0H06780
WAS IT A BCD CARD ON A2.
BUF1CW,,(RDEC)
(SCHU)+MINTAP LET'S MAKE SURE IT WASN'T AN END OF FILE
IS THIS CARD BLANK
YES, IGNORE IT
WAS IT *DATA
IS THIS CHARACTER BLANK
NO MORE THAN 4 CHARACTERS
IS THIS THE NEXT CHARACTER OF DATA
TREAT DATA CONTROL CARD LIKE EOF
COMMENT ILLEGAL CARD
COMMENT EXECUTION DELETED
MAKE SURE BSS BIT IS ON FOR ERROR RECORD
GO TO SIGN ON VIA SOURCE ERROR RECORD
(31)F0H07260
LET IO PACKAGE GO TO MACHINE ERROR RECORD
COMMENT NO MAIN PROGRAM
GO TO SIGN ON
INCORRECT CHECKSUM
CONVERT MQ DECREMENT TO OCTAL
REGAIN MESSAGE PARAMETER
AND GO TO SIGN ON
COMMENT TOO MANY MISSING ROUTINES
AND GO TO SIGN ON
COMMENT PROGRAM AND COMMON OVERLAP
AND GO TO SIGN ON
COMMENT PROGRAM AND TABLES OVERLAP
AND GO TO SIGN ON
LOADING COMMON
AND GO TO SIGN ON
*INITIAL LOADING ADDRESS OF NEXT PROGRAM
*PROGRAM BREAK
*COMMON RELOCATION
*LOWEST COMMON USED
*NON ZERO DURING LIBRARY SEARCH
*NON ZERO AFTER PROGRAM CARD ENCOUNTERED
*NON ZERO IF SET TO SKIP PROGRAM
*NON ZERO WHEN LOADING FROM B4
* SUBPROGRAM NAME
SKIP FILE CONTROL WORD FOR IO PACKAGE
SKIP RECORD CONTROL WORD FOR IO PACKAGE
BACKSPACE RECORD CONTROL WORD FOR IO
BACKSPACE FILE CONTROL WORD FOR IO
BACKSPACE 1 FILE AND 1 RECORD CW.
REWIND CONTROL WORD FOR IO PACKAGE
LBLCW IORT
CONTROL WD FOR READING CHAIN LABEL
LNKCW IOCP
CONTROL WORDS FOR CHAIN LINK
LKRCW IORT
PRCBRK,,**
*NON ZERO IF A CHAIN LINK HAS BEEN
WRITTEN ON CORRESPONDING TAPE
ALL7NS SVN
44,41,3,41
NOSTON PZE
NOSTOF PZE
9,0LOGICAL
NOI F0H08150
9,SE RECORDS
TOTAL REDUNDANCIES
POSITION F0H08160
COMST1 IORT
WRITIN F0H08190
ERRORS F0H08200
COMST2 IORT
COMEX IORT
EXECUTION DELETED
SPACE+1,,4
5,0 CHECKSUM ERROR.
CARD ORIGIN
7, PROGRAM.
LOADS ABOVE PROGRAM BREAK.
COMSM+4,,11
COMCD IORT
5,0 ILLEGAL CARD IN BINARY DECK
COMPR IORT
4,0 MAIN PROGRAM MISSING
COMSN IORT
5,0 OVER 50 SUBROUTINES MISSING
COMPD IORT
5,0 PROGRAM AND COMMON OVERLAP
COMPT IORT
6,0 PROGRAM AND LOADING TABLES OVERLAP
COMLK IORT
5,01ST LINK NOT LOADED CORRECTLY
BUF2CW IORT
*+BUFSIZ+2,,BUFSIZ
BUF1CW IORT
*-BUFSIZ,,BUFSIZ
USE INPUT BUFFER AS
TEMPORARY STORAGE
FOR COUNTS PRINTED
IN TAPE STATISTICS
(FIRST 18 WORDS ARE
USED FOR LINE IMAGE)
NDBSS1 EQU
PATCH5 ZET
FIRST PROGRAM CARD....
(31)F0H08646
(31)F0H08647
(31)F0H08648
**NOT USED
(31)F0H08649
PATCH2 ZET
IS PUNCH TAPE BEING LOADED
(25)F0H08650
(31)F0H08651
NO, CHECK ENTRIES AGAINST THOSE IN TABL(25)F0H08652
BACKSPACE OVER EOF
(26)F0H08653
BSRCW,,(SKDP)
ON INPUT TAPE
(26)F0H08654
(26)F0H08655
(26)F0H08656
INITIALIZE
(31)F0H08660
(31)F0H08661
(31)F0H08662
(31)F0H08663
(31)F0H08664
PATCH3 ZET
ANY UNIQUE ENTRY POINTS
(31)F0H08665
YES,RESET SKIP SWITCH
(31)F0H08666
NO IS THIS A MULTIPLE PC
(31)F0H08667
(31)F0H08668
SKIP PROGRAM
(31)F0H08669
1STCHN EQU
CURCHN EQU
RECORD 9 OR 34
LIBRARY SEARCH
ENTLS,,340
ENTRY POINT,,RECORD NO.
ENTRY POINT,,RECORD NO.
RECORD 9 OR 34
LIBRARY BLOCKING FACTOR
LIBSIZ EQU
WORDS PER LOGICAL LIBRARY RECORD
FMR-227-LBLK*LIBSIZ
LBLK*LIBSIZ
INPUT AREA FOR BLOCKED LIBRARY
(FIRST 44 LOCATIONS ARE OVERWRITTEN)
4,0LIBRARY ENTRY POINTS,
3, CHAIN 00000 ,
ENTLS LDI*
WHICH TAPE HAS THE LIBRARY
OTHER, BACK A RECORD ON SYSTAP
BSRCW,,(SKBP)
REWIND LIBT
REWND,,(SKBP)
(LIBT),,-1
IS SYSTEM TAPE IN 2ND FILE
NO, SET TO SPACE 2 FILES
SPACE TO LIBRARY
SKPCW,,(SKBP)
IS THIS A CHAIN JOB
YES, FORM LABEL FOR HEADING
CONVERT RECORD NUMBER TO DECIMAL
SET IN OUTPUT LINE
PUT TAPE NUMBER IN MESSAGE
MESSAGE LENGTH
COMMENT ROUTINES REQUIRED
COMLS,,(WDNP)
SET LOAD ADDRESS FOR LIBRARY
WHEN ON DISK OR HYPER
CODING UP TO HERE OVER WRITTEN BY INPUT BUFFER
FOR LINE COUNT
20 WORDS (TEN NAMES) PER LINE
PLACE NAMES IN BUFFER
WRITE LINE
LINCW,,(WDNC)
GTFMR-1,2,1
FOR NEXT LINE
WRITE LAST LINE
LINCW,,(WDNC)
COMPLEMENT OF NUMBER OF MISSING ROUTINES
INDICATE LIBRARY SEARCH IN PROGRESS
SET TO READ LIBRARY TAPE
*+1,1,(SCHU)
ROUTINE READS BLOCKED RECORDS FROM LIBRARY TAPE
AND MOVES ONE CARD IMAGE AT A TIME TO IM
CKBLK+1,1,LBUF IS THIS FIRST CARD OF BLOCK
CHECK READ FOR FIRST OF BLOCK
**,,(CHKU)
MOVE NEXT CARD TO IM
*-3,4,-LIBSIZ
*+1,1,LIBSIZ
SET FOR NEXT CARD
LNXT,1,LBUF+LBLK*LIBSIZ-1 WAS IT LAST CARD
YES, START READING NEXT BLOCK
BLKIO,,(RBEP)
(LIBT),,-1
RESET TO PICK UP FIRST CARD OF BLOCK
SET BUFFER SWITCH
AFTER 1ST TIME, TRA TEOF
1ST TIME THROUGH GO BACK TO MOVE 1ST CARD $F0I00983
NEXT CARD TO BE MOVED
BLKIO IOCPN
IGNORE DUMMY WORDS
LBUF,,LBLK*LIBSIZ READ LIBRARY
ENTER HERE FOR LIBRARY PROGRAM CARD
IS THIS A CONTINUATION PROGRAM CARD
YES, SET FOR 8L NAME
WERE WE LOADING A PREVIOUS ROUTINE
CHECK TRANSFER VECTOR OF LAST ROUTINE LOADED
NUMBER IN TR. VEC. OF ROUTINE JUST LOADED
TRANSFER IF NO VECTOR
TRANSFER VECTOR LENGTH
PLUS LOAD ADDRESS OF PROGRAM
TO LOCATE TRANSFER VECTOR
NAME IN VECTOR
CHECK FOR PREVIOUS LOADING
ALREADY LOADED
IS NAME ALREADY IN MISSING LIST
LSA1A,4,-1
LSA1A,4,-1
GET NEXT NAME IN VECTOR
EXAMINE PROGRAM CARD FOR NAMES OF MISSING ROUTINES
ANY MORE MISSING
WAS THERE AN EOF IN LIBRARY
(31)F0I01280
NUMBER IN TRANSFER VECTOR
RESTORE IR 2
REDUCE WORD COUNT BY 2
NUMBER OF MISSING ROUTINES
LOOK FOR PRIMARY NAMES FIRST
MISSING NAME
NAME ON PROGRAM CARD
LOAD THIS ROUTINE
REMOVE NAME FROM LIST OF MISSING ROUTINES
SET FOR NEXT NAME ON PROG CARD
WAS ENTRY FOUND
YES, GO PROCESS PROGRAM CARD
NO, IS THIS FIRST PROGRAM CARD
NO,READ NEXT CARD
(31)F0I01483
YES,SET SKIP
(31)F0I01484
(31)F0I01485
(31)F0I01486
CHANGE TMI TO TPL OR TPL TO TMI
HAVE WE LOOKED AT SECONDARY NAMES YET
IS THIS A CONTINUATION PROGRAM CARD
YES, ADJUST FOR 8L NAME
NO, REDUCE WORD COUNT
PACK AND COUNT MISSING ROUTINES
RESTORE WORD COUNT
(31)F0I01671
NO, GO PROCESS P.C.
(31)F0I01673
(31)F0I01674
HERE WHEN THERE ARE NO MORE MISSING ROUTINES
WHICH TAPE HAS THE LIBRARY
TRANSFER IF SYSTEM TAPE
REWND,,(SKBP)
(LIBT),,-1
GO TO LOADING PASS 2
BACK SYSTEM OVER LIBRARY
BSLCW,,(SKBP) AND LIBRARY SEARCH.
HERE FOR END OF FILE IN LIBRARY
BACK OVER FILE MARK
BSFCW,,(SKBP)
(LIBT),,-1
WERE WE LOADING
YES, FINISH UP
IS LOWER LEVEL FLAG ON
NO, THERE ARE MISSING ROUTINES
YES, BACK OVER LIBRARY FOR ANOTHER PASS
BSFCW,,(SKBP)
(LIBT),,-1
LIBRARY ON 1, GET OVER FILE MARK
SKPCW,,(SKBP)
COMMENT MISSING ROUTINES
LIST THEM AND GO TO SIGN ON
TEMPORARY STORAGE FOR 8 LEFT OF PC
TEMPORARY STORAGE FOR 8 RIGHT OF P.C.
*NON ZERO WHILE LOADING LIBRARY ROUTINE
*NON ZERO WHEN LOWER LEVEL NAMES ADDED
*NON ZERO WHEN EOF IN LIBRARY
LINCW IORT
3,0MISSING ROUTINES
STORE IN LIST OF MISSING ROUTINES
MMSNG,4,-NMMSP TRANSFER IF TOO MANY MISSING
TURN ON LOWER LEVEL FLAG
PBREAK EQU
ORIGIN EQU
LOADING TABLES FROM HERE DOWN
TABL-ENTWH+1
(31)F0I02300
(31)F0I02301
PATCH SPACE FROM HERE TO NDLS
(25)F0I02303
This site conforms to the following standards:}

我要回帖

更多关于 integral part 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信