.PSECT EOR EOR:: MOV @2(R5), R0 MOV @4(R5), R1 XOR R1, R0 RTS PC .GLOBL RTXT .PSECT READTX READTX:: TST (R5)+ MOV (R5)+, TBUFF MOV (R5)+, TBLK MOV (R5)+, READBL MOV @R5, READB TST @4(R5) BNE 1$ MOV R5, -(SP) MOV @READBL, @TBLK JSR PC, @#RTXT MOV (SP)+, R5 1$: MOV 2(R5), R1 MOV TBUFF, R2 ADD @READB, R2 CMP (R2)+, @6(R5) BNE 3$ JSR PC, CHK1 CMP (R2)+, @8.(R5) BNE 3$ JSR PC, CHK1 2$: MOVB (R2)+, (R1) JSR PC, CHK1 TSTB (R1)+ BNE 2$ BIT #1, R2 BEQ 4$ INC R2 4$: JSR PC, CHK1 SUB TBUFF, R2 MOV R2, @READB RTS PC 3$: MOV #-1, @READBL RTS PC CHK1: MOV TBUFF, R3 ADD #512., R3 CMP R2, R3 BLO 25$ MOV R1, -(SP) MOV R5, -(SP) INC @READBL MOV @READBL, @TBLK JSR PC, @#RTXT MOV (SP)+, R5 MOV (SP)+, R1 MOV TBUFF, R2 25$: RTS PC TBUFF: .WORD 0 TBLK: .WORD 0 READBL: .WORD 0 READB: .WORD 0 .GLOBL RINST .PSECT RDINST RDINST:: TST (R5)+ MOV (R5)+, IBUFF MOV @R5, IBLK TST @8.(R5) BNE 19$ CMP @IBLK, @2(R5) BEQ 18$ MOV @2(R5), @IBLK MOV R5, -(SP) JSR PC, @#RINST MOV (SP)+, R5 18$: MOV @4(R5), R1 ADD IBUFF, R1 MOV 6(R5), R0 CMP (R1)+, (R1)+ JSR PC, CHK MOV (R1)+, R2 JSR PC, CHK MOV R2, @8.(R5) RTS PC 19$: MOV 6(R5), R0 MOV @4(R5), R1 ADD IBUFF, R1 ADD #6, R1 MOV @8.(R5), R2 MOV IBUFF, R3 ADD #512., R3 CMP R1, R3 BLO 1$ SUB #512., R1 1$: MOV (R1)+, (R0)+ JSR PC, CHK DEC R2 BNE 1$ CLR (R0)+ CLR @R0 RTS PC CHK: MOV IBUFF, R3 ADD #512., R3 CMP R1, R3 BLO 1$ SUB #512., R1 MOV R2, -(SP) MOV R5, -(SP) MOV R1, -(SP) MOV R0, -(SP) INC @IBLK JSR PC, @#RINST MOV (SP)+, R0 MOV (SP)+, R1 MOV (SP)+, R5 MOV (SP)+, R2 1$: RTS PC IBUFF: .WORD 0 IBLK: .WORD 0 .END