.TITLE .TPARS .IDENT /V0122A/ .ASECT .GLOBL .OD2CT .GLOBL .DD2CT .GLOBL .HD2CT ;HEXMOD .PSECT .GLOBL .TPARD .GLOBL .TPARS .PSECT IMPURE,D .GLOBL .PCHAR .GLOBL .PSTCN .GLOBL .PFLAG .GLOBL .PSTPT .GLOBL .PNUMB .GLOBL .PNUMH .GLOBL .TPDEB .PSECT .ENABL LSB ;HEXMOD .TPARS: CLR .TPDEB .TPARD: MOV R0,-(SP) MOV R5,-(SP) MOV R2,-(SP) MOV R1,.PFLAG C00016: TSTB .PFLAG BNE C00030 CALL C00736 C00030: CLR .PSTCN MOV R4,.PSTPT MOV .TPDEB,R0 BEQ C00050 CALL (R0) C00050: MOVB (R5)+,R0 BPL C00204 SUB #177700,R0 BLT C00424 CMP R0,#30 ;HEXMOD BGT C00162 ;**-1 MOV R0,R1 ADD R0,PC BR C00230 BR C00326 BR C00404 BR C00412 BR C00332 BR C00122 BR C00324 BR C00402 BR C00210 BR C00166 BR C00174 BR 20$ ;HEXMOD BR 10$ ;HEXMOD 10$: JMP 40$ ;HEXMOD C00122: TST R3 BEQ C00230 C00126: ADD .PSTCN,R3 SUB .PSTCN,R4 MOVB (R5)+,R0 BLT C00162 MOV #5,R1 C00146: ROR R0 BCC C00154 TST (R5)+ C00154: DEC R1 BNE C00146 BR C00016 C00162: SEC BR C00310 C00166: CALL C00706 BR C00200 C00174: CALL C00722 C00200: BCC C00210 BR C00126 C00204: CMPB R0,(R4) BNE C00126 C00210: TST R3 BLE C00126 MOV #1,.PSTCN MOVB (R4)+,.PCHAR DEC R3 C00230: MOV R5,-(SP) MOVB (R5)+,R0 ROR R0 BCC C00242 TST (R5)+ C00242: ROR R0 BCC C00264 MOV R0,-(SP) CALL @(R5)+ BR C00262 MOV (SP)+,R0 MOV (SP)+,R5 BR C00126 C00262: MOV (SP)+,R0 C00264: TST (SP)+ BIT #2,R0 BEQ C00276 BIS (R5)+,@(R5)+ C00276: ROR R0 BCC C00016 MOV (R5)+,R5 BNE C00016 CCC C00310: MOV (SP)+,R2 MOV (SP)+,R5 MOV (SP)+,R0 MOV .PFLAG,R1 RETURN 20$: NEG R1 ;HEXMOD BR C00326 ;HEXMOD C00324: CLR R1 C00326: NEG R0 BR C00516 C00332: MOV .PFLAG,R1 MOV (SP),R2 MOV R3,-(SP) MOV R4,-(SP) MOV R5,R0 MOV 1(R5),R5 CALL .TPARD ROL R1 MOV R0,R5 MOV (SP)+,.PSTPT SUB R3,(SP) MOV (SP)+,.PSTCN ROR R1 C00376: BCC C00230 BR C00126 C00402: CLR R0 C00404: CALL C00622 BR C00420 C00412: CALL C00736 TST R2 C00420: BEQ C00126 BR C00230 C00424: BIC #177400,R0 CALL C00622 BEQ C00126 BIC #177700,R0 ASL R0 ADD (SP),R0 MOV (R0),R0 MOV .PSTCN,R1 MOV .PSTPT,R2 C00460: CMPB (R0)+,(R2)+ BNE C00126 DEC R1 BNE C00460 CMPB (R0),#377 BEQ C00230 TSTB E00001 BEQ C00126 CMPB .PSTCN,E00001 BCC C00230 BR C00126 C00516: CALL C00622 BEQ C00420 ;HEXMOD TST R1 ;**-1 BEQ C00552 TST R3 BLE C00552 CMPB (R4),#56 BNE C00552 INC R4 DEC R3 INC .PSTCN C00552: MOV R3,-(SP) MOV R4,-(SP) MOV R5,-(SP) MOV .PSTPT,R5 MOV .PSTCN,R4 MOV #.PNUMH,R3 TST R1 BMI 30$ ;HEXMOD BNE C00606 CALL .DD2CT BR C00612 30$: CALL .HD2CT ;HEXMOD BR C00612 ;HEXMOD C00606: CALL .OD2CT C00612: MOV (SP)+,R5 MOV (SP)+,R4 MOV (SP)+,R3 BR C00376 40$: CALL C00722 ;HEXMOD BCS 50$ ;HEXMOD 45$: JMP C00210 ;HEXMOD 50$: CALL 100$ ;HEXMOD BCC 45$ ;HEXMOD JMP C00126 ;HEXMOD C00622: TST R3 BLE C00700 C00626: CALL C00722 BCC C00666 TST R0 BGE 60$ ;HEXMOD TST R1 ;HEXMOD BGE C00700 ;HEXMOD CALL 100$ ;HEXMOD BCC C00666 ;HEXMOD BR C00700 ;HEXMOD 60$: CALL C00706 ;HEXMOD BCC C00666 ;**-2 TST R0 BNE C00700 CMPB (R4),#56 BEQ C00666 CMPB (R4),#44 BNE C00700 C00666: INC .PSTCN INC R4 DEC R3 BNE C00626 C00700: TST .PSTCN RETURN C00706: CMPB #132,(R4) BCS C00720 CMPB (R4),#101 C00720: RETURN C00722: CMPB #71,(R4) BCS C00734 CMPB (R4),#60 ;HEXMOD C00734: RETURN ;HEXMOD 100$: CMPB #106,(R4) ;HEXMOD BCS 110$ ;HEXMOD CMPB (R4),#101 ;HEXMOD 110$: RETURN ;HEXMOD C00736: CLR R2 ;**-2 TST R3 BLE C00770 C00744: CMPB (R4),#40 BEQ C00760 CMPB (R4),#11 BNE C00770 C00760: INC R2 INC R4 DEC R3 BNE C00744 C00770: RETURN .PSECT IMPURE .BLKB 16 .=.-16 .PFLAG= .+0 E00001= .+1 .PSTCN= .+2 .PSTPT= .+4 .PCHAR= .+6 .PNUMH= .+10 .PNUMB= .+12 .TPDEB= .+14 .END