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 <ARG> 
*                   <NORMAL RETURN> 
*                   <SKIP RETURN> 
      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 
                                                          