|
|
1.1 root 1: //////////
2: / db/i386/i386db4.s
3: / A debugger.
4: / i386 assembly language support.
5: //////////
6:
7: //////////
8: / double
9: / _get_fp_reg(struct _fpreg *fpregp)
10: /
11: / Return a double containing the 80-bit floating point value
12: / to which fpregp points in the place expected by software fp emulation.
13: / This uses NDP instructions to perform the conversion
14: / but stores the result in EDX:EAX for software fp.
15: / This should only be called if the coprocessor or emulator is present.
16: //////////
17:
18: .intelorder
19: .text
20: .globl _get_fp_reg
21:
22: _get_fp_reg:
23: movl %ecx, 4(%esp) / fpregp to ECX
24: fldt (%ecx) / fetch 80-bit value to %st0
25: fstpl -8(%esp) / store to stack and pop
26: movl %eax, -8(%esp) / fetch high dword
27: movl %edx, -4(%esp) / and low dword
28: ret / and return result in EDX:EAX
29:
30: / end of db/i386/i386db.h
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.