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 "IDIM" INTEGER POSITIVE DIFFERENCE
      NAM IDIM,6 24998-1X103 REV.2001 760106
      ENT IDIM
      EXT .ZPRV 
      SPC 2 
* 
*     CALLING SEQUENCE: ALL VARIABLES ARE INTEGER 
*     Y =  X1 - MIN(X1,X2)
*     JSB IDIM
*     DEF *+3 
*     DEF X1
*     DEF X2
*     (RESULT IN A) 
      SPC 2 
IDIM  NOP 
      JSB .ZPRV 
      DEF LIBX
      ISZ IDIM
      LDB IDIM,I
      ISZ IDIM
      LDA IDIM,I
      ISZ IDIM
      LDA A,I 
      LDB B,I 
      CLO 
      CMA,INA 
      SOC           DID X2 = 100000B
      JMP IDM2      YES 
      ADA B 
      SOC           OVERFLOW
      JMP OUTR      YES,GO CHECK
IDM3  SSA      X1 - X2 > 0 ?
      CLA      NO. SET Y = 0
      CLO 
LIBX  JMP IDIM,I
      DEF IDIM
A     EQU 0 
B     EQU 1 
IDM2  SSB,RSS       IS B NEG
      JMP OUTR      NO,THEN OUT OF RANGE
      CMA           YES 
      ADA B 
      INA 
      CLO 
      JMP LIBX
OUTR  SSB           WERE 2 NUMBERS SAME SIGN
      JMP IDM3+1    IF X1 SMALLEST,OK 
      SSA 
      JMP ERR 
      JMP LIBX
ERR   LDA MAX 
      JMP LIBX
MAX   OCT 77777 
      END 
* 
                                                                        