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