|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.