ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "ISIGN" ABS(INTEGER) * SIGN (ANY NUMB) NAM ISIGN,6 24998-1X149 REV.2001 750701 ENT ISIGN EXT .ZPRV * * * CALL.. * * JSB ISIGN (RESULT INTEGER) * DEF A (INTEGER) * DEF B (INTEGER OR FLOATING) * O-REG SET IF OVERFLOW * * CALCULATES SIGNUM(B)*ABS(A). * ISIGN NOP JSB .ZPRV DEF LIBX LDB ISIGN,I GET A LDB B,I IN THE B-REG. ISZ ISIGN GET B IN A-REG LDA ISIGN,I LDA A,I ISZ ISIGN SZA SZB,RSS A=0 OR B=0 ? CLB YES ANS=0 XOR B COMPLEMENT IF SIGN'S SSA,RSS ARE DIFFERENT JMP EXIT CLO CMB,INB COMPLEMENT ANS SOC OVERFLOW? ANS = 32767 CMB EXIT LDA B LIBX JMP ISIGN,I DEF ISIGN A EQU 0 B EQU 1 END *