.TITLE JCMP .IDENT /V1.01/ .PSECT CODE,RO .NLIST SYM,TOC ; DOUBLE-PRECISION INTEGER COMPARE ; ; 'INTEGER''PROCEDURE' JCMP(JA,JB); ; ; RETURNS: -1 IF JAJB G1596:: MOV %1,%3 ; COPY JA POINTER CLR %1 ; PRE-CLEAR RESULT CMP (%3)+,(%2)+ ; COMPARE HI PARTS BGT 10$ ; DONE IF GREATER BLT 20$ ; OR LESS CMP @%3,@%2 ; IF HI'S EQUAL, COMPARE LO'S BEQ 30$ ; RETURN 0 IF EXACTLY EQUAL BLO 20$ ; -1 IF JA IS LESS 10$: TST (%1)+ ; TO RETURN +1, SET %1=2 20$: DEC %1 ; SUBTRACT 1 TO GIVE +/- 1 30$: ADD #2,@SP ; STANDARD EXIT RTS PC .END