; SUBROUTINE SCOMP(A,B,I) ; FUNCTION ISCOMP(A,B) ; ; COMPARES CHARACTER STRINGS A AND B AND RETURNS IN I OR THE ; FUNCTION RESULT THE RESULT OF THE COMPARISON: ; I<0 IF A0 IF A>B. ; ; N.B. IF ISCOMP IS USED, NEITHER A NOR B MAY BE LITERAL STRINGS. .TITLE SCOMP .IDENT /V2/ .PSECT .GLOBL SCOMP,ISCOMP ISCOMP: SCOMP: MOV (R5)+,R3 MOV (R5)+,R1 MOV (R5)+,R2 CLR R0 SCOMPC: INC R0 TSTB (R1) BEQ SCOMPA TSTB (R2) BEQ SCOMPB CMPB (R1)+,(R2)+ SCOMPG: BEQ SCOMPC BGT SCOMPD NEG R0 SCOMPD: CMPB #3 ,R3 BHI SCOMPE MOV R0,@(R5)+ SCOMPE: RTS PC SCOMPA: TSTB (R2) BEQ SCOMPF CMPB #40 ,(R2)+ BR SCOMPG SCOMPF: CLR R0 BR SCOMPD SCOMPB: CMPB (R1)+,#40 BR SCOMPG .END