; ; TEST SUBROUTINE FOR BASIC LOAD COMMAND ; ; THIS SUBROUTINE SHOULD REVERSE A STRING ; ; IDENTIFYING INFO: .MCALL ULODHD ULODHD RVSTB1,END,REVSTR ; ; NOW THE CODE ITSELF ; RVSTB1: .BYTE 3,4,0 .EVEN RVSTB2: .BLKW 5 ; REVSTR: JSR R4,@#GTRGPI ;GO GET ARGUMENTS IN PI FASHION .BYTE 3,4,0 ;THIS IS ARG TYPE LIST .EVEN JSR PC,@#PARCHK ;CHECK FOR TRAILING PAREN MOV R1,-(SP) ;SAVE TEXT PTR MOV 2(SP),R0 ;LEN OF ARG -> R0 BEQ 3$ ;IF ZERO, BRANCH JSR PC,@#TSTU00 ;CHECK FOR ROOM BHI 1$ OVFERR 1$: MOV R0,R4 BIS #160000,R0 MOV R0,(R5)+ MOV R5,R2 MOV 4(SP),R3 ;ADDRESS OF INPUT STRING -> R3 MOV R4,R0 ADD R4,R3 2$: MOVB -(R3),(R5)+ SOB R0,2$ MOV R2,R3 3$: MOV SP,R5 ;GET ADD OF RETURN ARG DESCRIPTOR ADD #6,R5 ;IN R5 JSR PC,@#SSTORE ;AND GO STORE AWAY RESULT MOV (SP)+,R1 ;RESTORE TEXT PTR ADD #5*2,SP ;CLEAN STACK RTS PC END: .END