8Eh FN$MAX calculate list maximum
Input Pointer on stack to floating-point numbers.
Word on stack specifying the number of floats.
Output Floating-point result on the stack.
Description

Returns the maximum of the floating-point numbers pointed to by the parameter on the run-time stack at RTA_SP. The number of floats is passed as a word on the stack at RTA_SP+2.

The result is pushed onto the run-time stack, leaving the input parameters intact.

See also: technical manual > utility system services > floating point numbers

LZ...

Example The following code finds the maximum of the COUNT floats at TABFLOATS and leaves the result on the stack.
        LDD     RTA_SP:         ;CURRENT RUNTIME STACK POINTER
        SUBD    #4              ;PREPARE TO PUSH 2 WORDS
        XGDX
        CPX     ALA_FREE        ;ENOUGH MEMORY FREE?
        BCS     ERROR1          ;NO
        STX     RTA_SP:         ;NEW STACK POINTER
        LDD     #TABFLOATS      ;POINT TO TABLE OF FLOATS
        STD     0,X             ;POINTER ON STACK
        LDD     COUNT           ;COUNT OF FLOATS AT TABFLOATS
        STD     2,X             ;COUNT ON STACK
        OS      FN$MAX          ;MINIMUM VALUE ON STACK
        BCS     ERROR1          ;STACK OVERFLOW
        RTS
Errors 249 - stack overflow