|
|
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.