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 
                                                                                                                    