; SUBROUTINE SUBSTR(IN,OUT,I{,LEN}) ; ; COPIES INTO OUT A SUBSTRING OF IN, STARTING AT THE I'TH CHARACTER. ; IF LEN IS GIVEN, THEN LEN CHARACTERS ARE COPIED, OTHERWISE ; THE WHOLE OF IN TO THE RIGHT OF I IS RETURNED IN OUT. .TITLE SUBSTR .IDENT /V2/ .PSECT .GLOBL SUBSTR SUBSTR: MOV (R5)+,R3 MOV (R5)+,R1 MOV (R5)+,R2 MOV @(R5)+,R4 BEQ SBSTRA SBSTRC: TSTB (R1)+ BEQ SBSTRB DEC R4 BNE SBSTRC DEC R1 SBSTRA: CMPB #4 ,R3 BHI SBSTRD MOV @(R5)+,R4 BEQ SBSTRB SBSTRF: MOVB (R1)+,(R2)+ BEQ SBSTRE DEC R4 BNE SBSTRF SBSTRB: CLRB (R2)+ SBSTRE: RTS PC SBSTRD: MOVB (R1)+,(R2)+ BNE SBSTRD RTS PC .END