Annotation of coherent/b/lib/libm/i8087/error87.m, revision 1.1.1.1

1.1       root        1: //////////
                      2: / libm 8087
                      3: / edomain, erange
                      4: //////////
                      5: 
                      6: #include "larges.h"
                      7: 
                      8:        .globl  edomain
                      9:        .globl  erange
                     10:        .globl  errno_
                     11: 
                     12: //////////
                     13: / edomain replaces the 8087 stacktop with 0.0
                     14: / and sets errno_ to the appropriate error code.
                     15: / erange just sets the error code.
                     16: / They clobber AX and DS in LARGE model.
                     17: //////////
                     18: 
                     19: EDOM   =       33              / domain error code
                     20: ERANGE =       34              / range error code
                     21: 
                     22: edomain:
                     23:        Map     (ds, ax, $@errno_)
                     24:        mov     errno_, $EDOM   / Set errno_.
                     25:        fstp    st              / Pop the stack
                     26:        fldz                    / and load a 0.
                     27:        Gret
                     28: 
                     29: erange:
                     30:        Map     (ds, ax, $@errno_)
                     31:        mov     errno_, $ERANGE / Set errno_.
                     32:        Gret
                     33: 
                     34: / end of error87.m

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.