fpulld.x 661 B

123456789101112131415161718192021
  1. ! bcc 386 floating point routines (version 2) -- Fpulld
  2. ! authors: Timothy Murphy (tim@maths.tcd.ie), Bruce Evans
  3. #include "fplib.h"
  4. ! Pop double from stack and store at address [ebx]
  5. .globl Fpulld
  6. .align ALIGNMENT
  7. Fpulld:
  8. pop ecx
  9. pop dword D_LOW[ebx]
  10. pop dword D_HIGH[ebx]
  11. jmp ecx ! return
  12. ! This popping method is much slower on 486's because popping to memory
  13. ! takes 5+ while moving twice takes 2 and the return address doesn't
  14. ! have to be moved. However, popping is a little faster on a non-cached
  15. ! 386/20 with static column RAM although the memory access pattern is
  16. ! better for a double-width move than for popping. What about a cached 386?