23 lines
653 B
Plaintext
23 lines
653 B
Plaintext
.TITLE REVERS
|
|
.MCALL .GTLIN,.PRINT,.EXIT
|
|
REVERS::.GTLIN #1$ ; READ STRING
|
|
MOV #1$,R0
|
|
JSR PC,REV ; REVERSE IT
|
|
.PRINT #1$ ; PRINT RESULT
|
|
.EXIT
|
|
1$: .BLKB 200
|
|
|
|
; REVERSE STRING AT R0
|
|
REV: MOV R0,R1
|
|
1$: TSTB (R1)+ ; FIND END OF STRING
|
|
BNE 1$
|
|
DEC R1 ; MOVE BACK TO LAST CHAR
|
|
2$: MOVB -(R1),R2 ; SWAP CHARS
|
|
MOVB (R0),(R1)
|
|
MOVB R2,(R0)+
|
|
CMP R0,R1 ; STOP WHEN POINTERS MEET
|
|
BLT 2$
|
|
RTS PC
|
|
|
|
.END REVERS
|