ASMB,L,R,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 ".TINT" - CONVERT TRIPLE TO INTEGER. NAM .TINT,7 24998-1X161 REV.2001 780921 * ENT .TINT,.TFXS EXT IFIX,.CFER * A EQU 0 B EQU 1 * * .TINT CONVERTS A TRIPLE-PRECISION NUMBER TO AN INTEGER. * * CALLING SEQUENCE: * * JSB .TINT * DEF * A = INTEGER * * IF THE ARGUMENT IS OUTSIDE THE RANGE [-32768,+32768) THE * OVERFLOW BIT IS SET AND 32767 IS RETURNED. SPC 4 .TINT NOP .TFXS EQU .TINT STA TEMP SAVE A-REG. LDA .TINT,I COPY ARG ADDR. ISZ .TINT STA ARG LDA TEMP RESTORE A-REG. JSB .CFER COPY ARG. DEF TEMP ARG DEF *-* LDA TEMP+1 2ND WD. IOR TEMP+2 .OR. 3RD WD. LDB TEMP+3 CCE,SZA ANY BITS SET IN 2ND OR 3RD ? RBL,ERB YES, SET SIGN BIT IN 4TH WD. LDA TEMP DELETE 2ND, 3RD WDS. JSB IFIX FIX JMP .TINT,I EXIT * TEMP BSS 4 ARG. * END