$JOB ASSEMBLY OF MONITOR, COMPILER SECTIONS 1 THROUGH 6 OF $00000010 $* FORTRAN II PROCESSOR, 7090-FO-928 00000020 $* VERSION 3, MODIFICATION LEVEL 35 (35)00000030 $EXECUTE IBSFAP $00000050 * 32K 709/7090 FORTRAN ASSEMBLY PROGRAM MACRO-FAP F0D00000 * FAP F0D00010 * 32K 709/7090 FORTRAN ASSEMBLY PROGRAM MACRO-FAP F0D00020 COUNT 10000 F0D00030 TITLE F0D00040 ABS F0D00050 SST FORTRAN $F0D00060 HEAD 4,5 COMMON TO PASS ONE AND TWO F0D00070 REM PARAMETERS VARIABLE AT ASSEMBLY TIME F0D00080 REM F0D00090 INPREM SYN 0 NUMBER OF WORDS PRECEDING PACKED RECORD F0D00100 INPRCL SYN 16 LENGTH OF INTERMEDIATE RECORD F0D00110 INPBKL SYN 16*INPRCL+INPREM LENGTH OF PACKED INTERMEDIATE BUFFER F0D00120 UPDRCL SYN 14 LENGTH OF UPDATE INPUT/OUTPUT RECORD F0D00130 UPDBKL SYN 16*UPDRCL LENGTH OF UPDATE INPUT/OUTPUT BUFFER F0D00140 TOPTAB SYN BOTIOP-1 TOP OF AVAILABLE TABLE BUFFERS F0D00150 BOTBUF SYN TOPTAB-6*UPDBKL-2*INPBKL-214 F0D00160 BOTTAB SYN BOTTOM+7900 LOWER LIMIT FOR DATA TABLE SPACE F0D00170 REM F0D00180 M SYN 1 TABLE FACTORS F0D00190 N SYN 1 F0D00200 LOPTBM SYN 2048 MAXIMUM LENGTH OF MACHINE OPERATION TABLE F0D00210 LMXTBL SYN 1000*M/N MACRO EXPANSION TABLE LENGTH F0D00220 LLITBL SYN 500*M/N*2 LITERAL TABLE LENGTH F0D00230 LTVTBL SYN 250*M/N TRANSFER VECTOR TABLE LENGTH F0D00240 LSMTBM SYN BOTBUF-LLITBL-LTVTBL-BOTTAB F0D00250 REM MAXIMUM LENGTH OF SYMBOL AND REF TABLES F0D00260 LUDTBM SYN LSMTBM/100 MAXIMUM LENGTH OF UNDEFINED SYMBOL TABLE F0D00270 REM F0D00280 REM F0D00290 T EQU 16 MAXIMUM NUMBER OF LOGICAL TAPES IN SYSTEM F0D00300 C EQU 4 MAXIMUM NUMBER OF DATA CHANNELS IN SYSTEM F0D00310 REM C MUST BE A MULTIPLE OF 2 F0D00320 REM F0D00330 EXPRR SYN 1 SENSE LIGHT FOR ERROR ON EXPRESSION F0D00340 EXPND SYN 2 SENSE LIGHT FOR END OF EXPRESSION F0D00350 FLDND SYN 4 SENSE LIGHT FOR END OF VARIABLE FIELD F0D00360 REM F0D00370 TDMSK BOOL 000001 FLAG FOR TYPE D SENSE OPERATION F0D00380 VLMSK BOOL 000002 FLAG FOR VARIABLE LENGTH OPERATION F0D00390 TKMSK BOOL 000004 FLAG FOR TYPE K DISC COMMAND F0D00400 9OMSK BOOL 020000 FLAG FOR OPERATIONS RESTRICTED TO 709/90 F0D00410 04MSK BOOL 040000 FLAG FOR OPERATIONS RESTRICTED TO 704 F0D00420 TTL COMMON SUBROUTINES, CONSTANTS AND ERASABLE F0D00430 LBL 9F04,X F0D00440 ORG SYSCUR $F0D00450 BCI 1,9F0400 $F0D00460 ORG (LODR) $F0D00470 TXI START,,40 ENTRY POINT,,RECORD NUMBER F0D00480 REM F0D00490 ORG BOTTOM-7 LOAD INFORMATION FOR MACHINE ERROR RECORD $F0D00494 PZE INRECT+1,,4 ORIGIN OF REC. COUNT TABLE,,LENGTH $F0D00495 REM F0D00500 ORG BOTTOM F0D00520 REM F0D00530 REM TRANSFER VECTOR F0D00540 REM F0D00550 CHANS PZE C NUMBER OF CHANNELS IN SYSTEM F0D00560 SYSAST PZE T NUMBER OF TAPES ASSIGNED TO SYSTEM F0D00570 SYSTPS PZE 7 NUMBER OF TAPES RESERVED TO MONITOR $F0D00580 REM F0D00590 REM ERASABLE INFORMATION TRANSMITTED BETWEEN PASSES F0D00600 MAINPF PZE ,,1 FLAG FOR MAIN PROGRAM (ZERO IF SUBPROGRAM)F0D00610 ABSFLG PZE ** FLAG FOR ABSOLUTE ASSEMBLY F0D00620 ONLCFG PZE ** FLAG FOR ONLINE COLUMN BINARY CARDS F0D00630 OFLCFG PZE ** FLAG FOR OFFLINE COLUMN BINARY CARDS F0D00640 CRDFLG PZE ** FLAG FOR ONLINE CARDS F0D00650 LBLFLG PZE ** FLAG FOR OFFLINE CARD LABEL AND SERIAL F0D00660 IPTFLG PZE ** FLAG FOR UPDATE INPUT TAPE F0D00670 OPTFLG PZE ** FLAG TO WRITE UPDATE OUTPUT TAPE F0D00680 PAKFLG PZE **,,** FLAG TO UNPACK UPDATE OUTPUT TAPE F0D00690 DELFLG PZE ** FLAG TO DELETE ASSEMBLY F0D00700 SEPFLG SVN -1,-1,-1 FLAG FOR STANDARD ERROR PROCEEDURE F0D00710 REM SET TO PZE BY 9F04FLOW F0D00720 REM TO DELETE STANDARD ERROR PROCEDURE F0D00730 LITSIZ PZE 22,,** LOG LLITBL,,LITERAL TABLE COUNT F0D00740 REM (LITERAL TABLE LIMITED TO 1024 ENTRIES) F0D00750 PRGBK PZE ** CURRENT PROGRAM BREAK F0D00760 PROLG PZE ** LENGTH OF VECTOR, LINKAGE DIRECTOR F0D00770 REM F0D00780 REM ERASABLE INFORMATION RESET BETWEEN PASSES F0D00790 CHRCTR PZE NEXT CHARACTER IN VARIABLE FIELD F0D00800 RESIDU PZE REMAINDER OF NEXT WORD IN VARIABLE FIELD F0D00810 UPCTR PZE -207,,2 COMMON STORAGE COUNTER,,RELOCATION BIT F0D00820 CDCTR PZE ** ABS CARD ORIGIN COUNTER F0D00830 LOCTR PZE **,,1 PROGRAM COUNTER,,RELOCATION BIT F0D00840 ADDRS PZE **,,1 DEFINITION OF SYMBOL,,RELOCATABLE FLAG F0D00850 OPCOD PZE OP FIELD (CC 8 - 13) F0D00860 DEC ,,,,,,,,, MULTIPLE HEAD CHARACTERS (PRECEDE BHEAD) F0D00870 BHEAD PZE HEADING CHARACTER F0D00880 THEAD PZE HEADING CHARACTER PRECEDING $ F0D00890 SYMB2 PZE HIGH ORDER SIX CHARACTRS ALPHAMERIC FIELD F0D00900 SYMBL PZE LOW ORDER SIX CHARACTERS ALPHAMERIC FIELD F0D00910 VFDFL PZE LOW ORDER HALF OF VARIABLE FIELD F0D00920 PZE HIGH ORDER HALF OF VARIABLE FIELD F0D00930 BINRY PZE 36 BIT BINARY INSTRUCTION, DATA WORD F0D00940 NERAS PZE INTEGER FIELD F0D00950 XERAS PZE EXPONENT (E) FIELD F0D00960 BERAS PZE BINARY (B) FIELD F0D00970 ERASE PZE GENERAL ERASABLE F0D00980 OFLGS PZE FLAGS FOR DECODING OF MACHINE INSTRUCTION F0D00990 VRFLD PZE **,,** CHARACTER COUNT,,WORD COUNT F0D01000 INDFG PZE ** FLAG FOR INDIRECT ADDRESS OP CODE F0D01010 RBITS PZE ** RELOCATION BITS FOR FIELD F0D01020 INDIC PZE **,,** RELOCATION BITS FOR WORD F0D01030 DUPCT PZE ,,** NUMBER OF ITERATIONS IN RANGE OF DUP CARD F0D01040 PZE ** PROGRAM COUNTER AT ENTRY INTO RANGE F0D01050 PZE ** CARD COUNTER AT ENTRY INTO RANGE F0D01060 DUPFG PZE ** FLAG TO UNBLOCK INTERMEDIATE TAPE F0D01070 SKDUP MZE ** RANGE OF DUP TO BE BACKSPACED F0D01080 TVFLG PZE ** FLAG FOR NAME IN TRANSFER VECTOR F0D01090 OPRFG PZE ** FLAG FOR UNDEFINED OPERATION F0D01100 VFDRB PZE ** NUMBER OF BITS REMAINING IN WORD F0D01110 VFDTB PZE ** TOTAL BIT COUNT IN VAR FIELD OF VFD CARD F0D01120 VFDFB PZE ** FIELD BIT COUNT IN VAR FIELD OF VFD CARD F0D01130 ELMEQ PZE ** VALUE OF ELEMENT F0D01140 ELMUN PZE ** NUMBER OF SYMBOLS IN ELEMENT F0D01150 ELMUF PZE ** FLAG FOR SYMBOLS IN ELEMENT F0D01160 REM 0 ABSOLUTE F0D01170 REM -1 COMMON F0D01180 REM +1 RELOCATABLE F0D01190 TRMEQ PZE ** VALUE OF TERM F0D01200 TRMUN PZE ** NUMBER OF SYMBOLS IN TERM F0D01210 TRMUF PZE ** FLAG FOR SYMBOLS IN TERM F0D01220 VAREQ PZE ** VALUE OF EXPRESSION F0D01230 VARUC PZE ** NUMBER OF COMMON SYMBOLS IN EXPRESSION F0D01240 VARUR PZE ** NUMBER OF RELOCATABLE SYMBOLS IN EXPRSSN F0D01250 LINKG PZE ** LOCATION OF LINKAGE DIRECTOR F0D01260 9LPMD PZE ** FLAG FOR BINARY CONTROL CARD FORMAT F0D01270 FULMD PZE ** FLAG FOR BINARY CARD FUL FORMAT F0D01280 BOLMD PZE ** FLAG FOR BOOLEAN FIELD F0D01290 DUPMD PZE ** FLAG FOR RECORD WITHIN RANGE OF DUP F0D01300 ETCMD PZE ** FLAG FOR FOLLOWING CARD A CALL OR VFD ETC F0D01310 FCFLG PZE ** FLAG FOR FIRST CARD GROUP COMPLETED F0D01320 SCNBC PZE ** FLAG FOR BOOLEAN COM F0D01330 SCNBE PZE ** FLAG FOR BOOLEAN ERA F0D01340 SCNFC PZE ** FLAG FOR FIRST CHARACTER IN ELEMENT F0D01350 VFDPF PZE ** MEDAL FOR 36 BIT VFD F0D01360 VFDMD PZE ** FLAG FOR VFD CARD F0D01370 VFDHF PZE ** HOLLERITH FIELD FLAG F0D01380 VFDOF PZE ** OCTAL FIELD FLAG F0D01390 NOGOF PZE ** FLAG FOR ASSEMBLY ERROR F0D01400 TYPAF PZE ** FLAG FOR TYPE A 0 00000 0 00000 INSTRUCTN F0D01410 TYPCF PZE ** FLAG FOR TYPE C VARIABLE LENGTH INSTRUCTN F0D01420 REM OR TYPE K WITH HIGH ORDER COUNT FIELD F0D01430 TYPDF PZE ** FLAG FOR TYPE D 0 00000 000000 INSTRUCTN F0D01440 TYPKF PZE ** FLAG FOR TYPE K 00 0000 0 00000 COMMAND F0D01450 OPFLG PZE ** FLAG FOR OP DEFINITION PSEUDOOPERATION F0D01460 UNL1F PZE ** PRELIMINARY FLAG TO SUSPEND LISTING F0D01470 UNLSF PZE ** FLAG TO SUSPEND LISTING F0D01480 TITLF PZE ** FLAG TO SUSPEND LISTING OF GENERATED DATA F0D01490 LBLFG PZE ** BINARY CARD NUMBER LISTING FLAG F0D01500 PRTFG PZE ** FLAG FOR ONLINE PRINTING OF ONE LINE F0D01510 PRTF1 PZE ** PRELIMINARY FLAG FOR ONLINE PRINT F0D01520 DCNFG PZE ** FLAG FOR DECIMAL POINT IN DECCV F0D01530 DCXFG PZE ** FLAG FOR DECIMAL EXPONENT (E) IN DECCV F0D01540 DCBFG PZE ** FLAG FOR BINARY EXPONENT (B) IN DECCV F0D01550 PRTIF PZE ** FLAG FOR MACHINE INSTRUCTION IN PRINT F0D01560 704FG PZE ** FLAG FOR ASSEMBLY IN 704 MODE F0D01570 ORDRF PZE ** FLAG FOR INPUT CARD OUT OF ORDER F0D01580 TTLFG PZE -1 FLAG TO PRINT SUBHEAD (PRESET FOR PASS 1) F0D01590 P1FLG PZE ** PASS 1 FLAGS TRANSMITTED TO PASS 2 F0D01600 REM AS LOW ORDER 18 BITS OF WORD 14 $F0D01610 REM BIT 35 PHASE ERROR F0D01620 REM 34 FOLLOWING CARD IS ETC F0D01630 REM 33 FIELD ERROR F0D01640 REM 32 LITERAL ERROR F0D01650 REM 31 UNRECOGNIZED PSEUDOOP F0D01660 REM 30 MACRO GENERATED CARD F0D01670 REM 29 MISSING PSEUDOOP VARIABLE FIELD F0D01680 REM 18 - 27 MACRO LEVEL NUMBER $F0D01690 REM F0D01700 REM FLAGS FOR ERRORS ON INPUT CARDS F0D01710 DCPFG PZE ** FLAG FOR EXCESS DECIMAL POINT $F0D01720 DCEFG PZE ** FLAG FOR EXCESS EXPONENT (E) $F0D01721 DC2FG PZE ** FLAG FOR EXCESS EXPONENT (B) $F0D01722 ERFDL PZE ** IMPROPER DOLLAR SIGN $F0D01723 ERRFU PZE ** UNDEFINED SYMBOL F0D01730 ERRFM PZE ** MULTIPLY DEFINED SYMBOL F0D01740 ERRFR PZE ** RELOCATION ERROR F0D01750 ERRFP PZE ** PHASE ERROR F0D01760 ERRFL PZE ** LITERAL ERROR F0D01770 ERRFO PZE ** ILLEGAL OPERATION CODE F0D01780 ERRFE PZE ** VACUUM CLEANER F0D01790 ERRFB PZE ** BOOLEAN (OCTAL) ERROR F0D01800 REM FOLLOWING ERRORS ARE NON FATAL F0D01810 ERRFN PZE ** IMPROPER OP CODE F0D01820 ERR49 PZE ** MIXED MODE OPCODE F0D01830 ERRFA PZE ** MISSING ADDRESS F0D01840 ERRFT PZE ** MISSING TAG F0D01850 ERRFD PZE ** MISSING DECREMENT F0D01860 ERRFI PZE ** IMPROPER INDIRECT ADDRESS F0D01870 ERRFF PZE ** EXCESSIVE FIELD F0D01880 ERFFM PZE ** NON-FATAL MULTIPLY DEFINED SYMBOL F0D01890 EFLST PZE *-ERRFN,,*-ERFDL NONFATAL LIST,,LENGTH OF ERROR LIST $F0D01900 REM ADDITIONAL INFORMATION TRANSMITTED BETWEEN PASSES $F0D01901 REM $F0D01902 EVNFLG PZE ** FLAG FOR EVEN CONTAINED IN PROGRAM $F0D01903 REM $F0D01904 REM ERROR CHARACTERS F0D01910 DEC , PATCH SPACE $F0D01920 BCI 1,$ $F0D01921 BCI 1,U F0D01930 BCI 1,M F0D01940 BCI 1,R F0D01950 BCI 1,P F0D01960 BCI 1,L F0D01970 BCI 1,O F0D01980 BCI 1,E F0D01990 BCI 1,B F0D02000 REM FOLLOWING ERRORS ARE NONFATAL F0D02010 BCI 1,N F0D02020 FLG49 BCI 1,4 RESET TO 9 FOR 704 MODE CHANGE F0D02030 BCI 1,A F0D02040 BCI 1,T F0D02050 BCI 1,D F0D02060 BCI 1,I F0D02070 BCI 1,F F0D02080 BCI 1,M F0D02090 EFCHR SYN * F0D02100 REM F0D02110 REM F0D02120 PGHDNG BCI 8,1 F0D02130 BCI 8, F0D02140 BCI 2, PAGE 1 F0D02150 REM F0D02160 BLANKS BCI 3, F0D02170 BCI 5,PREPROCESSOR UPDATE PROGRAM F0D02180 BCI 6, F0D02190 REM F0D02200 PBUFF1 MZE ,,4 PUNCH OUTPUT BUFFER F0D02210 DEC ,,,,,,,,,,,,,,,,,,,,,, F0D02220 IDBUFF DEC ,,, CARD SERIAL BUFFER + ONE WORD SKEW SPACE F0D02230 REM F0D02240 REM BCD CARD BUFFERS F0D02250 REM F0D02260 PFLAG DEC ERROR FLAGS F0D02270 REM OCTAL EXPANSION OF MACHINE INSTRUCTION(23)F0D02275 OCTAL DEC ,,, (27)F0D02280 REM (THIS BUFFER MUST PRECEDE BCDBF) F0D02290 BCDBF DEC ,,,,,,,,,,,,, SOURCE DECK WORKING BUFFER F0D02300 LITRL DEC VALUE OF LITERAL OR PSEUDOOP DEFINITION F0D02310 OPBIN DEC BINARY INSTRUCTION, PSEUDOOP TRANSFER F0D02320 REM (LITRL AND OPBIN MUST FOLLOW BCDBF) F0D02330 REM F0D02340 INSBF BCI 9, F0D02350 BCI 8, INSERTED F0D02360 REM F0D02370 DELBF BCI 9, F0D02380 BCI 8, THE FIRST CARD IN THIS DECK IS DELETED F0D02390 REM F0D02400 ORDBF BCI 9, F0D02410 BCI 9, ORDER ERROR F0D02420 REM F0D02430 REM F0D02440 REM COMMON ROUTINES F0D02450 REM F0D02460 REM WRITE LINE ON AND OFF LINE F0D02470 REM CALL IS TSX FPRINT,4 F0D02480 REM PZE FWORD,,COUNT F0D02490 REM (MZE FWORD,,COUNT FORCE PRINTING) F0D02500 REM ( ,,0 BLANK LINE) F0D02510 FPRINT SXA FPRNX,4 SAVE CALLING LINKAGE F0D02520 SXA FPRNX+1,2 SAVE WORD COUNT F0D02530 SXA FPRNX+2,1 SAVE CHARACTER COUNT F0D02540 CLA 1,4 LOAD PARAMETER F0D02550 STA FPRN2 INITIALIZE I/O COMMAND F0D02560 STD FPRN2 F0D02570 PDX ,2 LOAD WORD COUNT F0D02580 PAGCNT AXT **,1 LOAD PAGE LINE COUNT (20)F0D02590 PAGENO AXT **,4 LOAD PAGE NUMBER (20)F0D02600 TXH FPRN0,2,0 IS BLANK LINE REQUESTED $F0D02610 LDQ IOBLK YES,LOAD PARAMETER FOR BLANK LINE $F0D02620 STQ FPRN2 INITIALIZE I/O COMMAND $F0D02630 TXL FPRN0,1,0 IS BLANK LINE AT TOP OF PAGE (20)F0D02640 TXH FPRN0,1,4 IS BLANK LINE AT BOTTOM OF PAGE (20)F0D02650 ZSA PAGCNT YES, EJECT PAGE (20)F0D02660 TXH FPRNX,4,0 TRANSFER IF NOT FIRST PAGE (20)F0D02670 REM LINE IS NOT BLANK,OR NOT AT BOTTOM OF PAGE (20)F0D02680 FPRN0 TPL *+2 IS THIS LINE FORCED (20)F0D02690 STL PRTF1 YES,SET FLAG (20)F0D02700 TIX FPRN1,1,1 IS PAGE FULL (20)F0D02710 TXI *+1,4,1 YES, BUMP PAGE NUMBER (20)F0D02720 SXA PAGENO,4 (20)F0D02730 PXA ,4 LOAD NEW PAGE NUMBER F0D02740 TSX BCDCV,4 *CONVERT TO BCD F0D02750 LDQ BLANKS APPEND FOLLOWING BLANKS F0D02760 LGR 6 LEFT ADJUST F0D02770 TNZ *-1 F0D02780 STQ PGHDNG+17 INSERT IN PAGE HEADING F0D02790 TSX WRITT,4 *WRITE PAGE HEADING F0D02800 IOCD PGHDNG,,18 F0D02810 NZT TTLFG IS SUBTITLE SPECIFIED F0D02820 TRA *+3 NO F0D02830 TSX WRITT,4 *YES, WRITE IT F0D02840 IOHED IOCD BLANKS,,14 F0D02850 TSX WRITT,4 *WRITE BLANK LINE F0D02860 IOBLK IOCD BLANKS,,3 F0D02870 CLA (PGCT) RESET LINE COUNT F0D02880 PDX ,1 F0D02890 ZET TTLFG IS SUBTITLE SPECIFIED F0D02900 TXI *+1,1,-1 YES, BUMP PAGE LINE COUNT DOWN ONE F0D02910 TRA PATCH $F0D02920 FPRN1 CLA PRTF1 NO, SET ONLINE PRINT FLAG F0D02930 STO PRTFG F0D02940 STZ PRTF1 RESET INTERMEDIATE FLAG F0D02950 TSX FPRNA,4 *TEST FOR PRINT CONTROL, SET XR4 $F0D02960 FPRN2 IOCD **,,** F0D02970 SXA PAGCNT,1 SAVE PAGE LINE COUNT F0D02980 FPRNX AXT **,4 RELOAD CALLING LINKAGE F0D02990 AXT **,2 RELOAD WORD COUNT F0D03000 AXT **,1 RELOAD CHARACTER COUNT F0D03010 TRA 2,4 F0D03020 REM F0D03030 REM BLOCK LISTING OUTPUT TAPE F0D03040 WRITT SXA WRITX,4 SAVE CALLING LINKAGE F0D03050 SXA WRITX+1,2 SAVE WORD COUNT F0D03060 SXA WRITX+2,1 SAVE LINE COUNT F0D03070 AXT **,1 LOAD BLOCK WORD COUNT F0D03080 LAC WRBLK+1,2 LOAD BUFFER INDEX F0D03090 TXL *+4,1,0 IS THIS FIRST LINE IN BLOCK F0D03100 CAL RECMK NO, INSERT RECORD MARK F0D03110 SLW* BCD14+1,2 FOLLOWING LAST WORD OF PREVIOUS LINE F0D03120 TXI *+1,1,-1 BUMP COUNT TO NEXT WORD IN BLOCK F0D03130 CAL 1,4 LOAD PARAMETER F0D03140 STO WRIT1+2 INITIALIZE PRINT I/O PARAMETER F0D03150 PDX ,4 LOAD WORD COUNT F0D03160 SXA XERAS,4 F0D03170 ADM XERAS COMPUTE ORIGIN AT END OF BUFFER F0D03180 STA *+1 INITIALIZE COPY LOOP F0D03190 CAL **,4 MOVE NEXT WORD F0D03200 SLW* BCD14+1,2 INTO OUTPUT BUFFER F0D03210 TXI *+1,1,-1 BUMP TO NEXT WORD IN BLOCK F0D03220 TIX *-3,4,1 IS LINE COMPLETE F0D03230 SXA WRITT+3,1 YES, SAVE BLOCK WORD COUNT F0D03240 WRIT0 AXT **,4 BUMP BLOCK LINE COUNT F0D03250 TXI *+1,4,1 F0D03260 SXA WRIT0,4 F0D03270 TXH *+2,4,-1 IS LISTING TAPE TO BE UNBUFFERED F0D03280 TXL *+2,4,4 NO, IS BLOCKED BUFFER FULL F0D03290 TSX WRBLK,4 *YES, WRITE BUFFER F0D03300 WRITS NOP IS THIS LINE MONITORED F0D03310 TRA *+2 NO F0D03320 TRA *+3 YES F0D03330 NZT PRTFG IS THIS LINE FORCED F0D03340 WRIT1 TXL WRITX,4,-1 NO, IS ONLINE PRINT SPECIFIED F0D03350 TSX (PRNT),4 *YES, PRINT LINE F0D03360 PZE **,,** F0D03370 SXA PRTFG,0 RESET FLAG F0D03380 WRITX AXT **,4 RELOAD CALLING LINKAGE F0D03390 AXT **,2 RELOAD WORD COUNT F0D03400 AXT **,1 RELOAD LINE COUNT F0D03410 TRA 2,4 F0D03420 RECMK OCT 606060606072 720 PRINTER RECORD MARK F0D03430 REM F0D03440 REM WRITE FINAL BLOCK ON LISTING TAPE F0D03450 WRFBK SXA WRFBX,4 SAVE CALLING LINKAGE F0D03460 LXA WRITT+3,1 LOAD BLOCK WORD COUNT F0D03470 TXL WRFBX,1,0 IS BLOCK EMPTY F0D03480 LAC WRBLK+1,2 NO, LOAD BUFFER INDEX F0D03490 CAL FRCMK INSERT 720 PRINTER NOP F0D03500 SLW* BCD14+1,2 FOLLOWING LAST LINE F0D03510 TXI *+1,1,-1 BUMP WORD COUNT F0D03520 SXA WRITT+3,1 F0D03530 TSX WRBLK,4 *WRITE LAST BUFFER F0D03540 WRFBX AXT **,4 RELOAD CALLING LINKAGE F0D03550 TRA 1,4 F0D03560 FRCMK OCT 606060607260 720 PRINTER NOP F0D03570 REM F0D03580 REM WRITE BLOCKED/UNBLOCKED LISTING OUTPUT TAPE F0D03590 WRBLK SXA WRBLX,4 SAVE CALLING LINKAGE F0D03600 AXC 1,2 LOAD BUFFER INDEX F0D03610 SXA *-1,2 FLIP BUFFER INDEX F0D03620 LAC WRITT+3,1 LOAD BLOCK WORD COUNT F0D03630 TXL WRBLX,1,0 IS BLOCK EMPTY F0D03640 PXD ,1 NO, INITIALIZE I/O COMMAND WORD COUNT F0D03650 STD BCD14,2 F0D03660 TSX (TAPE),4 *WRITE BLOCKED/UNBLOCKED RECORD F0D03670 PZE BCD14,2,(WDNP) F0D03680 PZE ,,MLSTAP F0D03690 CAL* (LNCT) BUMP LINE COUNT F0D03700 ADM WRIT0 F0D03710 STA* (LNCT) F0D03720 WRBLX AXT **,4 RELOAD CALLING LONKAGE F0D03730 SXA WRITT+3,0 RESET BLOCK WORD COUNT F0D03740 SXA WRIT0,0 RESET BLOCK LINE COUNT F0D03750 TRA 1,4 F0D03760 REM F0D03770 REM ASSEMBLE UNIFORM SYMBOL F0D03780 LOCFL SXA LOCFX,4 SAVE CALLING LINKAGE F0D03790 STZ SYMBL CLEAR WORKING STORAGE F0D03800 LAS BLANKS IS SYMBOL ALL BLANKS F0D03810 TRA *+2 NO F0D03820 TRA LOCF2 YES F0D03830 XCL RECALL SYMBOL F0D03840 AXT 6,4 PREPARE TO SCAN SIX CHARACTERS F0D03850 LOCF1 PXD ,0 F0D03860 LGL 6 GET NEXT CHARACTER F0D03870 LAS BLANK IS IT BLANK F0D03880 TRA *+2 NO F0D03890 TRA *+5 YES F0D03900 LGR 6 ADD NONBLANK CHARACTER F0D03910 CAL SYMBL F0D03920 LGL 6 F0D03930 SLW SYMBL SAVE PARTIAL SYMBOL F0D03940 TIX LOCF1,4,1 IS SYMBOL ASSEMBLED F0D03950 LOCF2 CAL SYMBL YES, RELOAD UNIFORM SYMBOL F0D03960 LOCFX AXT **,4 RELOAD CALLING LINKAGE F0D03970 TRA 1,4 F0D03980 REM F0D03990 REM SET UP OPCODE, VARIABLE FIELD F0D04000 SETUP SXA STUPX,4 SAVE CALLING LINKAGE F0D04010 STZ INDFG RESET INDIRECT ADDRESS FLAG F0D04020 REM CHECK FOR COMMENTS CARD (24)F0D04030 CAL BCDBF LOAD CARD WORD 1 (24)F0D04040 LGR 30 ISOLATE COLUMN 1 (24)F0D04050 ERA ASTRK IS THIS COMMENTS CARD $F0D04060 TZE 1,4 YES $F0D04070 ERA Q7 IS IT A DOLLAR SIGN $F0D04071 TZE 1,4 YES $F0D04072 AXC 1,2 NO, INITIALIZE WORD AND (24)F0D04080 AXT 6,1 CHARACTER POSITIONS FOR OP CODE SCAN (24)F0D04090 CAL BCDBF+1 CHECK FOR ASTERISK IN COLUMN 7 (UGH) (24)F0D04100 LGR 30 POSSIBLE IF IN IBSFAP MODE (24)F0D04110 ERA ASTRK IS IT BY CHANCE (24)F0D04120 TZE STP00 *CHECK MODE IF YES (24)F0D04130 REM REENTRY TO SCAN NEXT CHARACTER IN OP FIELD (24)F0D04135 STP01 SXA STP06,2 STORE CURRENT WORD AND CHARACTER (24)F0D04140 SXA NERAS,1 POSITIONS OF OP CODE SCAN (24)F0D04150 TSX C019Q,4 *GO GET NEXT CHARACTER (24)F0D04160 SUB ASTRK IS THIS * F0D04170 TNZ *+3 NO $F0D04180 STL INDFG YES, SET INDIRECT FLAG $F0D04190 TRA STP02 $F0D04200 SUB Q4 IS THIS BLANK $F0D04210 TZE STP2A YES, END OF OPCODE (24)F0D04220 SUB EQUAL NO, IS THIS , $F0D04230 TZE STP03 YES, END OF OPCODE $F0D04240 SUB Q1 NO, IS THIS ( $F0D04250 TZE STP04 YES (24)F0D04260 STZ INDFG NO, RESET INDIRECT FLAG $F0D04270 STP02 TXH STP01,2,-2 ARE WE STILL IN CARD WORD 2 (24)F0D04280 TXH STP01,1,4 NO, ARE WE PAST CC 14 (24)F0D04290 LXA STUPX,4 YES, OP FIELD IS TOO LONG (24)F0D04300 TRA 2,4 TAKE ERROR RETURN (24)F0D04310 REM REENTRY FOR OP CODE TERMINATED BY BLANK (24)F0D04320 STP2A TSX C019Q,4 *OBTAIN NEXT CHARACTER (24)F0D04330 SUB BLANK IS IT BLANK (24)F0D04340 TNZ STP05 NO, VARIABLE FIELD HAS BEGUN (24)F0D04350 TXH STP2A,2,-2 YES, ARE WE PAST WORD 2 (24)F0D04355 TXH STP2A,1,4 YES, IS NEXT COLUMN 16 (24)F0D04360 REM REENTRY FOR OP CODE TERMINATED BY , (24)F0D04370 STP03 TSX C019Q,4 *INITIALIZE CHRCTR PROPERLY (24)F0D04380 REM REENTRY FOR OP CODE TERMINATED BY ( (24)F0D04390 STP04 TXL STP05,2,-2 ARE WE PAST WORD TWO (24)F0D04400 TXH STP01,1,4 NO, ( IN CC 8 IS PART OF OP CODE (24)F0D04410 REM REENTRY FOR BEGINNING OF VARIABLE FIELD SENSED (24)F0D04420 STP05 CAL CHRCTR RELOAD BEGINNING CHARACTER (24)F0D04430 LGR 6 AND POSITION FOR SCAN (24)F0D04440 STQ RESIDU STORE SCAN WORD (24)F0D04450 TXI *+1,1,1 BUMP CHARACTER POSITION BACK (24)F0D04460 SXD VRFLD,2 STORE WORD AND CHARACTER (24)F0D04470 SXA VRFLD,1 POSITIONS BEGINNING VARIABLE FIELD (24)F0D04480 LDQ NERAS LOAD CHARACTER POSITION OF OP FIELD (24)F0D04490 VLM Q6,,15 END AND MULTIPLY BY 6 TO COMPUTE (24)F0D04500 LLS 15 AMOUNT OF SHIFT (24)F0D04510 PAC ,4 (24)F0D04520 STP06 AXC **,2 RELOAD WORD ENDING OP FIELD (24)F0D04530 TXH *+2,2,1 WAS IT WORD TWO (24)F0D04540 TXI *+1,4,-36 NO, BUMP SHIFT COUNT (24)F0D04550 ZET INDFG WAS OPERATION INDIRECTLY ADDRESSED (24)F0D04560 TXI STP07,4,-6 YES, ADJUST SHIFT COUNT TO OMIT * (24)F0D04570 STP07 CAL BCDBF+1 LOAD CARD WORDS TWO (24)F0D04580 LDQ BCDBF+2 AND THREE (COLUMNS 7 THROUGH 18) (24)F0D04590 LGR -6,4 RIGHT ADJUST OPERATION CODE (24)F0D04600 LGL 0,4 THEN LEFT ADJUST IT (24)F0D04610 TNZ STP08 IF OPCODE IS NULL, (24)F0D04620 CAL BLNK3 RESET IT TO BLANKS (24)F0D04630 STP08 SLW OPCOD STORE OPERATION CODE (24)F0D04640 ERA DASTR DID IT COME OUT AS ** (24)F0D04650 TNZ STP09 NO, EXIT (24)F0D04660 STZ INDFG YES, MUST HAVE BEEN *** (24)F0D04670 TXI STP07,4,6 GO BACK TO READJUST IT (24)F0D04680 STP09 LXD VRFLD,2 RELOAD SCAN WORD POSITION (24)F0D04690 STUPX AXT **,4 RELOAD CALLING LINKAGE (24)F0D04700 TRA 3,4 (24)F0D04710 REM (24)F0D04720 REM THE FOLLOWING IS A PATCH TO SUBROUTINE SCANF (24)F0D04725 RELFG CLA VARUC ARE THERE RELOCATION ERRORS (24)F0D04730 TZE *+2 IGNORE -0 (24)F0D04740 TMI SCN12+5 COMPLEMENT OF COMMON ELEMENT (24)F0D04750 CLA VARUR (24)F0D04760 TZE *+2 IGNORE -0 (24)F0D04770 TMI SCN12+5 COMPLEMENT OF RELOCATABLE ELEMENT (24)F0D04780 TRA SCN12+1 (24)F0D04790 REM F0D04800 REM FIND BINARY MACHINE OPERATION FOR BCD OPCODE F0D04810 SOPTB SXA SOPTX,4 SAVE CALLING LINKAGE F0D04820 AXT 0,1 LOAD LOCATION OF FIRST NAME IN TABLE F0D04830 LXA OPTSIZ,2 LOAD LOGARITHM OF TABLE LENGTH F0D04840 TSX LOWER,4 *EXECUTE BINARY SEARCH F0D04850 REM F0D04860 TRA SOPTX+2 NOT FOUND F0D04870 SOPT1 TXL *+4,1,** IS SEARCH PAST UPPER END OF TABLE F0D04880 LAS OPTTBL-2,1 NO, IS IT THIS OPCODE F0D04890 TXI LOWER,2,-2 NO, LARGER - GO LOOK HIGHER F0D04900 TRA *+2 YES F0D04910 TXI RAISE,2,-2 NO, SMALLER - GO LOOK LOWER F0D04920 REM OPCODE FOUND IN TABLE F0D04930 LDI OPTTBL-1,1 LOAD OPERATION DEFINITION F0D04940 SOPTX AXT **,4 RELOAD CALLING LINKAGE F0D04950 TRA 2,4 F0D04960 REM OPCODE NOT FOUND IN TABLE F0D04970 LXA SOPTX,4 RELOAD CALLING LINKAGE F0D04980 TRA 1,4 F0D04990 REM F0D05000 TXI BSRCH,1,+16384 F0D05010 TXI BSRCH,1,-16384 F0D05020 TXI BSRCH,1,+8192 F0D05030 TXI BSRCH,1,-8192 F0D05040 TXI BSRCH,1,+4096 F0D05050 TXI BSRCH,1,-4096 F0D05060 TXI BSRCH,1,+2048 F0D05070 TXI BSRCH,1,-2048 F0D05080 TXI BSRCH,1,+1024 F0D05090 TXI BSRCH,1,-1024 F0D05100 TXI BSRCH,1,+512 F0D05110 TXI BSRCH,1,-512 F0D05120 TXI BSRCH,1,+256 F0D05130 TXI BSRCH,1,-256 F0D05140 TXI BSRCH,1,+128 F0D05150 TXI BSRCH,1,-128 F0D05160 TXI BSRCH,1,+64 F0D05170 TXI BSRCH,1,-64 F0D05180 TXI BSRCH,1,+32 F0D05190 TXI BSRCH,1,-32 F0D05200 TXI BSRCH,1,+16 F0D05210 TXI BSRCH,1,-16 F0D05220 TXI BSRCH,1,+8 F0D05230 TXI BSRCH,1,-8 F0D05240 TXI BSRCH,1,+4 F0D05250 TXI BSRCH,1,-4 F0D05260 TXI BSRCH,1,+2 F0D05270 TXI BSRCH,1,-2 F0D05280 TRA 1,4 NOT FOUND F0D05290 TRA 1,4 NOT FOUND F0D05300 RAISE TRA *,2 F0D05310 LOWER TRA *,2 F0D05320 BSRCH TRA 2,4 LOOK FURTHER F0D05330 REM F0D05340 REM EVALUATE NEXT EXPRESSION IN VARIABLE FIELD F0D05350 SCANF SXA SCANX,4 SAVE CALLING LINKAGE F0D05360 STZ TRMEQ RESET VALUE OF FIRST TERM IN EXPRESSION F0D05370 STZ TRMUN RESET UNITS OF TERM F0D05380 STZ TRMUF RESET FLAG FOR TYPE OF UNITS TO ABSOLUTE F0D05390 STZ VAREQ RESET VALUE OF EXPRESSION F0D05400 STZ VARUR RESET NUMBER OF RELOCATABLE SYMBOLS F0D05410 STZ VARUC RESET NUMBER OF COMMON SYMBOLS F0D05420 STZ RBITS RESET RELOCATION BITS F0D05430 STZ SCNBE RESET FLAG FOR BOOLEAN ERA F0D05440 CAL CHRCTR LOAD FIRST CHARACTER IN NEXT EXPRESSION F0D05450 ERA BLANK IS IT END OF VARIABLE FIELD F0D05460 TNZ *+3 NO F0D05470 STZ BOLMD YES, RESET BOOLEAN FLAG F0D05480 TRA 1,4 RETURN ON VACUUOUS FIELD F0D05490 AXC SCADD,4 NO, INITIALIZE OPERATION SWITCH FOR F0D05500 SXD OPSW1,4 FOLLOWING ELEMENT TO ADD F0D05510 TRA SCN01+5 F0D05520 REM REENTRY TO EVALUATE NEXT ELEMENT F0D05530 SCN01 NZT TVFLG IS THIS CALL SUBPROGRAM NAME F0D05540 TRA *+4 NO F0D05550 TSX SCEND,4 YES, SKIP TO END OF EXPRESSION F0D05560 STL ERRFF SET ERROR FLAG F0D05570 TRA SCN14 F0D05580 STL SCNFC SET FLAG FOR FIRST CHARACTER IN ELEMENT F0D05590 STZ SCNBC RESET FLAG FOR BOOLEAN COM F0D05600 CAL BHEAD SET HEADING CHARACTER F0D05610 ZET TVFLG IS THIS CALL SUBPROGRAM NAME F0D05620 PXD ,0 YES, DELETE HEADING CHARACTER F0D05630 TRA SCN02+1 F0D05640 REM REENTRY FOR $ REHEADING CHARACTER F0D05650 SCN02 TRA DLRUT DOLLAR SIGN TEST $F0D05660 SLW THEAD F0D05670 STZ ELMEQ RESET VALUE OF ELEMENT F0D05680 STZ ELMUN RESET UNITS OF ELEMENT F0D05690 STZ ELMUF RESET FLAG FOR TYPE OF UNITS TO ABSOLUTE F0D05700 TRA SCN03+1 F0D05710 REM REENTRY FOR BOOLEAN UNARY / F0D05720 SCN03 STL SCNBC SET FLAG TO COMPLEMENT NEXT ELEMENT F0D05730 REM REENTRY TO ASSEMBLE SYMBOL F0D05740 TSX SSCAN,4 *ASSEMBLE ELEMENT F0D05750 TRA EVALE *END OF VARIABLE FIELD F0D05760 SLT EXPND DID FIELD END WITH COMMA OR BLANK F0D05770 PAX ,4 NO, LOAD PUNCTUATION CHARACTER F0D05780 TXL SCADD,4,16 + OPERATION IS ADD F0D05790 TXL SCSUB,4,32 - OPERATION IS SUBTRACT F0D05800 TXL SCN02,4,43 $ RESET HEADING CHARACTER F0D05810 TXL SCN05,4,44 * OPERATION MAY BE MULTIPLY F0D05820 TXL SCN04,4,49 / OPERATION MAY BE DIVIDE F0D05830 TRA EVALE *PUNCTUATION WAS COMMA OR BLANK F0D05840 REM CHARACTER IS / F0D05850 SCN04 NZT SCNFC IS THIS FIRST CHARACTER IN ELEMENT F0D05860 TRA SCDIV NO, IT IS DIVIDE OR BINARY NOT OPERATION F0D05870 STZ SCNFC YES, RESET FLAG F0D05880 ZET BOLMD IS FIELD BOOLEAN F0D05890 TRA SCN03 YES, IT IS UNARY NOT OPERATION F0D05900 TRA SCDIV NO F0D05910 REM CHARACTER IS * F0D05920 SCN05 NZT SCNFC IS THIS FIRST CHARACTER IN ELEMENT F0D05930 TRA SCMPY NO, IT IS MULTIPLY OPERATION F0D05940 STZ SCNFC YES, RESET FLAG F0D05950 SLW SYMBL CHARACTER IS PROGRAM COUNTER F0D05960 TSX SSCET,4 *FIND OPERATION F0D05970 TXI EVALE,,0 NO OPERATION FOLLOWS F0D05980 TRA SCN03+3 F0D05990 REM F0D06000 REM ENTRY POINTS TO EVALUATE ELEMENT ASSEMBLED ABOVE. F0D06010 REM RETURN FROM EVALF IS TO OPERATION PRECEDING ELEMENT. F0D06020 REM RETURN TO PRESENT OPERATION IS AFTER FOLLOWING ELEMENT F0D06030 REM HAS BEEN EVALUATED. F0D06040 SCDIV TSX EVALF,4 *EVALUATE PRECEDING ELEMENT F0D06050 REM F0D06060 TRA BLDIV EXPRESSION IS BOOLEAN F0D06070 CLA TRMEQ LOAD PARTIAL TERM F0D06080 LRS 35 F0D06090 NZT ELMEQ IS ELEMENT UNDEFINED OR ZERO F0D06100 TRA *+4 YES, ASSUME ELEMENT 1 F0D06110 DVP ELMEQ NO, COMBINE WITH FOLLOWING ELEMENT F0D06120 DCT DID DIVIDE FAIL F0D06130 TSX MACERR,4 **YES F0D06140 STQ TRMEQ SAVE PARTIAL TERM F0D06150 STQ TRMUN SAVE COEFFICIENT OF SYMBOLS F0D06160 NZT TRMUF IS TERM ABSOLUTE F0D06170 ZET ELMUF YES, IS ELEMENT ABSOLUTE F0D06180 TRA SCMP1 **NO, SET ERROR FLAGS F0D06190 TRA SCN10 F0D06200 REM F0D06210 SCMPY TSX EVALF,4 *EVALUATE PRECEDING ELEMENT F0D06220 REM F0D06230 TRA BLMPY EXPRESSION IS BOOLEAN F0D06240 LDQ TRMEQ COMBINE PARTIAL TERM F0D06250 MPY ELMEQ WITH FOLLOWING ELEMENT F0D06260 STQ TRMEQ SAVE PARTIAL TERM MOD 2**35 F0D06270 LDQ TRMUN COMBINE COEFFICIENT FOR TERM F0D06280 MPY ELMUN WITH COEFFICIENT FOR FOLLOWING ELEMENT F0D06290 STQ TRMUN SAVE COEFFICIENT MOD 2**35 F0D06300 ZET TRMUF IS TERM ABSOLUTE F0D06310 NZT ELMUF NO, IS ELEMENT ABSOLUTE F0D06320 TRA *+3 YES F0D06330 REM REENTRY AFTER RELOCATION ERROR ON DIVIDE F0D06340 SCMP1 SLN EXPRR NO, SET ERROR FLAGS F0D06350 STL ERRFR F0D06360 CAL ELMUF SET COMMON OR RELOCATABLE FLAG FOR ELEMENTF0D06370 ORS TRMUF INTO FLAG FOR TERM (AT LEAST ONE IS ZERO) F0D06380 TRA SCN10 F0D06390 REM F0D06400 SCADD TSX EVALF,4 *EVALUATE PRECEDING ELEMENT F0D06410 REM F0D06420 TRA BLADD EXPRESSION IS BOOLEAN F0D06430 CLA ELMEQ LOAD VALUE OF FOLLOWING ELEMENT F0D06440 TRA SCSB1 F0D06450 REM F0D06460 SCSUB TSX EVALF,4 *EVALUATE PRECEDING ELEMENT F0D06470 REM F0D06480 TRA BLSUB EXPRESSION IS BOOLEAN F0D06490 CLS ELMUN INVERT COEFFICIENT FOR FOLLOWING ELEMENT F0D06500 STO ELMUN F0D06510 CLS ELMEQ INVERT VALUE OF FOLLOWING ELEMENT F0D06520 REM REENTRY FOR ADD F0D06530 SCSB1 XCA HOLD FOLLOWING ELEMENT F0D06540 CLA VAREQ COMBINE VALUE OF PARTIAL EXPRESSION F0D06550 ADD TRMEQ WITH PRECEDING TERM F0D06560 STO VAREQ F0D06570 STQ TRMEQ INITIALIZE FOLLOWING TERM TO VALUE OF ELEMF0D06580 CLA TRMUF LOAD FLAG FOR UNITS OF TERM F0D06590 TZE SCSB3 IS TERM ABSOLUTE F0D06600 TMI SCSB2 NO, IS TERM COMMON F0D06610 CLA VARUR NO, BUMP NUMBER OF RELOCATABLE SYMBOLS F0D06620 ADD TRMUN BY COEFFICIENT OF TERM F0D06630 STO VARUR F0D06640 TRA SCSB3 F0D06650 REM TERM IS COMMON F0D06660 SCSB2 CLA VARUC BUMP NUMBER OF COMMON SYMBOLS F0D06670 ADD TRMUN BY COEFFICIENT OF TERM F0D06680 STO VARUC F0D06690 REM REENTRY FOR ABSOLUTE OR RELOCATABLE TERM F0D06700 SCSB3 CLA ELMUN INITIALIZE COEFFICIENT OF FOLLOWING TERM F0D06710 STO TRMUN TO COEFFICIENT OF FIRST ELEMENT F0D06720 CAL ELMUF INITIALIZE FLAG FOR UNITS OF TERM F0D06730 SLW TRMUF TO FLAG FOR UNITS OF FIRST ELEMENT F0D06740 TRA SCN10 F0D06750 REM F0D06760 BLADD TSX BLERA,4 *EVALUATE POSSIBLE ERA F0D06770 TRA BLSUB+2 F0D06780 REM F0D06790 BLSUB TSX BLERA,4 *EVALUATE POSSIBLE ERA F0D06800 STL SCNBE SET FLAG TO COMPLEMENT FOLLOWING ELEMENT F0D06810 SLW VAREQ SAVE PARTIAL VALUE OF EXPRESSION F0D06820 CAL ELMEQ INITIALIZE NEXT TERM TO VALUE OF F0D06830 SLW TRMEQ FIRST ELEMENT F0D06840 TRA SCN10 F0D06850 REM F0D06860 BLMPY CAL ELMEQ MASK (AND) PARTIAL VALUE OF EXPRESSION F0D06870 ANS TRMEQ WITH VALUE OF ELEMENT F0D06880 TRA SCN10 F0D06890 REM F0D06900 BLDIV CAL ELMEQ OPERATION IS BINARY NOT F0D06910 COM COMPLEMENT ELEMENT F0D06920 ANS TRMEQ MASK PARTIAL VALUE OF EXPRESSION F0D06930 REM F0D06940 REM ELEMENT HAS BEEN EVALUATED F0D06950 SCN10 SLT EXPND WAS THIS END OF EXPRESSION F0D06960 TRA SCN01 NO F0D06970 REM END OF EXPRESSION F0D06980 NZT BOLMD IS EXPRESSION BOOLEAN F0D06990 TRA *+3 NO F0D07000 TSX BLERA,4 *YES, EVALUATE POSSIBLE ERA F0D07010 TRA SCN11 F0D07020 CLA VAREQ COMBINE PARTIAL VALUE OF EXPRESSION F0D07030 ADD TRMEQ WITH FINAL TERM F0D07040 STO VAREQ F0D07050 CAL P4 COMPLEMENT IF NEGATIVE F0D07060 ALS 1 F0D07070 ADD VAREQ F0D07080 REM REENTRY FOR BOOLEAN EXPRESSION F0D07090 SCN11 ZET VFDMD IS THIS EXPRESSION PART OF VFD F0D07100 TRA *+4 YES, KEEP ENTIRE WORD F0D07110 ANA ADTMK NO, MASK IN FINAL 18 BITS F0D07120 NZT BOLMD IS EXPRESSION BOOLEAN F0D07130 ANA ADDMK NO, MASK IN FINAL 15 BITS F0D07140 SLW VAREQ SAVE F0D07150 CLA TRMUF LOAD FLAG FOR TERM UNITS F0D07160 TZE SCN12 IS EXPRESSION ABSOLUTE F0D07170 TMI *+5 NO, IS EXPRESSION COMMON F0D07180 CLA VARUR NO, BUMP NUMBER OF RELOCATABLE SYMBOLS F0D07190 ADD TRMUN BY COEFFICIENT OF LAST TERM F0D07200 STO VARUR F0D07210 TRA SCN12 F0D07220 CLA VARUC BUMP NUMBER OF COMMON SYMBOLS F0D07230 ADD TRMUN BY COEFFICIENT OF LAST TERM F0D07240 STO VARUC F0D07250 REM REENTRY FOR ABSOLUTE OR RELOCATABLE TERM F0D07260 SCN12 TRA RELFG CHECK FOR RELOCATION ERROR $F0D07270 ADD VARUC NUMBER OF RELOCATABLE AND COMMON SYMBOLS $F0D07280 TZE SCN13 IS COEFFICIENT ZERO F0D07290 SUB Q1 NO, IS COEFFICIENT 1 F0D07300 TZE *+3 YES F0D07310 SLN EXPRR NO, SET ERROR FLAGS F0D07320 STL ERRFR F0D07330 CAL VAREQ COMPUTE RELATIVE POSITION F0D07340 ANA ADDMK OF EXPRESSION ABOVE OR BELOW F0D07350 SUB PRGBK PROGRAM BREAK F0D07360 ZET VARUC IS EXPRESSION IN COMMON F0D07370 CHS YES, INVERT RELATIVE POSITION F0D07380 AXT 2,4 SET EXPRESSION DIRECTLY RELOCATABLE F0D07390 TMI *+2 IS EXPRESSION DIRECTLY RELOCATABLE F0D07400 AXT 3,4 NO, SET EXPRESSION COMPLEMENT RELOCATABLE F0D07410 SXA RBITS,4 F0D07420 SCN13 TRA *+2 $F0D07430 REM CONSTANT FOR BCDCV CONVERSION ROUTINE (25)F0D07435 TEN5TH DEC 100000 (25)F0D07440 CAL VAREQ YES, LOAD LOGICAL VALUE OF EXPRESSION F0D07450 STZ BOLMD RESET BOOLEAN MODE FLAG F0D07460 SLT EXPRR WAS ERROR FOUND IN THIS EXPRESSION F0D07470 TRA SCANX NO F0D07480 SCN14 SLN EXPRR YES, RESET ERROR FLAG F0D07490 STZ RBITS DELETE RELOCATION BITS F0D07500 PXD ,0 DELETE VALUE OF SYMBOL F0D07510 STZ VAREQ F0D07520 SCANX AXT **,4 RELOAD CALLING LINKAGE F0D07530 TRA 2,4 F0D07540 REM F0D07550 REM EVALUATE BOOLEAN EXPRESSION F0D07560 BLERA CAL TRMEQ LOAD FOLLOWING TERM F0D07570 NZT SCNBE IS OPERATION ERA F0D07580 ORA VAREQ NO, COMBINE WITH PARTIAL TERM F0D07590 ZET SCNBE IS OPERATION ERA F0D07600 ERA VAREQ YES, MASK PARTIAL VALUE OF EXPRESSION F0D07610 STZ SCNBE RESET FLAG F0D07620 TRA 1,4 F0D07630 REM F0D07640 REM EVALUATE SYMBOL PRECEDING OPERATION, OR END OF EXPRESSIONF0D07650 EVALE SLN EXPND SET END OF EXPRESSION FLAG F0D07660 EVALF SXD OPSW2,4 SAVE CALLING LINKAGE (OP FOLLOWING SYMBOL)F0D07670 CAL SYMBL LOAD LOW ORDER PORTION OF ELEMENT F0D07680 LAS ASTRK IS IT * F0D07690 TRA *+2 NO F0D07700 TRA EVAL1 YES, CURRENT CONTENTS OF LOCATION COUNTER F0D07710 ORA SYMB2 COMBINE LOW AND HIGH ORDER PORTIONS F0D07720 ANA BLANKS IS ELEMENT NUMERIC F0D07730 TZE EVAL3 YES F0D07740 ZET SYMB2 NO, IS SYMBOL NAME LONGER THAN 6 CHARACTERF0D07750 STL ERRFE YES F0D07760 LDQ SYMBL LOAD SYMBOL NAME F0D07770 PXD ,0 F0D07780 LGL 6 LOAD FIRST CHARACTER F0D07790 TNZ *+2 IS SYMBOL NAME SHORTER THAN 6 CHARACTERS F0D07800 CAL THEAD YES, APPEND CURRENT HEADING CHARACTER F0D07810 LGL 30 F0D07820 SLW SYMBL SAVE F0D07830 TSX SSYMT,4 *EVALUATE SYMBOL F0D07840 TRA EVAL1+3 F0D07850 REM SYMBOL IS * F0D07860 EVAL1 CLA LOCTR LOAD CURRENT PROGRAM COUNTER F0D07870 ZET BOLMD IS EXPRESSION BOOLEAN F0D07880 PXD ,0 YES, ASSUME IT IS AN OPERATOR F0D07890 REM WITH NO PRECEDENT OPERAND F0D07900 REM REENTRY FOR DEFINED SYMBOL F0D07910 STA ELMEQ DEFINE THIS ELEMENT F0D07920 ZET BOLMD IS EXPRESSION BOOLEAN F0D07930 TRA EVAL2 YES F0D07940 ARS 18 NO, SHIFT UP RELOCATION BITS F0D07950 ANA Q3 DELETE EXTRANEOUS FLAGS F0D07960 SUB Q1 IS ELEMENT ABSOLUTE F0D07970 TMI EVAL5 YES F0D07980 SSM NO, SET ELEMENT COMMON F0D07990 TNZ *+2 IS ELEMENT COMMON F0D08000 CLA Q1 NO, RESET ELEMENT RELOCATABLE F0D08010 STO ELMUF SAVE ELEMENT UNIT FLAG F0D08020 TRA EVAL5+1 F0D08030 REM SYMBOL IS BOOLEAN F0D08040 EVAL2 PAI LOAD RELOCATION BITS F0D08050 LFT 3 IS SYMBOL ABSOLUTE F0D08060 TRA EVLBR **NO F0D08070 ANA ADTMK DELETE EXTRANEOUS FLAGS F0D08080 ZET SCNBC IS ELEMENT COMPLEMENTABLE F0D08090 COM YES, FLATTER IT F0D08100 SLW ELMEQ DEFINE ELEMENT F0D08110 OPSW1 TXI EVAL5+2,,** (RETURN FOR OPERATION PRECEDING ELEMENT) F0D08120 REM ERROR ON BOOLEAN SYMBOL F0D08130 EVLBR SLN EXPRR SET ERROR FLAGS F0D08140 STL ERRFB F0D08150 TRA EVAL5+2 F0D08160 REM ELEMENT IS NUMERIC F0D08170 EVAL3 NZT BOLMD IS ELEMENT BOOLEAN F0D08180 TXL EVAL4,,0 NO, IS ELEMENT UNDER OCTAL QUALIFIER F0D08190 REM (SWITCH SET BY SAK) F0D08200 TSX OCTSV,4 *YES, CONVERT SYMBOL FROM OCTAL F0D08210 ZET SCNBC IS ELEMENT COMPLEMENTABLE F0D08220 COM YES F0D08230 SLW ELMEQ SAVE ELEMENT F0D08240 NZT BOLMD IS ELEMENT BOOLEAN F0D08250 TRA EVAL5 NO, SET RELOCATION UNITS FOR OCTAL INTEGERF0D08260 OPSW2 TXI EVAL5+2,,** (RETURN FOR OPERATION FOLLOWING ELEMENT) F0D08270 REM EVALUATE DECIMAL INTEGER F0D08280 EVAL4 TSX DECSV,4 *CONVERT SYMBOL FROM DECIMAL F0D08290 STO ELMEQ SAVE F0D08300 REM REENTRY FOR ABSOLUTE SYMBOL OR DECIMAL INTEGER F0D08310 EVAL5 CAL ELMEQ SET VALUE OF ELEMENT F0D08320 REM REENTRY FOR COMMON OR RELOCATABLE SYMBOL F0D08330 SLW ELMUN AS COEFFICIENT OF ELEMENT F0D08340 REM REENTRY FOR BOOLEAN SYMBOL OR OCTAL INTEGER F0D08350 LXD OPSW1,4 LOAD TRANSFER FOR OP PRECEDING ELEMENT F0D08360 CAL OPSW2 RESET TRANSFER TO OP PRECEDING F0D08370 STD OPSW1 FOLLOWING ELEMENT F0D08380 ZET BOLMD IS EXPRESSION BOOLEAN F0D08390 TRA 1,4 YES, TAKE BOOLEAN RETURN F0D08400 TRA 2,4 NO F0D08410 REM F0D08420 REM CONVERT UP TO 12 DIGIT SIGNED OCTAL INTEGER TO BINARY F0D08430 OCTCV SXA DECCX,4 SAVE CALLING LINKAGE F0D08440 STZ NERAS CLEAR WORKING CELL F0D08450 TSX C019A,4 *LOOK AT FIRST CHARACTER F0D08460 SUB PLUSS IS IT + F0D08470 TZE OCT01 YES, IGNORE IT F0D08480 SUB PLUSS NO, IS IT - F0D08490 TNZ OCT01+1 NO F0D08500 CAL P4 YES, SET P BIT F0D08510 SLW NERAS F0D08520 REM REENTRY TO DELETE SIGN F0D08530 OCT01 TSX C0190,4 *DELETE SIGN F0D08540 REM REENTRY FOR NO PRECEDING SIGN F0D08550 TSX SSCAN,4 *ASSEMBLE INTEGER F0D08560 TXI OCT02,,0 NULL INTEGER F0D08570 SLT EXPND DID INTEGER END WITH COMMA OR BLANK F0D08580 TRA OCTRR NO F0D08590 TSX OCTSV,4 *YES, CONVERT TO BINARY F0D08600 SLT EXPRR IS INTEGER IN ERROR F0D08610 ORA NERAS NO, APPEND SIGN F0D08620 TRA DECCX F0D08630 REM NULL INTEGER F0D08640 OCT02 SLN FLDND SET END OF VARIABLE FIELD FLAG F0D08650 ORA NERAS APPEND SIGN F0D08660 TRA DECCX F0D08670 REM ERROR ON OCTAL NUMBER F0D08680 OCTRR STL ERRFB SET ERROR FLAG F0D08690 TSX SCEND,4 *SKIP TO END OF FIELD F0D08700 PXD ,0 DELETE INTEGER IN ERROR F0D08710 TRA DECCX F0D08720 REM F0D08730 REM CONVERT FOLLOWING DECIMAL FIELD TO BINARY F0D08740 DECCV SXA DECCX,4 SAVE CALLING LINKAGE F0D08750 STZ NERAS CLEAR INTEGER FIELD F0D08760 STZ XERAS CLEAR EXPONENT (E) FIELD F0D08770 STZ BERAS CLEAR BINARY (B) FIELD F0D08780 STZ DCNFG RESET FLAG FOR DECIMAL POINT F0D08790 STZ DCXFG RESET FLAG FOR DECIMAL EXPONENT F0D08800 STZ DCBFG RESET FLAG FOR BINARY EXPONENT F0D08810 AXT 0,4 RESET DECIMAL PLACE COUNT F0D08820 CAL DECCV+1 LOAD INTEGER FIELD ADDRESS F0D08830 TRA DCV15 $F0D08840 REM REENTRY AFTER DECIMAL POINT TO BEGIN SCAN ON FRACTION F0D08850 DCV01 NZT DCXFG HAS DECIMAL EXPONENT BEGUN F0D08860 ZET DCBFG NO, HAS BINARY EXPONENT BEGUN F0D08870 TRA DCVRR YES F0D08880 STL DCNFG NO, SET FRACTION FLAG F0D08890 CAL DCV05 INITIALIZE TRANSFER ADDRESS F0D08900 STA DCV07+1 TO COUNT DECIMAL PAACES F0D08910 TRA DCV05+2 F0D08920 REM REENTRY AFTER E TO BEGIN SCAN ON DECIMAL EXPONENT F0D08930 DCV02 STL DCXFG SET DECIMAL EXPONENT FLAG F0D08940 CAL DECCV+2 LOAD DECIMAL EXPONENT FIELD ADDRESS F0D08950 TRA DCV03+2 F0D08960 REM REENTRY AFTER B TO BEGIN SCAN ON BINARY EXPONENT F0D08970 DCV03 STL DCBFG SET BINARY EXPONENT FLAG F0D08980 CAL DECCV+3 LOAD BINARY EXPONENT FIELD FLAG F0D08990 STA DCV06 INITIALIZE FIELD CONVERSION ADDRESSES F0D09000 STA DCV06+2 F0D09010 STA DCV07 F0D09020 CAL DCV05+1 INITIALIZE TRANSFER ADDRESS F0D09030 STA DCV07+1 TO OMIT COUNTING DECIMAL PLACES F0D09040 CAL DCV06+2 INITIALIZE INSTRUCTION TO ADD F0D09050 TRA DCV04+3 F0D09060 REM REENTRY AFTER MINUS F0D09070 DCV04 CLS Q0 SET FIELD TO -0 F0D09080 STO* DCV06 F0D09090 SUB * INITIALIZE INSTRUCTION TO SUBTRACT F0D09100 STD DCV06+4 F0D09110 TOV *+1 F0D09120 TRA DCV05+2 F0D09130 REM CONVERT NEXT DIGIT IN FIELD F0D09140 DCV05 TRA *+1 (TRANSFER ADDRESS TO BUMP DECIMAL COUNTER F0D09150 TXI *+1,4,-1 (TRANSFER ADDRESS TO OMIT BUMP) F0D09160 SXA *+2,4 SAVE DECIMAL PLACE COUNT F0D09170 TSX C0190,4 *GET NEXT CHARACTER F0D09180 AXT **,4 RELOAD DECIMAL PLACE COUNT F0D09190 LAS Q10 IS IT DIGIT F0D09200 TRA DCV08 NO F0D09210 TSX MACERR,4 **CHARACTER IS BCD 10 F0D09220 DCV06 CLA ** YES, MULTIPLY PARTIAL FIELD BY 10 F0D09230 ALS 2 F0D09240 ADD ** F0D09250 ALS 1 F0D09260 *** CHRCTR (INITIALIZED TO ADD OR SUBTRACT) F0D09270 TNO *+2 DID AC OVERFLOW F0D09280 TXI *+2,4,1 YES, BUMP DECIMAL COUNTER BACK F0D09290 DCV07 STO ** SAVE PARTIAL FIELD F0D09300 TRA ** TRANSFER TO OMIT/BUMP DECIMAL COUNTER F0D09310 REM DETERMINE TYPE OF FOLLOWING FIELD F0D09320 DCV08 LAS COMMA IS CHARACTER , F0D09330 TRA DCVRR NO, ILLEGAL CHARACTER F0D09340 TRA DCV09+1 YES, END OF NUMERIC FIELD F0D09350 LAS BLANK NO, IS CHARACTER BLANK F0D09360 TRA DCVRR NO, ILLEGAL CHARACTER F0D09370 TRA DCV09 YES, END OF VARIABLE FIELD F0D09380 LAS MINUS NO, IS CHARACTER - F0D09390 TRA DCVRR NO, ILLEGAL CHARACTER F0D09400 TRA DCV04 YES, RESET OPERATION CODE F0D09410 LAS POINT NO, IS CHARACTER . F0D09420 TRA DCVRR NO, ILLEGAL CHARACTER F0D09430 TRA DCV16 $F0D09440 LAS QE NO, IS CHARACTER E F0D09450 TRA DCVRR NO, ILLEGAL CHARACTER F0D09460 TRA DCV17 $F0D09470 LAS QB NO, IS CHARACTER B F0D09480 TRA DCVRR NO, ILLEGAL CHARACTER F0D09490 TRA DCV18 $F0D09500 LAS PLUSS NO, IS CHARACTER + F0D09510 TRA DCVRR NO, ILLEGAL CHARACTER F0D09520 TRA DCV05+2 YES, IGNORE IT F0D09530 TRA DCVRR NO, ILLEGAL CHARACTER F0D09540 REM TEST FOR DECIMAL EXPONENT F0D09550 DCV09 SLN FLDND SET END OF VARIABLE FIELD (BLANK) FLAG F0D09560 CLA NERAS LOAD DIGIT F0D09570 TZE DECCX IS DIGIT ZERO F0D09580 NZT DCXFG NO, DOES DECIMAL EXPONENT EXIST F0D09590 TRA DCV10 NO, TEST FOR BINARY EXPONENT F0D09600 CAL P4 YES, COMPLEMENT NEGATIVE DECIMAL EXPONENT F0D09610 ADD XERAS F0D09620 ALS 18 COMPUTE EXPLICIT+IMPLICIT EXPONENT F0D09630 STD *+2 F0D09640 CLA NERAS RELOAD DIGIT F0D09650 TXI DCV11,4,** F0D09660 REM TEST FOR BINARY EXPONENT F0D09670 DCV10 NZT DCBFG DOES BINARY EXPONENT EXIST F0D09680 ZET DCNFG NO, DOES DECIMAL EXPONENT EXIST F0D09690 TRA DCV11 YES F0D09700 TRA DECCX NO, NUMBER IS BINARY INTEGER F0D09710 REM CONVERT TO FLOATING POINT NUMBER F0D09720 DCV11 STA FPCV1 SAVE LOW ORDER 15 BITS F0D09730 ARS 15 DELETE LOW ORDER 15 BITS F0D09740 ORA FPCV2 COMBINE WITH EXPONENT 2**52(8) F0D09750 FAD FPCV2 NORMALIZE LEADING 20 BITS EXP 2**43(8) F0D09760 TPL *+3 COMBINE NORMALIZED LEADING 20 BITS F0D09770 FSB FPCV1 WITH FOLLOWING I5 BITS UNNORMALIZED F0D09780 TRA *+2 EXPONENT 2**52(8)/2**15(8) = 2**33(8) F0D09790 FAD FPCV1 INTO DOUBLE PRECISION NUMBER EXP 2**35(10)F0D09800 STQ ERASE SAVE LEAST SIGNIFICANT PART F0D09810 TXL DCV13,4,0 IS DECIMAL EXPONENT ZERO F0D09820 TXH DCV12,4,38 NO, IS DECIMAL EXPONENT NEGATIVE F0D09830 TXI *+1,4,-1 NO, COMPLEMENT IT F0D09840 SXD *+2,4 F0D09850 AXT -1,4 F0D09860 TIX *+2,4,** F0D09870 TSX MACERR,4 **INDEX FAILURE F0D09880 XCA BRING MOST SIGNIFICANT PART INTO MQ F0D09890 FMP DECTAB,4 MULTIPLY BY POWER OF TEN (FACTOR IS SUCH F0D09900 REM THAT FPCV3 AND FPCV4 WILL CORRECT EXP) F0D09910 STO NERAS SAVE MOST SIGNIFICANT PART F0D09920 STQ XERAS SAVE LEAST SIGNIFICANT PART F0D09930 LDQ ERASE LOAD OLD LEAST SIGNIFICANT PART F0D09940 FMP DECTAB,4 MULTIPLY BY POWER OF TEN F0D09950 FAD XERAS COMBINE WITH DOUBLE PRECISION RESULTS F0D09960 FAD NERAS CONVERTED FROM OLD MOST SIGNIFICANT PART F0D09970 ACL FPCV4 BUMP EXPONENT TO CORRECT FOR TABLE FACTOR F0D09980 PBT DID AC OVERFLOW F0D09990 TRA DCV13 NO, PROCESS BINARY EXPONENT F0D10000 TRA DCVRR+1 YES F0D10010 DCV12 TXL DCVRR+1,4,-49 IS EXPONENT ILLEGAL F0D10020 FDP DECTAB,4 NO, DIVIDE BY POWER OF TEN F0D10030 STQ NERAS SAVE MOST SIGNIFICANT PART F0D10040 FAD ERASE COMBINE REMAINDER WITH LEAST SIGNIF PART F0D10050 FDP DECTAB,4 DIVIDE BY POWER OF TEN F0D10060 DCT DID DIVIDE FAIL F0D10070 TSX MACERR,4 **YES F0D10080 XCA RECALL MOST SIGNIFICANT PART F0D10090 FAD NERAS COMBINE WITH PRIOR MOST SIGNIFICANT PART F0D10100 ACL FPCV3 BUMP EXPONENT TO CORRECT FOR TABLE FACTOR F0D10110 PBT DID AC OVERFLOW F0D10120 TRA DCVRR+1 NO F0D10130 DCV13 NZT DCBFG DOES BINARY EXPONENT EXIST F0D10140 TRA DECCX NO, NUMBER IS FLOATING POINT F0D10150 STO NERAS YES, SAVE FLOATING POINT NUMBER F0D10160 ALS 2 DELETE P, Q, BITS F0D10170 SSM F0D10180 ARS 29 RIGHT ADJUST EXPONENT F0D10190 ADD Q128 COMPUTE ABSOLUTE EXPONENT F0D10200 ADD BERAS COMBINE WITH BINARY EXPONENT F0D10210 TPL *+2 IS EXPONENT TOO SMALL F0D10220 TNZ DCVRR+1 YES F0D10230 STA DCV14 NO, USE EXPONENT AS SHIFT COUNT F0D10240 CLA NERAS RELOAD FLOATING POINT NUMBER F0D10250 LLS 8 DELETE AC, MQ EXPONENTS F0D10260 ALS 2 DELETE P, Q BITS F0D10270 ARS 10 REPOSITION 27 BIT FRACTION F0D10280 LLS 8 APPEND 27 LOW ORDER BITS F0D10290 DCV14 LRS ** SHIFT BINARY INTEGER TO PROPER POWER OF 2 F0D10300 TRA DECCX F0D10310 DCVRR TSX SCEND,4 *SKIP TO END OF FIELD F0D10320 PXD ,0 DELETE INTEGER IN ERROR F0D10330 STL ERRFE SET ERROR FLAG F0D10340 DECCX AXT **,4 RELOAD CALLING LINKAGE F0D10350 TRA 1,4 F0D10360 FPCV1 OCT 233000000000 CONSTANT TO NORMALIZE LOW ORDER 15 BITS F0D10370 FPCV2 OCT 252000000000 CONSTANT TO NORMALIZE HIGH ORDER 20 BITS F0D10380 FPCV3 OCT 335000000000 CONSTANT TO CORRECT EXPONENT ON DIVIDE F0D10390 FPCV4 OCT 043000000000 CONSTANT TO CORRECT EXPONENT ON MULTIPLY F0D10400 REM F0D10410 REM CONVERT ONE FIELD OF VFD TO BINARY F0D10420 VFDCV SXA VFDCX,4 SAVE CALLING LINKAGE F0D10430 STZ VFDFL RESET LOW ORDER HALF OF FIELD F0D10440 STZ VFDFL+1 RESET HIGH ORDER HALF OF FIELD F0D10450 STZ VFDHF RESET HOLLERITH FIELD FLAG F0D10460 STZ VFDOF RESET OCTAL FIELD FLAG F0D10470 STZ VFDFB RESET FIELD WIDTH F0D10480 TSX C0190,4 *GET FIRST CHARACTER OF NEXT FIELD F0D10490 LAS COMMA IS IT COMMA F0D10500 TRA VCV07 NO, ILLEGAL CHARACTER F0D10510 TRA VCV06+1 YES, END OF FIELD F0D10520 LAS BLANK IS IT BLANK F0D10530 TRA VCV07 NO, ILLEGAL CHARACTER F0D10540 TRA VCV06 YES, END OF VARIABLE FIELD F0D10550 LAS QO NO, IS IT O F0D10560 TRA VCV07 NO, ILLEGAL CHARACTER F0D10570 TRA VCV01 YES OCTAL FIELD FOLLOWS F0D10580 LAS QH NO, IS IT H F0D10590 TRA VCV07 NO, ILLEGAL CHARACTER F0D10600 TRA VCV01+2 YES HOLLERITH FIELD FOLLOWS F0D10610 TRA VCV02+1 NO, FIELD MUST BE SYMBOLIC F0D10620 REM FIELD IS OCTAL F0D10630 VCV01 STL VFDOF SET OCTAL FIELD FLAG F0D10640 TRA VCV02 F0D10650 REM FIELD IS HOLLERITH F0D10660 STL VFDHF SET HOLLERITH FIELD FLAG F0D10670 REM REENTRY TO COLLECT SECOND DIGIT OF FIELD WIDTH F0D10680 VCV02 TSX C0190,4 *GET NEXT CHARACTER F0D10690 REM REENTRY FOR SYMBOLIC FIELD F0D10700 LAS SLASH IS CHARACTER / F0D10710 TRA VCV07 NO, ILLEGAL CHARACTER F0D10720 TRA VCV03 YES, FIELD FOLLOWS F0D10730 LAS Q10 NO, IS CHARACTER NUMERIC F0D10740 TRA VCV07 NO, ILLEGAL CHARACTER F0D10750 TSX MACERR,4 **CHARACTER IS BCD 10 F0D10760 CLA VFDFB YES, MULTIPLY PARTIAL FIELD WIDTH BY 10 F0D10770 ALS 2 F0D10780 ADD VFDFB F0D10790 ALS 1 F0D10800 ADD CHRCTR ADD NEXT DIGIT F0D10810 STO VFDFB SAVE NEW PARTIAL FIELD WIDTH F0D10820 TRA VCV02 F0D10830 REM REENTRY AFTER / FIELD FOLLOWS F0D10840 VCV03 LXA VFDFB,4 LOAD FIELD WIDTH F0D10850 TXL *+4,4,63 IS FIELD TOO LONG F0D10860 STL ERRFE YES, SET ERROR FLAG F0D10870 AXT 63,4 RESET LENGTH OF FIELD F0D10880 SXA VFDFB,4 F0D10890 ZET VFDHF IS FIELD HOLLERITH F0D10900 TRA VCV05 YES F0D10910 NZT VFDOF NO, IS FIELD OCTAL F0D10920 TRA *+3 NO, FIELD IS SYMBOLIC F0D10930 TXH VCV04,4,36 YES, IS OCTAL FIELD GREATER THAN ONE WORD F0D10940 STL BOLMD NO, SET BOOLEAN SCAN FLAG F0D10950 REM FIELD IS SYMBOLIC OR BOOLEAN NOT LONGER THAN ONE WORD F0D10960 TSX SCANF,4 *EVALUATE SYMBOLIC OR BOOLEAN EXPRESSION F0D10970 TXI VCV06,,0 NULL FIELD F0D10980 SLT EXPRR WAS FIELD IN ERROR F0D10990 TRA *+2 NO F0D11000 TRA VCV07+2 YES F0D11010 SLW VFDFL SAVE LOW ORDER PORTION F0D11020 TRA VCV06+1 F0D11030 REM FIELD IS OCTAL F0D11040 VCV04 TSX C0190,4 *GET NEXT CHARACTER F0D11050 LAS COMMA IS IT COMMA F0D11060 TRA VCV07+1 NO, ILLEGAL CHARACTER F0D11070 TRA VCV06+1 YES, END OF FIELD F0D11080 LAS BLANK IS IT BLANK F0D11090 TRA VCV07+1 NO, ILLEGAL CHARACTER F0D11100 TRA VCV06 YES, END OF VARIABLE FIELD F0D11110 LAS Q8 IS IT AN OCTAL DIGIT F0D11120 NOP NO F0D11130 TRA VCV07+1 ILLEGAL CHARACTER F0D11140 CAL VFDFL+1 LOAD HIGH ORDER PORTION OF WORD F0D11150 LDQ VFDFL LOAD LOW ORDER PORTION OF WORD F0D11160 LGL 3 BUMP WORD LEFT ONE OCTAL DIGIT F0D11170 SLW VFDFL+1 SAVE HIGH ORDER PORTION OF WORD F0D11180 XCL F0D11190 ORA CHRCTR APPEND DIGIT TO LOW ORDER PORTION OF WORD F0D11200 SLW VFDFL SAVE LOW ORDER PORTION OF WORD F0D11210 TRA VCV04 F0D11220 REM FIELD IS HOLLERITH F0D11230 VCV05 CAL BLANKS BLANK OUT HIGH AND LOW ORDER PORTION F0D11240 SLW VFDFL+1 WORD F0D11250 SLW VFDFL F0D11260 TSX C0190,4 *GET NEXT CHARACTER F0D11270 LAS COMMA IS IT , F0D11280 TRA *+2 NO F0D11290 TRA VCV06+1 YES, END OF FIELD F0D11300 LAS BLANK NO, IS IT BLANK F0D11310 TRA *+2 NO F0D11320 TRA VCV06 YES, END OF VARIABLE FIELD F0D11330 LDQ VFDFL NO, LOAD LOW ORDER PORTION OF WORD F0D11340 CAL VFDFL+1 LOAD HIGH ORDER PORTION OF WORD F0D11350 LGL 6 SHIFT LEFT ONE CHARACTER F0D11360 SLW VFDFL+1 SAVE HIGH ORDER PORTION OF WORD F0D11370 XCL F0D11380 ORA CHRCTR APPEND NEXT CHARACTER F0D11390 SLW VFDFL SAVE LOW ORDER PORTION OF WORD F0D11400 TRA VCV05+3 F0D11410 REM REENTRY AFTER BLANK, END OF VARIABLE FIELD F0D11420 VCV06 SLN FLDND SET END OF VARIABLE FIELD FLAG F0D11430 REM REENTRY AFTER COMMA, END OF FIELD F0D11440 LXA VFDFB,4 LOAD WIDTH OF FIELD F0D11450 CAL VFDFL+1 LOAD HIGH ORDER PORTION OF FIELD F0D11460 LDQ VFDFL LOAD LOW ORDER PORTION OF FIELD F0D11470 LGL 72,4 LEFT ADJUST FIELD CONTENTS F0D11480 SLW VFDFL+1 SAVE HIGH ORDER PORTION OF FIELD F0D11490 STQ VFDFL SAVE LOW ORDER PORTION OF FIELD F0D11500 TRA VFDCX F0D11510 REM ERROR ON FIELD DESIGNATION - SKIP OVER FIELD F0D11520 VCV07 STZ VFDFB RESET FIELD WIDTH F0D11530 TSX SCEND,4 *SKIP TO END OF FIELD F0D11540 REM FIELD IS IN ERROR F0D11550 STL ERRFE SET ERROR FLAG F0D11560 VFDCX AXT **,4 RELOAD CLALING LINKAGE F0D11570 TRA 1,4 F0D11580 REM F0D11590 REM CONVERT 12 DIGIT OCTAL FIELD TO BINARY F0D11600 OCTSV CAL SYMBL COMBINE LOW AND HIGH ORDER PORTIONS F0D11610 ORA SYMB2 OF 12 DIGIT OCTAL FIELD F0D11620 ANA YYMSK IS ELEMENT OCTAL F0D11630 TNZ OCTSR **NO F0D11640 LDQ SYMBL LOAD LOW ORDER DIGITS F0D11650 CAQ OCTALT,,6 CONVERT FROM OCTAL F0D11660 ARS 18 REPOSITION IN LOW ORDER F0D11670 SLW ELMEQ SAVE F0D11680 NZT SYMB2 DO HIGH ORDER DIGITS EXIST F0D11690 TRA OCTSX NO F0D11700 LDQ SYMB2 LOAD HIGH ORDER DIGITS F0D11710 PXD ,0 F0D11720 CAQ OCTALT,,6 CONVERT FROM OCTAL F0D11730 ANA PRDMK DELETE LOW ORDER GARBAGE F0D11740 ORA ELMEQ COMBINE WITH LOW ORDER DIGITS F0D11750 TRA OCTSX F0D11760 OCTSR SLN EXPRR SET ERROR FLAGS F0D11770 STL ERRFB F0D11780 PXD ,0 DELETE VALUE OF OCTAL INTEGER IN ERROR F0D11790 OCTSX TRA 1,4 F0D11800 PRDMK SVN ,,-1 MASK FOR PREFIX,DECREMENT FIELD BITS 0-17 F0D11810 YYMSK BCI 1,YYYYYY MASK FOR NON-OCTAL CHARACTERS F0D11820 REM F0D11830 REM CONVERT 12 DIGIT DECIMAL FIELD TO BINARY F0D11840 DECSV LDQ SYMBL LOAD LOW ORDER DIGITS F0D11850 PXD ,0 F0D11860 CAQ INTTAB,,6 CONVERT FROM DECIMAL F0D11870 ARS 16 REPOSITION IN LOW ORDER F0D11880 STO ELMEQ SAVE F0D11890 NZT SYMB2 DO HIGH ORDER DIGITS EXIST F0D11900 TRA DECSX NO F0D11910 LDQ SYMB2 YES, LOAD LOW ORDER DIGITS F0D11920 PXD ,0 F0D11930 CAQ INTTAB,,6 CONVERT FROM DECIMAL F0D11940 ARS 16 REPOSITION IN LOW ORDER F0D11950 XCA F0D11960 VLM MILLN,,20 MULTIPLY BY 10**6 F0D11970 TOV *+1 TURN OFF TRIGGER F0D11980 LLS 8 SCALE F0D11990 ADD ELMEQ COMBINE WITH LOW ORDER DIGITS F0D12000 TNO DECSX IS NUMBER LARGER THAN 2**35 F0D12010 SLN EXPRR YES, SET ERROR FLAGS F0D12020 STL ERRFE F0D12030 PXD ,0 DELETE NUMBER F0D12040 DECSX TRA 1,4 F0D12050 MILLN DEC 004096000000 F0D12060 REM F0D12070 REM CONVERT BINARY NUMBER RIGHT ADJUSTED IN AC TO BCD F0D12080 BCDCV LDQ Q0 PREPARE TO CONVERT NUMBER TO DECIMAL F0D12090 TRA BCDV1 HUNDRED THOUSAND PATCH (25)F0D12100 VDP Q10000,,4 TENS OF THOUSANDS F0D12110 RQL 6 F0D12120 LRS 4 F0D12130 VDP Q1000,,4 THOUSANDS F0D12140 RQL 6 F0D12150 LRS 4 F0D12160 VDP Q100,,4 HUNDREDS F0D12170 RQL 6 F0D12180 LRS 4 F0D12190 VDP Q10,,4 TENS F0D12200 RQL 6 F0D12210 STQ NERAS COMBINE WITH F0D12220 ORA NERAS ONES F0D12230 DCT TURN OFF TRIGGER F0D12240 NOP F0D12250 TRA 1,4 F0D12260 REM F0D12270 REM ASSEMBLE 12 CHARACTER ALPHAMERIC SYMBOL F0D12280 SSCAN STZ SYMB2 CLEAR HIGH ORDER SYMBOL F0D12290 STZ SYMBL CLEAR LOW ORDER SYMBOL F0D12300 CAL CHRCTR LOAD FIRST CHARACTER NEXT FIELD F0D12310 ERA BLANK IS IT BLANK F0D12320 TZE 1,4 YES, NULL EXPRESSION F0D12330 REM REENTRY TO CONTINUE SCAN OF FIELD F0D12340 SSCET SXA SSCNX,4 SAVE CALLING LINKAGE F0D12350 TOV *+1 TURN OFF TRIGGER F0D12360 TSX C0190,4 *GET NEXT CHARACTER F0D12370 PAX ,4 FOR TESTING F0D12380 TXL SSCN1,4,9 CHARACTER IS NUMERIC F0D12390 TXL SSCN0,4,12 CHARACTER IS = OR ' F0D12400 TXL SSCRR,4,15 CHARACTER IS ILLEGAL F0D12410 TXL SSCNX,4,16 CHARACTER IS + F0D12420 TXL SSCN1,4,25 CHARACTER IS ALPHABETIC F0D12430 TXL SSCRR,4,26 CHARACTER IS +0 F0D12440 TXL SSCN1,4,27 CHARACTER IS . F0D12450 TXL SSCN0,4,28 CHARACTER IS ) F0D12460 TXL SSCRR,4,31 CHARACTER IS ILLEGAL F0D12470 TXL SSCNX,4,32 CHARACTER IS - F0D12480 TXL SSCN1,4,41 CHARACTER IS ALPHABETIC F0D12490 TXL SSCRR,4,42 CHARACTER IS -0 F0D12500 TXL SSCNX,4,44 CHARACTER IS $ OR * F0D12510 TXL SSCRR,4,47 CHARACTER IS ILLEGAL F0D12520 TXL SSCN2,4,48 CHARACTER IS BLANK F0D12530 TXL SSCNX,4,49 CHARACTER IS / F0D12540 TXL SSCN1,4,57 CHARACTER IS ALPHABETIC F0D12550 TXL SSCRR,4,58 CHARACTER IS RM F0D12560 TXL SSCN2+1,4,59 CHARACTER IS , F0D12570 TXH SSCRR,4,60 CHARACTER IS ILLEGAL F0D12580 REM CHARACTER IS ( ) ' = F0D12590 SSCN0 TXL SSCNX,4,** IS THIS SCAN DURING MACRO DEFINITION F0D12600 TXL SSCRR,4,12 NO, IS CHARACTER = OR ' NOT LEGAL IN FAP F0D12610 REM CHARACTER IS VALID F0D12620 SSCN1 STZ SCNFC RESET FLAG FOR FIRST CHARACTER IN ELEMENT F0D12630 CAL SYMB2 LOAD HIGH ORDER PORTION F0D12640 LDQ SYMBL LOAD LOW ORDER PORTION F0D12650 LGL 6 SHIFT UP NEXT CHARACTER F0D12660 TOV SSCRR IS SYMBOL (OR INTEGER) TOO LONG F0D12670 SLW SYMB2 NO, SAVE HIGH ORDER PORTION F0D12680 XCL F0D12690 ADD CHRCTR APPEND NEXT CHARACTER TO LOW ORDER PART F0D12700 SLW SYMBL SAVE LOW ORDER PORTION F0D12710 TRA SSCET+2 F0D12720 REM CHARACTER IS ILLEGAL F0D12730 SSCRR STZ SYMB2 CLEAR SYMBOL F0D12740 STZ SYMBL F0D12750 SLN EXPRR SET ERROR FLAGS F0D12760 STL ERRFE F0D12770 TSX SCEND,4 *SKIP TO END OF INTEGER F0D12780 TRA FLAGB SET BOOLEAN ERROR FLAG $F0D12790 REM END OF FIELD F0D12800 SSCN2 SLN FLDND SET END OF VARIABLE FIELD (BLANK) FLAG F0D12810 SLN EXPND SET END OF EXPRESSION (, OR BLANK) FLAG F0D12820 SSCNX AXT **,4 RELOAD CALLING LINKAGE F0D12830 TRA 2,4 F0D12840 REM F0D12850 REM SKIP TO END OF EXPRESSION F0D12860 SCEND SXA SCENX,4 SAVE CALLING LINKAGE F0D12870 TSX C0190,4 *GET NEXT CHARACTER F0D12880 PAX ,4 FOR TESTING F0D12890 TXL SCEND+1,4,47 F0D12900 TXL *+4,4,48 CHARACTER IS BLANK F0D12910 TXL SCEND+1,4,58 F0D12920 TXL SCENX,4,59 CHARACTER IS COMMA F0D12930 TRA SCEND+1 F0D12940 SLN FLDND SET END OF VARIABLE FIELD (BLANK) FLAG F0D12950 SCENX AXT **,4 RELOAD CALLING LINKAGE F0D12960 TRA 1,4 F0D12970 REM F0D12980 REM LEFT ADJUST SYMBOL NAME F0D12990 LADJS NZT SYMB2 DOES LENGTH OF SYMBOL EXCEDE 6 CHARACTERS F0D13000 TRA *+3 NO F0D13010 SLN EXPRR YES, SET ERROR FLAGS F0D13020 STL ERRFE F0D13030 CAL SYMBL LOAD LOW ORDER SYMBOL NAME F0D13040 TZE *+5 DOES SYMBOL NAME EXIST F0D13050 LDQ BLANKS YES, LOAD FOLLOWING BLANKS F0D13060 LGR 6 SHIFT OUT NEXT CHARACTER F0D13070 TNZ *-1 IS SYMBOL LEFT ADJUSTED F0D13080 XCL YES, RECALL LEFT ADJUSTED SYMBOL NAME F0D13090 TRA 1,4 F0D13100 REM F0D13110 REM GOOD OLD C0190 - GET NEXT CHARACTER F0D13120 C0190 LDQ RESIDU RELOAD REMAINDER OF SOURCE CARD WORD F0D13130 C019Q BSS 0 ENTRY FOR RESIDUE IN MQ (24)F0D13135 TIX *+3,1,1 IS CHARACTER COUNT EXHAUSTED F0D13140 TSX C0200,1 *YES, GET NEXT SOURCE CARD WORD F0D13150 AXT 6,1 RESET CHARACTER COUNT F0D13160 PXD ,0 F0D13170 LGL 6 SHIFT IN NEXT CHARACTER F0D13180 STQ RESIDU SAVE REMAINDER OF SOURCE CARD F0D13190 SLW CHRCTR SAVE IT F0D13200 TRA 1,4 F0D13210 REM F0D13220 REM LOOK AT NEXT CHARACTER F0D13230 C019A LDQ RESIDU RELOAD REMAINDER OF SOURCE CARD WORD F0D13240 TXH *+4,1,1 IS CHARACTER COUNT EXHAUSTED F0D13250 TSX C0200,1 *YES, GET NEXT SOURCE CARD WORD F0D13260 STQ RESIDU SAVE REMAINDER OF SOURCE CARD F0D13270 AXT 7,1 RESET CHARACTER COUNT F0D13280 PXD ,0 F0D13290 LGL 6 SHIFT IN NEXT CHARACTER F0D13300 TRA 1,4 F0D13310 REM F0D13320 REM GET NEXT WORD F0D13330 C0200 TXI *+1,2,-1 BUMP CARD WORD COUNT F0D13340 LDQ BCDBF,2 LOAD NEXT SOURCE CARD WORD F0D13350 TXH *+2,2,-12 IS THIS CARD IMAGE WORD 13 F0D13360 LDQ BLANKS YES, SET STOP F0D13370 TRA 1,1 F0D13380 REM F0D13390 REM BUMP STORAGE COUNTERS F0D13400 BPCTR STO BERAS SAVE LENGTH OF BUMP F0D13410 ADD CDCTR BUMP CARD STORAGE COUNTER F0D13420 STA CDCTR F0D13430 CLA BERAS RECALL LENGTH OF BUMP F0D13440 ADD LOCTR BUMP PROGRAM COUNTER F0D13450 STA LOCTR F0D13460 TRA 1,4 F0D13470 REM F0D13480 REM ERROR ROUTINES F0D13490 SRCERR STI DIGM2+1 SET TABLE NAME F0D13500 TSX WRITT,4 *WRITE DIAGNOSTIC HEADING F0D13510 PZE DIGM1,,5 F0D13520 CAL DIGM1 SET DOUBLE SPACE F0D13530 SLW BCDBF-1 F0D13540 TSX WRITT,4 *WRITE OFFENDING CARD F0D13550 PZE BCDBF-1,,15 F0D13560 TSX WRITT,4 *WRITE TABLE NAME F0D13570 MZE DIGM2,,5 F0D13580 TSX WRFBK,4 *WRITE LAST PARTIAL LISTING BUFFER F0D13590 TSX (SECL),4 **TERMINATE ASSEMBLY F0D13600 PZE PATCH SPACE FOR POSSIBLE PARAMETER F0D13610 REM F0D13620 TAPERR STZ ORDRF SET TAPE ERROR FLAG $F0D13630 TRA MACERR+2 (RESET BY CLOSEOUT ROUTINES) $F0D13640 MACERR TXI *+1,,0 PARAMETER TO IDENTIFY MACHINE ERROR $F0D13650 STL ORDRF SET MACHINE ERROR FLAG $F0D13660 ZET ORDRF WAS THIS TAPE ERROR $F0D13670 TRA (DIAG) **NO,THIS WAS CORE ERROR $F0D13680 TSX (MECL),4 **YES,ERROR MESSAGE HAS BEEN PRINTED $F0D13690 STP00 CAL* (FGBX) $F0D13700 ANA Q4 IS THIS AN IBSFAP JOB $F0D13710 TZE STP01 NO, THIS IS FORTRAN MODE (24)F0D13720 STL COMCD YES, SET FLAG TO UNBLOCK (24)F0D13730 SSM CONTROL CARDS (24)F0D13740 TRA 1,4 (24)F0D13750 BCDV1 LRS 4 (25)F0D13760 VDP TEN5TH,,4 HUNDREDS OF THOUSANDS (25)F0D13770 RQL 6 (25)F0D13780 LRS 4 (25)F0D13790 TRA BCDCV+2 BACK TO BCDCV ROUTINE (25)F0D13800 DUP 1,6 PATCH SPACE (25)F0D13810 PZE (25)F0D13820 REM F0D13850 DIGM1 BCI 5,0 FAP DIAGNOSTIC RESULT F0D13860 DIGM2 BCI 5,0 TABLE OVERFLOWED F0D13870 HEDNM BCI 1,HEADNG F0D13880 VECNM BCI 1,VECTOR F0D13890 LITNM BCI 1,LITRAL F0D13900 SYMNM BCI 1,SYMBOL F0D13910 OPTNM BCI 1,OPRTN F0D13920 REM F0D13930 *CALL MONITOR SCAN AFTER UPDATE WITH ASSEMBLY DELETED OR END OF PASS 2.$F0D13940 LOADER TSX (LOAD),4,1 *CALL MONITOR SCAN $F0D13950 BCI 1,9F0600 REC. 7 PARAMETER . MONITOR SCAN $F0D13960 REM F0D13970 REM SPACE PAGE F0D13980 SPACP SXA *+5,1 F0D13990 AXT 7,1 F0D14000 TSX (PRNT),4 *PRINT 7 DOUBLE SPACED BLANK LINES F0D14010 PZE SPACE,,1 FOR THE NEARSIGHTED F0D14020 TIX *-2,1,1 F0D14030 AXT **,1 F0D14040 CLA ALONE LIGHT UP CONSOLE F0D14050 ALS 2 F0D14060 ORA ALONE F0D14070 LDQ ALONE F0D14080 HPR -1,7 PAUSE F0D14090 SPACS NOP SHOULD JOB BE TERMINATED F0D14100 TRA 1,2 NO F0D14110 TSX (PRNT),4 *YES, TELL THE WORLD F0D14120 PZE *+2,,6 F0D14130 TRA TAPERR **TERMINATE ASSEMBLY F0D14140 BCI 6,0 ASSEMBLY TERMINATED BY OPERATIONS. F0D14150 REM F0D14160 REM F0D14170 REM CONSTANTS F0D14180 Q0 PZE 0 F0D14190 Q1 PZE 1 9 BIT 0 ZONE F0D14200 Q2 PZE 2 8 BIT 11 ZONE F0D14210 Q4 PZE 4 7 BIT 12 ZONE F0D14220 ZONER SYN * F0D14230 Q8 PZE 8 6 BIT NO ZONE F0D14240 Q16 PZE 16 5 BIT F0D14250 Q32 PZE 32 4 BIT F0D14260 Q64 PZE 64 3 BIT F0D14270 Q128 PZE 128 2 BIT F0D14280 Q256 PZE 256 1 BIT F0D14290 DIGIT PZE 512 0 BIT F0D14300 Q3 PZE 3 F0D14310 DASTR BCI 1,**0000 SPECIAL OP CODE COMPARE WORD (24)F0D14320 Q6 PZE 6 F0D14330 Q7 PZE 7 MASK FOR OCTAL CHARACTER F0D14340 Q10 PZE 10 F0D14350 Q15 PZE 15 F0D14360 INP06 NUMBER - ADDEND OF NEXT CARD (25)F0D14370 Q36 PZE 36 F0D14380 Q62 PZE 62 F0D14390 Q63 PZE 63 MASK FOR BCD CHARACTER F0D14400 Q100 PZE 100 F0D14410 Q127 OCT 1777 MASK FOR LOW ORDER TEN BITS $F0D14420 Q1000 PZE 1000 F0D14430 Q4095 PZE 4095 MASK FOR TWO BCD CHARACTERS F0D14440 Q7680 PZE 7680 F0D14450 Q8192 PZE 8192 F0D14460 Q10000 PZE 10000 F0D14470 Q16384 PZE 16384 F0D14480 ADDMK PZE -1 MASK FOR ADDRESS FIELD BITS 21 - 35 F0D14490 T1 PZE ,1 F0D14500 T2 PZE ,2 F0D14510 T3 PZE ,3 F0D14520 T4 PZE ,4 F0D14530 NUM03 PZE -1,-1,3 MASK FOR LOW ORDER 20 BITS (25)F0D14540 ADTMK PZE -1,-1 MASK FOR ADDRESS,TAG FIELD BITS 18 - 35 F0D14550 D1 PZE ,,1 F0D14560 D2 PZE ,,2 FLAG FOR EXPLICIT ZERO IN MACRO LOC FIELD F0D14570 REM MASK FOR FLAG REQUIRING DECREMENT FIELD F0D14580 DELTF PZE FLAG FOR SYMBOLIC REF TABLE ENTRIES $F0D14590 D4 PZE ,,4 MASK FOR FLAG REQUIRING TAG FIELD F0D14600 D5 PZE ,,5 RELOCATION BITS FOR NAME IN TRANSFER VECTRF0D14610 D8 PZE ,,8 FLAG FOR DUPLICATELY-DEFINED SYMBOLS F0D14620 REM MASK FOR FLAG REQUIRING ADDRESS FIELD F0D14630 INP07 ADDEND FOR NUMBERING (25)F0D14640 D48 PZE ,,48 INSTRUCTION INDIRECT ADDRESS BITS F0D14650 IMASK PZE ,4,48 MASK FOR FLAGS PERMITTING INDIRECT ADDRS F0D14660 D63 PZE ,,63 MASK FOR THIRD CHARACTER IN WORD F0D14670 D320 PZE ,,320 COULUMN BINARY BITS F0D14680 D4032 PZE ,,4032 MACRO ARGUMENT FLAG F0D14690 D32512 PZE ,,32512 MASK FOR 8-BIT COUNT FIELD F0D14700 D32767 PZE ,,-1 F0D14710 P1 PON F0D14720 P4 FOR F0D14730 BLNK3 BCI 1, 000 BLANK FOR OP CODE (24)F0D14740 P7 SVN F0D14750 ALONE SVN -1,-1,-1 FULL WORD MASK F0D14760 OPMSK OCT 777700217777 MASK FOR VALID MACHINE OPERATION BITS F0D14770 P1MSK OCT 777700000000 MASK TO DELETE CC 81 - 84 F0D14780 P2MSK BCI 1,00 MASK TO BLANK OUT CC 81 - 84 F0D14790 QE BCI 1,00000E F0D14800 POINT BCI 1,00000. F0D14810 QO BCI 1,00000O F0D14820 SPACE BCI 1,0 PROGRAM CONTROL CHARACTER F0D14830 4FLAG BCI 1,4 MODE ERROR FLAG F0D14840 9FLAG BCI 1,9 MODE ERROR FLAG F0D14850 EFLAG BCI 1, E LISTING FLAG FOR ERROR F0D14860 MFLAG BCI 1, M F0D14870 RCOMA BCI 1,,00000 F0D14880 REM F0D14890 REM MODE SETTING CHARACTERS FOR TAPENO PSEUDOOPERATION F0D14900 TAPCH BCI 1,00000 (1) F0D14910 QL BCI 1,00000L (2) F0D14920 QH BCI 1,00000H (3) F0D14930 QD BCI 1,00000D (4) F0D14940 QB BCI 1,00000B (5) F0D14950 REM F0D14960 REM MACRO PROCESSOR PUNCTUATION TABLE F0D14970 BKTBM SYN * F0D14980 LPARN BCI 1,00000( F0D14990 COMMA BCI 1,00000, F0D15000 SLASH BCI 1,00000/ F0D15010 BLANK BCI 1,00000 F0D15020 ASTRK BCI 1,00000* F0D15030 DOLAR BCI 1,00000$ F0D15040 MINUS BCI 1,00000- F0D15050 BCI 1,00000) F0D15060 PLUSS BCI 1,00000+ F0D15070 PRIME BCI 1,00000' F0D15080 EQUAL BCI 1,00000= F0D15090 BKTBL PZE ,,BKTBL-BKTBM MACRO PUNCTUATION TABLE F0D15100 REM F0D15110 REM CONVERSION TABLES F0D15120 REM F0D15130 REM TO CONVERT DECIMAL TO BINARY INTEGER F0D15140 INTTAB PZE INTTAB+10 F0D15150 PZE INTTAB+10,,25000 F0D15160 PON INTTAB+10,,50000 F0D15170 PTW INTTAB+10,,75000 F0D15180 PTH INTTAB+10,,100000 F0D15190 PTH INTTAB+10,,125000 F0D15200 FOR INTTAB+10,,150000 F0D15210 FVE INTTAB+10,,175000 F0D15220 SIX INTTAB+10,,200000 F0D15230 SIX INTTAB+10,,225000 F0D15240 INTTAB+20 F0D15250 INTTAB+20,,2500 F0D15260 INTTAB+20,,5000 F0D15270 INTTAB+20,,7500 F0D15280 INTTAB+20,,10000 F0D15290 INTTAB+20,,12500 F0D15300 INTTAB+20,,15000 F0D15310 INTTAB+20,,17500 F0D15320 INTTAB+20,,20000 F0D15330 INTTAB+20,,22500 F0D15340 INTTAB+30 F0D15350 INTTAB+30,,250 F0D15360 INTTAB+30,,500 F0D15370 INTTAB+30,,750 F0D15380 INTTAB+30,,1000 F0D15390 INTTAB+30,,1250 F0D15400 INTTAB+30,,1500 F0D15410 INTTAB+30,,1750 F0D15420 INTTAB+30,,2000 F0D15430 INTTAB+30,,2250 F0D15440 INTTAB+40 F0D15450 INTTAB+40,,25 F0D15460 INTTAB+40,,50 F0D15470 INTTAB+40,,75 F0D15480 INTTAB+40,,100 F0D15490 INTTAB+40,,125 F0D15500 INTTAB+40,,150 F0D15510 INTTAB+40,,175 F0D15520 INTTAB+40,,200 F0D15530 INTTAB+40,,225 F0D15540 INTTAB+50 F0D15550 INTTAB+50,4,2 F0D15560 INTTAB+50,0,5 F0D15570 INTTAB+50,4,7 F0D15580 INTTAB+50,0,10 F0D15590 INTTAB+50,4,12 F0D15600 INTTAB+50,0,15 F0D15610 INTTAB+50,4,17 F0D15620 INTTAB+50,0,20 F0D15630 INTTAB+50,4,22 F0D15640 0 F0D15650 0,2 F0D15660 0,4 F0D15670 0,6 F0D15680 0,0,1 F0D15690 0,2,1 F0D15700 0,4,1 F0D15710 0,6,1 F0D15720 0,0,2 F0D15730 0,2,2 F0D15740 REM F0D15750 REM F0D15760 REM TO CONVERT OCTAL TO BINARY INTEGER F0D15770 OCTALT PZE OCTALT+8 F0D15780 PON OCTALT+8 F0D15790 PTW OCTALT+8 F0D15800 PTH OCTALT+8 F0D15810 FOR OCTALT+8 F0D15820 FVE OCTALT+8 F0D15830 SIX OCTALT+8 F0D15840 SVN OCTALT+8 F0D15850 OCTALT+16 F0D15860 OCTALT+16,,4096 F0D15870 OCTALT+16,,2*4096 F0D15880 OCTALT+16,,3*4096 F0D15890 OCTALT+16,,4*4096 F0D15900 OCTALT+16,,5*4096 F0D15910 OCTALT+16,,6*4096 F0D15920 OCTALT+16,,7*4096 F0D15930 OCTALT+24 F0D15940 OCTALT+24,