.TITLE MOVS ; .MACRO .MOVS A,B ;MOVES STRING A TO STRING B .MCALL .LONGS .GLOBL .MOVS B: .BLKW 1 A: .BLKW 1 .MOVS: MOV R0,-(SP) MOV R1,-(SP) MOV A,R0 CMP R0,B ;DOES A-STRING TO RIGHT OF B-STRING? BEQ RET BLO TORIT MOV B,R1 LOOP4: MOVB (R0)+,(R1)+ BNE LOOP4 BR RET TORIT: .LONGS R0,R1 INC R1 ADD R1,R0 ;R0 POINTS 1 BYTE BEYOND A-STRING ADD B,R1 ;R1 POINTS 1 BYTE BEYOND B-STRING LOOP44: MOVB -(R0),-(R1) ;MOVE STRING IN REVERSE ORDER STARTING AT END CMP R0,A BHI LOOP44 RET: MOV (SP)+,R1 MOV (SP)+,R0 RETURN .END