.TITLE XFRC .GLOBL XFRC XFRC:: MOV 4(R5),R1 CMP R1,#-1 BNE OKARG DEC (R5) JSR PC,LEN ;GET 'LEN' FROM CALLING PROGRAM. INC (R5) TST R0 BPL OKLEN ERROR: CLR R0 RTS PC OKARG: MOV @R1,R0 BLE ERROR OKLEN: MOV 2(R5),R1 ;MOVE INPUT BASE ADDRS TO R1 MOV 6(R5),R2 ;MOVE OUTPUT BASE ADDRS TO R2. CMP R1,R2 BLO BACK IO: MOVB (R1)+,(R2)+ ;OUTPUT=INPUT BYTE BY BYTE. SOB R0,IO ;DONE? NO THEN BACK TO IO. YES? RETURN DEC R0 ;-1 MEANS SUCCESS RTS PC BACK: ADD R0,R1 ADD R0,R2 LUP: MOVB -(R1),-(R2) SOB R0,LUP DEC R0 RTS PC .END