ASALTPassBSource
ASALT Pass B Source 1401 Autocoder
Size 31.9 kB - File type text/plainFile contents
01010AUTOCODER RUN THRU OUTPUT PASSB 01020 JOB 1400 AUTOCODER TRANSLATOR -- ADJUST DMOD & CHECK I/O PASSB 01030 CTL 311 0PPP11 11792 PASSB 01040* PASSB 01050* MODIFIED 10/13/67. PASSB 01060* PASSB 01070 DIOCS PASSB 01080IODEVICES DISK PASSB 01090FEATURES DIRECT PASSB 01100DISKDRIVES 0,2,4,6,8 PASSB 01110DUPPACKS YES PASSB 01120PROCESTYPE CONSEC,RANDOM PASSB 01130 DTF SORCIN PASSB 01140FILETYPE DISK,INPUT,CONSEC PASSB 01150IOAREAS DISKIO PASSB 01160SIZEREC 100 PASSB 01170NAT0PACK 0 PASSB 01180EOFADDR ENDISK PASSB 01190FILESTART 001100 PASSB 01200FILEND 007999 PASSB 01210NSECTORS 1 PASSB 01220NRECORDS 0 PASSB 01230 DTF DSKOUT PASSB 01240FILETYPE DISK,RANDOM,INPUT PASSB 01250IOAREAS DISKIO PASSB 02010SIZEREC 100 PASSB 02020NAT0PACK 0 PASSB 02030NSECTORS 1 PASSB 02040NRECORDS 0 PASSB 02050UPDATE YES PASSB 02060 SKIPN PASSB 02070DISKIO DA 1X10,C PASSB 02080 1,1 PASSB 02090 DA 1X100,G,C PASSB 02100LBL14 6,12 PASSB 02110OPCODE 16,20 PASSB 02120 21,21 PASSB 02130AOPRND 73,79 PASSB 02140AADJ 81,83 PASSB 02150BOPRND 84,90 PASSB 02160BADJ 92,94 PASSB 02170DMOD 95,95 PASSB 02180LENGTH 96,96 PASSB 02190ASTRSK 97,97 PASSB 02200* PASSB 02210********** PASSB 02220* OPERATIONS THAT NEED LENGTH ALTERATIONS PASSB 02230********** PASSB 02240** PASSB 02250* 1 POSITION ALTERATION PASSB 03010** PASSB 03020TABLE1 EQU *&5 PASSB 03030 DCW @BU @ PASSB 03040 @BH @ PASSB 03050 @BL @ PASSB 03060 @BE @ PASSB 03070 @BER @ PASSB 03080 @BEF @ PASSB 03090 @BAV @ PASSB 03100 @BCV @ PASSB 03110 @BC9 @ PASSB 03120 @BPB @ PASSB 03130 @BPCB @ PASSB 03140 @BSP @ PASSB 03150 @RWU @ PASSB 03160 @RWD @ PASSB 03170 @WTM @ PASSB 03180 @SKP @ PASSB 03190 @BM @ PASSB 03200 @BW @ PASSB 03210 @RT @ PASSB 03220 @RTB @ PASSB 03230 @BLC @ PASSB 03240 @TRW @ PASSB 03250 @TR @ PASSB 04010 @RTW @ PASSB 04020 @WT @ PASSB 04030 @WTB @ PASSB 04040 @WTW @ PASSB 04050 @RCB @ PASSB 04060 @PCB @ PASSB 04070 @RF @ PASSB 04080 @WRF @ PASSB 04090TBL1EN EQU * PASSB 04100** PASSB 04110* 4 POSITION ADJUSTMENT PASSB 04120** PASSB 04130TABLE2 EQU *&5 PASSB 04140 DCW @RD @ PASSB 04150 @RDCO @ PASSB 04160 @RDCOW@ PASSB 04170 @RDT @ PASSB 04180 @RDTA @ PASSB 04190 @RDTAW@ PASSB 04200 @RDTR @ PASSB 04210 @RDTRW@ PASSB 04220 @RDTW @ PASSB 04230 @RDW @ PASSB 04240 @SD @ PASSB 04250 @SDE @ PASSB 05010 @SDEW @ PASSB 05020 @SDH @ PASSB 05030 @SDHW @ PASSB 05040 @SDL @ PASSB 05050 @SDLW @ PASSB 05060 @WD @ PASSB 05070 @WDC @ PASSB 05080 @WDCO @ PASSB 05090 @WDCOW@ PASSB 05100 @WDCW @ PASSB 05110 @WDT @ PASSB 05120 @WDTA @ PASSB 05130 @RCP @ PASSB 05140 @RCPW @ PASSB 05150 @WCP @ PASSB 05160 @WCPW @ PASSB 05170 @WDTAW@ PASSB 05180 @WDTR @ PASSB 05190 @WDTRW@ PASSB 05200 @WDTW @ PASSB 05210 @WDW @ PASSB 05220TBL2EN EQU * PASSB 05230** PASSB 05240* -2 POSITION ADJUSTMENT PASSB 05250** PASSB 06010TABLE3 EQU *&5 PASSB 06020 DCW @BIN @ PASSB 06030 @BSS @ PASSB 06040 @CC @ PASSB 06050 @CCB @ PASSB 06060TBL3CU @CU @ PASSB 06070 @SS @ PASSB 06080 @SSB @ PASSB 06090TBL3EN EQU * PASSB 06100********** PASSB 06110* OPERATIONS THAT MAY REQUIRE A DTF GENERATION PASSB 06120********** PASSB 06130** PASSB 06140* UNIT RECORD I/O COMMANDS PASSB 06150** PASSB 06160TABLE4 EQU *&5 PASSB 06170 DCW @R @ PASSB 06180 @P @ PASSB 06190 @W @ PASSB 06200 @RP @ PASSB 06210 @WP @ PASSB 06220 @WR @ PASSB 06230 @WRP @ PASSB 06240 @RF @ PASSB 06250 @WRF @ PASSB 07010 @RCB @ PASSB 07020 @P @ PASSB 07030 @PCB @ PASSB 07040 @PS @ PASSB 07050 @PSK @ PASSB 07060 @SS @ PASSB 07070 @SSB @ PASSB 07080 @CC @ PASSB 07090 @CCB @ PASSB 07100 @BLC @ PASSB 07110TBL4EN EQU * PASSB 07120** PASSB 07130* TAPE I/O COMMANDS PASSB 07140** PASSB 07150TABLE5 EQU *&5 PASSB 07160 DCW @BSP @ PASSB 07170 @RWD @ PASSB 07180 @RWU @ PASSB 07190 @SKP @ PASSB 07200 @WTM @ PASSB 07210 @RT @ PASSB 07220 @RTB @ PASSB 07230 @RTW @ PASSB 07240 @WT @ PASSB 07250 @WTB @ PASSB 08010 @WTW @ PASSB 08020TBL5EN EQU * PASSB 08030** PASSB 08040* MISCELLANEOUS TAPE COMMANDS PASSB 08050IOTBL ORG 101 PASSB 08060* CARD READER TABLE PASSB 08070RDRSW DC @ @ PASSB 08080RDRSS DCW @ @ PASSB 08090RDREOF DCW @ @ PASSB 08100RDRAR DCW @READARE@ PASSB 08110RDRDTF DCW @READ360@ PASSB 08120* CARD PUNCH TABLE PASSB 08130PCHSW DC @ @ PASSB 08140PCHSS DCW @ @ PASSB 08150PCHAR DCW @PCHAREA@ PASSB 08160PCHDTF DCW @PNCH360@ PASSB 08170* PRINTER TABLE PASSB 08180PRTSW DC @ @ PASSB 08190PRTCC DCW @ @ PASSB 08200PRTAR DCW @PRTAREA@ PASSB 08210PTRDTF DCW @PRNT360@ PASSB 08220* CARD PUNCH-FEED-READ TABLE PASSB 08230RDFSW DC @ @ PASSB 08240RDFSS DC @ @ PASSB 08250* TAPE I/O TABLES PASSB 09010 DA 6X12,C,X1 PASSB 09020TPUNIT 1,1 PASSB 09030TPIO 2,2 PASSB 09040TPAREA 3,11 PASSB 09050TPCTL 12,12 PASSB 09060* PASSB 09070 ORG IOTBL PASSB 09080* PASSB 09090PUTSW DC @ @ PASSB 09100SWIOCS EQU 86 PASSB 09110********** PASSB 09120* MAIN LINE ROUTINES -- SCAN TABLE%S<, UPDATE INSTRUCTION PASSB 09130* LENGTH, MOVE OPERAND TO D-MODIFIER, PASSB 09140* AND FILL IOCS TABLE. PASSB 09150********** PASSB 09160START OPEN D,SORCIN,DSKOUT PASSB 09170NXTGET MLC SORCIN&12,DSKOUT&12 SAVE DISK ADDRESS PASSB 09180 CW DMOD PASSB 09190 GET SORCIN PASSB 09200 SW DMOD PASSB 09210 SBR X1,TABLE1 PASSB 09220 BCE NXTGET,LBL14-6,* Q. COMMENTS CARD PASSB 09230 C OPCODE,@DIOCS@ PASSB 09240 BE SETIOC PASSB 09250 C OPCODE,@DTF @ PASSB 10010 BU SCAN1 PASSB 10020SETIOC SW SWIOCS INDICATE IOCS USED PASSB 10030SCAN1 C 0&X1,OPCODE Q. D-MOD NOT INCL IN INSTR. PASSB 10040 BE ADJLN1 YES PASSB 10050 C 0&X1,TBL1EN Q. END OF TABLE1 PASSB 10060 BE SETUP2 YES PASSB 10070 SBR X1,5&X1 NO--SET TO NEXT OPCODE PASSB 10080 B SCAN1 PASSB 10090ADJLN1 A @1@,LENGTH ADD 1 TO INSTRUCTION LENGTH PASSB 10100 SW PUTSW INDICATE CHANGE MADE PASSB 10110 B DONSCN PASSB 10120* PASSB 10130SETUP2 SBR X1,TABLE2 PASSB 10140SCAN2 C 0&X1,OPCODE Q. IMPLIED OPERAND PASSB 10150 BE ADJLN2 YES PASSB 10160 C 0&X1,TBL2EN Q. END OF TABLE2 PASSB 10170 BE SETUP3 YES PASSB 10180 SBR X1,5&X1 NO--SET TO NEXT OPCODE PASSB 10190 B SCAN2 PASSB 10200ADJLN2 A @4@,LENGTH ADD 4 TO INSTRUCTION LENGTH PASSB 10210 SW PUTSW INDICATE CHANGE MADE PASSB 10220 B DONSCN PASSB 10230* PASSB 10240SETUP3 SBR X1,TABLE3&5 PASSB 10250 C OPCODE,TABLE3 Q. BIN PASSB 11010 BU SCAN3 NO PASSB 11020 SBR X1,OPCODE&1 PASSB 11030BIN1 BCE BIN2,0&X1,, PASSB 11040 BCE DONSCN,0&X1, PASSB 11050 SBR X1,1&X1 PASSB 11060 B BIN1 PASSB 11070BIN2 MLC 1&X1,DMOD PASSB 11080 S @2@,LENGTH PASSB 11090 MLZS *-4,LENGTH PASSB 11100 SW PUTSW PASSB 11110 B BLANKB PASSB 11120SCAN3 C 0&X1,OPCODE Q. 2ND OPERAND A D-MODIFIER PASSB 11130 BE ADJLN3 YES PASSB 11140 C 0&X1,TBL3EN Q. END OF TABLE PASSB 11150 BE DONSCN YES PASSB 11160 SBR X1,5&X1 NO--SET TO NEXT OPCODE PASSB 11170 B SCAN3 PASSB 11180ADJLN3 S @2@,LENGTH SUB 2 FROM INSTRCTN LENGTH PASSB 11190 MLZS *-4,LENGTH PASSB 11200 SW PUTSW INDICATE CHANGE MADE PASSB 11210 BCE USEAOP,OPCODE-2, Q. 2 CHAR INSTRUCTION PASSB 11220USEBOP BCE *&5,BOPRND, PASSB 11230 B USBADJ PASSB 11240 MLC BOPRND-6,DMOD PASSB 11250BLANKB MLC @ @,BADJ BLANK OUT PASSB 12010 MLC B-OPERAND PASSB 12020 B DONSCN PASSB 12030USBADJ MLNS BADJ,DMOD PASSB 12040 A *-6,DMOD PASSB 12050 B DONSCN PASSB 12060USEAOP C OPCODE,TBL3CU Q. OPERATION A CONTROL PASSB 12070 BE USEBOP YES--USE B-OPERAND PASSB 12080 BCE *&5,AOPRND, PASSB 12090 B USAADJ PASSB 12100 MLC AOPRND-6,DMOD NO--USE D-MOD IN A-OPRND PASSB 12110 MLC @ @,AADJ BLANK OUT PASSB 12120 MLC A-OPERAND PASSB 12130 B DONSCN PASSB 12140USAADJ MLNS AADJ,DMOD PASSB 12150 A *-6,DMOD PASSB 12160** PASSB 12170* SCAN FOR OPERATIONS REQUIRING LENGTH AND D-MODIFIER PASSB 12180* ADJUSTMENT COMPLETED. PASSB 12190** PASSB 12200* THE FOLLOWING LOOKS FOR OPERATIONS THAT REQUIRE THE PASSB 12210* GENERATION OF DTF ENTRIES IN THE MAIN TRANSLATION PASSB 12220* PHASE. PASSB 12230** PASSB 12240DONSCN BW PUTDSK,PUTSW Q. CHANGE MADE TO DISK RECD PASSB 12250 SBR X1,TABLE4 NO--SCAN U/R I/O TABLE PASSB 13010SCAN4 C 0&X1,OPCODE Q. UNIT RECORD I/O COMMAND PASSB 13020 BE TESTUR YES PASSB 13030 C 0&X1,TBL4EN Q. END OF TABLE4 PASSB 13040 BE SETUP5 YES PASSB 13050 SBR X1,5&X1 YES--STEP TO NEXT OPCODE PASSB 13060 B SCAN4 PASSB 13070TESTUR SBR X1,OPCODE-4 PASSB 13080TESTRD BCE READR,0&X1,R Q. CARD READ PASSB 13090 BCE PUNCH,0&X1,P Q. CARD PUNCH PASSB 13100 BCE PRINT,0&X1,W Q. PRINT PASSB 13110 BCE STAKR,0&X1,S Q. STACKER SELECT PASSB 13120 BCE LCARD,0&X1,L Q. BRANCH LAST CARD PASSB 13130 BCE FORMS,0&X1,C Q. CARRIAGE CONTROL PASSB 13140 BCE NXTGET,0&X1, Q. END OF OPCODE PASSB 13150BUMP4 SBR X1,1&X1 NO PASSB 13160 B TESTRD PASSB 13170* PASSB 13180READR BCE PREAD,1&X1,F Q. PUNCH-FEED-READ PASSB 13190 SW RDRSW NO--INDICATE READ DTF PASSB 13200 B BUMP4 NEEDED PASSB 13210PREAD SW RDFSW INDICATE READ-FEAD DTF PASSB 13220 B NXTGET NEEDED PASSB 13230PUNCH SW PCHSW INDICATE PUNCH DTF NEEDED PASSB 13240 B BUMP4 PASSB 13250PRINT SW PRTSW INDICATE PRINTER DTF NEEDED PASSB 14010 B BUMP4 PASSB 14020STAKR BCE RDSTK,DMOD,1 Q. READER PASSB 14030 BCE RDSTK,DMOD,2 SS OP CODE PASSB 14040 BCE PCHSTK,DMOD,4 Q. PUNCH PASSB 14050 BCE PCHSTK,DMOD,8 SS OP CODE PASSB 14060 B NXTGET NO PASSB 14070RDSTK CW RDRSS INDICATE READ STACKER SEL. PASSB 14080 B NXTGET SELECTION BEING DONE PASSB 14090PCHSTK CW PCHSS,RDFSS INDICATE PUNCH OR PFR PASSB 14100 B NXTGET SELECTION BEING DONE PASSB 14110FORMS CW PRTCC INDICATE PRINTER CONTROL PASSB 14120 B NXTGET STATEMENTS GIVEN PASSB 14130LCARD MLC AADJ,RDREOF STORE LAST CARD ADDRESS PASSB 14140 MLC AOPRND-1 PASSB 14150 B NXTGET PASSB 14160* PASSB 14170SETUP5 SBR X1,TABLE5 SCAN FOR TAPE I/O PASSB 14180SCAN5 C 0&X1,OPCODE Q. TAPE OPERATION PASSB 14190 BE TESTAP YES PASSB 14200 C 0&X1,TBL5EN Q. END OF TABLE5 PASSB 14210 BE SETUP6 YES PASSB 14220 SBR X1,5&X1 NO--STEP TO NEXT OPCODE PASSB 14230 B SCAN5 PASSB 14240TESTAP BCE TAPIO,OPCODE-3,T Q. TAPE I/O, WTM PASSB 14250TAPCTL MLTPYOPCODE&1,1,0,@12@,2,0,X1,3,0 PASSB 15010 S @12@,X1 COMPUTE TAPE DR TABLE INDEX PASSB 15020 MLZS *-4,X1 VALUE PASSB 15030 CW TPCTL PASSB 15040 MLC OPCODE&1,TPUNIT TAPE DRIVE NUMBER PASSB 15050 B NXTGET PASSB 15060TAPIO BCE TAPCTL,OPCODE-2,M Q. WTM PASSB 15070 MLTPYOPCODE&1,1,0,@12@,2,0,X1,3,0 PASSB 15080 S @12@,X1 PASSB 15090 MLZS *-4,X1 PASSB 15100 MLC OPCODE&1,TPUNIT TAPE DRIVE NUMBER PASSB 15110 MLC OPCODE-4,TPIO R/W PASSB 15120 MLC BADJ,TPAREA IOAREA PASSB 15130 MLC BOPRND-1 PASSB 15140 B NXTGET PASSB 15150SETUP6 C AOPRND-5,@%U@ CHECK OTHER TAPE I/O PASSB 15160 BE MISCTP YES PASSB 15170 C AOPRND-5,@@U@ PASSB 15180 BU NXTGET PASSB 15190MISCTP C OPCODE,@CU @ Q. CONTROL STATEMENT PASSB 15200 BE TPCNTL PASSB 15210 MLNS AOPRND-4,PUTSW PASSB 15220 SW PUTSW PASSB 15230 MLTPYPUTSW,1,0,@12@,2,0,X1,&,0 PASSB 15240 S @12@,X1 PASSB 15250 MLZS *-4,X1 PASSB 16010 MLC PUTSW,TPUNIT TAPE DRIVE PASSB 16020 MLC BADJ,TPAREA I/O AREA PASSB 16030 MLC BOPRND-1 PASSB 16040 MLC DMOD,TPIO R/W PASSB 16050 CW PUTSW PASSB 16060 B NXTGET PASSB 16070TPCNTL MLNS AOPRND-4,PUTSW PASSB 16080 SW PUTSW PASSB 16090 MLTPYPUTSW,1,0,@12@,2,0,X1,3,0 PASSB 16100 S @12@,X1 PASSB 16110 MLZS *-4,X1 PASSB 16120 SW TPCTL PASSB 16130 MLNS AOPRND-4,TPUNIT PASSB 16140 B NXTGET PASSB 16150********** PASSB 16160* DISK OUTPUT ROUTINE PASSB 16170********** PASSB 16180PUTDSK MLC @0@,IOCADR PASSB 16190 MLC DSKOUT&12,IOCADR-1 PASSB 16200 PUT ,DSKOUT PASSB 16210 CW PUTSW PASSB 16220 B DONSCN PASSB 16230********** PASSB 16240* END OF INPUT DISK PASSB 16250********** PASSB 17010ENDISK CLOSED,SORCIN,DSKOUT PASSB 17020 FETCH@PASS2@ PASSB 17030 END START PASSB