|
|
1.1 root 1: ////////
2: /
3: / Intel 8086 floating point.
4: / push accumulator.
5: / small model.
6: /
7: ////////
8:
9: .globl dpush
10: .globl _fpac_
11:
12: ////////
13: /
14: / ** dpush -- push double accumulator.
15: /
16: / this utility routine is called by the compiler to push the double
17: / accumulator (a quad word called _fpac_) onto the 8086 stack. this
18: / is a bit funny, because the return address has to be popped into
19: / a safe place first, or it will be captured.
20: /
21: / compiler calling sequence:
22: / call dpush
23: /
24: / outputs:
25: / _fpac_ pushed onto stack.
26: / sp=updated (decremented by 8)
27: /
28: / uses:
29: / bx
30: /
31: ////////
32:
33: dpush: pop bx / bx = return address
34: push _fpac_+6 / push
35: push _fpac_+4 / all
36: push _fpac_+2 / four
37: push _fpac_+0 / words
38: ijmp bx / return
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.