; SUBROUTINE TRANSL(IN,OUT,R{,P}) ; ; STRING OUT IS REPLACED BY STRING IN MODIFIED BY THE TRANSLATION ; PROCESS SPECIFIED BY ARRAYS R AND P. IF ANY CHARACTER IN IN ; APPEARS IN P IT IS REPLACED IN OUT BY THE CORRESPONDING CHARACTER ; IN R. IF P IS OMITTED IT IS ASSUMED TO CONTAIN THE 127 7-BIT ; ASCII CHARACTERS IN ORDER, STARTING FROM "001 .TITLE TRANSL .IDENT /V2/ .PSECT .GLOBL TRANSL TRANSL: MOV (R5)+,R3 MOV SP,R4 SUB #200 ,SP MOV SP,R1 CLR R0 TRNSLA: MOVB R0,(R1)+ INC R0 CMP R1,R4 BCS TRNSLA MOV R5,R4 CMP (R5)+,(R5)+ MOV (R5)+,R1 CMPB #4 ,R3 BHI TRNSLB MOV (R5)+,R2 TRNSLF: MOVB (R2)+,R3 BLE TRNSLC ADD SP,R3 MOVB (R1)+,(R3) BNE TRNSLF MOVB -(R2),(R3) BR TRNSLC TRNSLB: MOV SP,R2 CLR R3 TRNSLD: MOVB R3,(R2)+ MOVB (R1)+,R3 BNE TRNSLD TRNSLC: MOV (R4)+,R1 MOV (R4),R2 TRNSLE: MOVB (R1)+,R3 ADD SP,R3 MOVB (R3),(R2)+ BNE TRNSLE ADD #200 ,SP RTS PC .END