.TITLE SUBSTRING .IDENT /830812/ ;TAKES A SUBSTRING OF A GIVEN STRING ; ;REGISTER USAGE : ; R0 SPAN ; R1 START ; R2 SOURCE ; R3 DESTINATION ; SUBSTR:: MOV SP,R0 CMP (R0)+,(R0)+ MOV (R0),R1 ;START OF SUBSTRING MOV R3,(R0)+ MOV (R0),R3 ;DESTINATION STRING MOV R2,(R0)+ MOV (R0),R2 ;SOURCE STRING MOV (SP)+,(R0) MOV (SP)+,R0 ;SPAN OF SUBSTRING BLE 3$ ; DEC R1 ;CHARACTERS TO SKIP TO REACH SUBSTRING BLE 2$ 1$: TSTB (R2)+ ;SKIP CHARACTERS BEQ 3$ SOB R1,1$ ; 2$: MOVB (R2)+,(R3)+ ;COPY SUBSTRING BEQ 4$ ;ABORT IF END FOUND SOB R0,2$ 3$: CLRB (R3)+ ;END OF STRING ; 4$: MOV (SP)+,R3 MOV (SP)+,R2 RTS PC .END