_takumi

funcs

Jun 1st, 2022 (edited)
1,327
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. section .rodata
  2.     const2 dq 2.0
  3.     const3 dq 3.0
  4.     const4 dq 4.0
  5.    
  6. section .text
  7. global f1
  8. global f2
  9. global f3
  10. global t_f1
  11. global t_f2
  12. global t_f3
  13. global t_f4
  14. f1:
  15.     push ebp
  16.     mov ebp, esp
  17.     finit
  18.     fld qword [ebp + 8]
  19.     fld1
  20.     fsubp
  21.     fld st0
  22.     fmulp
  23.     fld1
  24.     faddp
  25.     fld qword [const3]
  26.     fxch
  27.     fdivp
  28.     mov esp, ebp
  29.     pop ebp
  30.     ret
  31.    
  32. f2:
  33.     push ebp
  34.     mov ebp, esp
  35.     finit
  36.     fld1
  37.     fld qword [const2]
  38.     fdivp
  39.     fld qword [ebp + 8]
  40.     faddp
  41.     fsqrt
  42.     mov esp, ebp
  43.     pop ebp
  44.     ret
  45.    
  46. f3:
  47.     push ebp
  48.     mov ebp, esp
  49.     sub esp, 8
  50.     finit
  51.     fldl2e
  52.     fld qword [const2]
  53.     fyl2x
  54.     fist dword [ebp - 4]
  55.     fild dword [ebp - 4]
  56.     fsubp
  57.     f2xm1
  58.     fld1
  59.     faddp
  60.     fild dword [ebp - 4]
  61.     fxch
  62.     fscale
  63.     fstp st1
  64.     fld qword [ebp + 8]
  65.     fchs
  66.     fxch
  67.     fyl2x
  68.     fist dword [ebp - 4]
  69.     fild dword [ebp - 4]
  70.     fsubp
  71.     f2xm1
  72.     fld1
  73.     faddp
  74.     fild dword [ebp - 4]
  75.     fxch
  76.     fscale
  77.     fstp st1
  78.     leave
  79.     ret
  80.  
  81. t_f1: ; -x^2 + 4
  82.     push ebp
  83.     mov ebp, esp
  84.     finit
  85.     fld qword [ebp + 8]
  86.     fld qword [ebp + 8]
  87.     fmulp
  88.     fchs
  89.     fld qword [const4]
  90.     faddp
  91.     leave
  92.     ret
  93.  
  94. t_f2: ; y = 3
  95.     push ebp
  96.     mov ebp, esp
  97.     finit
  98.     fld qword [const3]
  99.     leave
  100.     ret
  101.  
  102. t_f3: ; -2x + 4
  103.     push ebp
  104.     mov ebp, esp
  105.     finit
  106.     fld qword [ebp + 8]
  107.     fld qword [const2]
  108.     fchs
  109.     fmulp
  110.     fld qword [const4]
  111.     faddp
  112.     leave
  113.     ret
  114.  
  115. t_f4: ; x^3
  116.     push ebp
  117.     mov ebp, esp
  118.     finit
  119.     fld qword [ebp + 8]
  120.     fld qword [ebp + 8]
  121.     fld qword [ebp + 8]
  122.     fmulp
  123.     fmulp
  124.     fchs
  125.     leave
  126.     ret
Advertisement
Add Comment
Please, Sign In to add comment