Advertisement
kokokozhina

fpu_1

Apr 20th, 2016
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. section .data ;сложить два числа
  2. fmt: db "%lf", 10, 0
  3. a: dq 2.0 ;dt, dq, db
  4. b: dq 3.0
  5.  
  6. section .bss
  7. s: resq 1
  8.  
  9. section .text
  10. extern _printf
  11. global _main
  12. _main: ;нужно загрузить данные в стек предварительно
  13. fld qword [a] ;загрузка st[0] <- [a]
  14. fadd qword [b] ;st0 <- st0 + [b]
  15. fst qword [s];нельзя пушать регистры с плавающей  точкой, для этого исп оператор fst, есть модификация fstp, [s]<-st0
  16. push dword [s+4];делим на две части
  17. push dword [s]
  18. push fmt
  19. call _printf
  20. add esp, 12
  21. xor eax, eax
  22. xor ecx, ecx ;ргеистры fpu сами очищаются при выходе
  23. ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement