.TITLE JSIGN .IDENT /V1.01/ .PSECT CODE,RO .NLIST SYM,TOC ; DOUBLE-PRECISION INTEGER SIGN ; ; 'INTEGER''PROCEDURE' JSIGN(J); ; ; RETURNS SINGLE-PRECISION -1, 0, OR +1 ACCORDING TO SIGN OF J. G1594:: MOV %1,%3 ; COPY POINTER TO J CLR %1 ; PRE-CLEAR RESULT TST (%3)+ ; TEST J HIGH BMI 20$ ; ALL DONE IF NOT ZERO BNE 10$ ; BUT + & - GIVE DIFFERENT RESULTS TST @%3 ; TEST LO IF HI 0 BEQ 30$ ; RETURN 0 IF EXACTLY 0 10$: TST (%1)+ ; POSITIVE, SET RESULT TO 2 FIRST 20$: DEC %1 ; SUBTRACT 1 FROM RESULT, ; SO + LEAVES +1, - GIVES -1 30$: ADD #2,@SP ; STANDARD EXIT RTS PC .END