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 "MXMND" DOUBLE PRECISION MAXIMUM AND MINIMUM
      NAM MXMND,7 24998-1X108 REV.2001 750701 
      ENT DMAX1,DMIN1 
      EXT .XSUB,.DFER 
      SPC 2 
* 
*     CALLING SEQUENCES: ALL VARIABLES ARE DOUBLE PRECISION 
*     JSB DMAX1                    JSB DMIN1
*     DEF *+(N+2)                  DEF *+(N+2)
*     DEF Y                        DEF Y
*     DEF X1                       DEF X1 
*     .   .                        .   .
*     .   .                        .   .
*     .   .                        .   .
*     DEF XN                       DEF XN 
      SPC 2 
DMAX1 NOP           DOUBLE MAX
      LDB *-1 
      CCA           SET INDICATOR 
      JMP SETFG 
DMIN1 NOP           DOUBLE MIN
      LDB *-1 
      CLA 
SETFG STB CALAD     OCTAL INSTRUCTION: SSA,  DMAX1
      LDB SSA 
      STB SKFLG 
      SZA 
      ISZ SKFLG 
      LDA CALAD     = ADDRESS OF (DEF *+N+2) = *
      CMA,INA       = -*
      ADA CALAD,I   = -* + * + N + 2 = N + 2
      ADA =D-2      = N 
      CMA,INA 
      STA N         = -N
      ISZ CALAD 
      LDB CALAD,I 
      STB Y         = ADDRESS OF RESULT 
      INA 
      SSA           N < 2 ? 
      JMP ARGOK     NO. PROCESS LIST
      LDA ADZRO     YES.
      STA ANS       SET RESULT TO ZERO
      LDA CALAD 
      ADA =D-1
      LDB 0,I 
      STB CALAD     SET RETURN ADDRESS
      JMP EXIT       AND EXIT 
ARGOK ISZ CALAD     CALAD POINTS TO X1
      LDA CALAD,I 
      STA ANS       ANS = ADDRESS OF CURRENT ANSWER 
      ISZ CALAD 
      ISZ N         DONE ?
      JMP TESTM     NO. 
EXIT  JSB .DFER     YES. STORE RESULT 
Y     DEF * 
      DEF ANS,I 
      JMP CALAD,I 
CALAD NOP 
ZERO  DEC 0,0,0 
TESTM LDA CALAD,I 
      STA ADARG     STORE ADDRESS OF ARG FOR XSUB 
SUBTR JSB .XSUB     DBL = ARG - ANS 
      DEF DBL 
ADARG NOP 
ANS   NOP           ADDRESS OF ANSWER 
      LDA DBL 
SKFLG NOP           SKIP FLAG FOR MIN OR MAX
      JMP ARGOK+1   NEW ANSWER
      JMP ARGOK+3   CURRENT ANSWER OKAY 
N     NOP           NUMBER ARGUMENTS
DBL   REP 3         ARG - ANS 
      NOP 
ADZRO DEF ZERO      USED IF N < 2 
SSA   SSA 
      END 
* 
                                                  