ASMB,A,B,L MAG TAPE LOADER ORG 2 ************************************************************** * * REV. 1913 781218 * ************************************************************** * JMP *+1,I DEF START * * ORG 77500B * DC EQU 20B CC EQU DC+1 A EQU 0 B EQU 1 START LIA 1 GET S REGISTER LSR 6 SHIFT 6 BITS RIGHT AND B77 MASK OUT LOWER 6 BITS STA SCODE * * LDB IOTB1 GET TABLE 1 ADDRESS JSB SETIO SET IO INSTR ISZ SCODE LDB IOTB2 GET TABLE 2 ADDRESS JSB SETIO NRD LDB RDCMD GET READ COMMAND JSB CMD DO IT IOD1 STC DC,C START DATA CHANNEL IOC2 SFC CC JMP STAT CHECK STATUS IOD2 SFS DC ANY DATA JMP *-3 NO IOD3 LIB DC,C YES GET IT(RECORD COUNT) BLF,BLF POSITION COUNT TO LOWER BYTE CMB MAKE IT NEGATIVE STB WCT SAVE INPUT COUNT IOC3 SFC CC JMP STAT YES EXIT TO STATUS IOD4 SFS DC WAIT TO READ NEXT WORD JMP *-3 IOD5 LIB DC,C GET LOAD ADDRESS STB 0 START CHECKSUM STB CMD AND ADDRESS POINTER JMP *+4 NWD STB CMD,I PUT WORD IN MEMORY ADA 1 MOVE ISZ CMD MOVE UP ADDRESS IOD6 SFS DC WAIT FOR NEXT WORD JMP *-1 IOD7 LIB DC,C GET DATA TO STORE IN MEMORY ISZ WCT FINISHED WITH DATA? JMP NWD NO READ NEXT WORD CPB 0 IS CHECK SUM OK? JMP NRD+3 YES-WAIT FOR COMMAND CHANNEL STATUS HLT 11B NO IOC4 EQU * STAT LIA CC GET STATUS ALF,ALF POSITION EOF BIT SSA IS IT EOF JMP 2 GO TO LOC 2 TO START !DISK ALF,ALF RAR,SLA HLT 0 JMP NRD YES RED NEXT RECORD * * * * CMD NOP IOC5 OTB CC IOC6 LIA CC RAR,RAR RAR,SLA JMP *-4 IOC7 STC CC,C JMP CMD,I * * SL0RW OCT 1501 RDCMD OCT 1423 * * SCODE NOP BM100 OCT -100 B77 OCT 77 * * SETIO NOP STB .IOTB LOOP LDB .IOTB,I SZB,RSS JMP SETIO,I LDA B,I AND BM100 ADA SCODE STA B,I RESET IO INSTRUCTION ISZ .IOTB JMP LOOP * * .IOTB NOP IOTB1 DEF *+1 DEF IOD1 DEF IOD2 DEF IOD3 DEF IOD4 DEF IOD5 DEF IOD6 DEF IOD7 NOP * IOTB2 DEF *+1 DEF IOC2 DEF IOC3 DEF IOC4 DEF IOC5 DEF IOC6 DEF IOC7 NOP WCT NOP END