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 ".DIS" - DOUBLE INTEGER INCREMENT AND SKIP IF ZERO. NAM .DIS,7 24998-1X044 REV.2001 780818 * ENT .DIS * A EQU 0 B EQU 1 * * .DIS INCREMENTS A DOUBLE INTEGER IN MEMORY AND SKIPS IF * THE RESULT IS ZERO. A,B,E & O ARE PRESERVED. * * CALLING SEQUENCE: * * JSB .DIS * DEF * * SPC 4 .DIS NOP STA SAVEA SAVE A LDA .DIS GET ADDR ARG ISZ .DIS DIS1 AND =B77777 (TAKE CARE TO PRESERVE "E") STA AARG RESOLVE IND: ADDR MAY BE IN -A-. LDA SAVEA JUST IN CASE. LDA AARG,I SSA JMP DIS1 STA AARG SAVE IT INA ADDR 2ND WD STA AARG+1 MAY BE IN (A,B) ! LDA SAVEA ISZ AARG+1,I BUMP 2ND WD. JMP .DIS,I NOT ZERO, DONE. ISZ AARG,I BUMP 1ST WD JMP .DIS,I NOT ZERO, DONE. ISZ .DIS ZERO, SKIP. JMP .DIS,I EXIT * SAVEA BSS 1 FOR A AARG BSS 2 ADDR ARG * END