aboutsummaryrefslogtreecommitdiff
path: root/ia32/float/math.sts
diff options
context:
space:
mode:
authorAleksey Veresov <aleksey@veresov.pro>2020-10-17 21:06:24 +0300
committerAleksey Veresov <aleksey@veresov.pro>2020-10-17 21:06:24 +0300
commitba1ce0c68a784947ac4d96675813f3b7c074895b (patch)
tree2d3d5bbc9d3e95ab70031d6c8fb185582a3cc25f /ia32/float/math.sts
parent04c755e9f071425d637f8a1c3cd35b258e4e456e (diff)
parent44d2daf8f659a843cf7d39cbaec18c146bf59f28 (diff)
downloadcryptrobber-ba1ce0c68a784947ac4d96675813f3b7c074895b.tar
cryptrobber-ba1ce0c68a784947ac4d96675813f3b7c074895b.tar.xz
cryptrobber-ba1ce0c68a784947ac4d96675813f3b7c074895b.zip
Merge remote-tracking branch 'exegete/master' into master
Diffstat (limited to 'ia32/float/math.sts')
-rw-r--r--ia32/float/math.sts32
1 files changed, 32 insertions, 0 deletions
diff --git a/ia32/float/math.sts b/ia32/float/math.sts
new file mode 100644
index 0000000..d02b491
--- /dev/null
+++ b/ia32/float/math.sts
@@ -0,0 +1,32 @@
+defasm float_add
+ # de ?' # c1 ?' ; faddp st1, st0
+next
+
+defasm float_sub
+ # de ?' # e9 ?' ; fsubp st1, st0
+next
+
+defasm float_mul
+ # de ?' # c9 ?' ; fmullp st1, st0
+next
+
+defasm float_div
+ # de ?' # f9 ?' ; fdivp st1, st0
+next
+
+defasm float_sqrt
+ # d9 ?' # fa ?' ; fsqrt
+next
+
+defasm float_more
+ # de ?' # d9 ?' ; fcompp
+ # 9b ?' # df ?' # e0 ?' ; fstsw ax
+ # 25 ?' # 100 ?. ; and eax, 0x100
+ # c1 ?' # e8 ?' # 8 ?' ; shr eax, 8
+ # 50 ?' ; push eax
+next
+
+defword float_less
+ float_more
+ 0 =
+exit