diff options
author | exegete <nikitf-97@mail.ru> | 2020-10-17 20:59:23 +0300 |
---|---|---|
committer | exegete <nikitf-97@mail.ru> | 2020-10-17 20:59:23 +0300 |
commit | be953c23a9ee9c328d186e0afd7fbc0855eefd3a (patch) | |
tree | ec1ffff1f9800dabaee3d4fd5331360e90d5e413 /ia32/float/math.sts | |
parent | 370a55aa3b2480f87a90a83d7b8127f9159af750 (diff) | |
download | cryptrobber-be953c23a9ee9c328d186e0afd7fbc0855eefd3a.tar cryptrobber-be953c23a9ee9c328d186e0afd7fbc0855eefd3a.tar.xz cryptrobber-be953c23a9ee9c328d186e0afd7fbc0855eefd3a.zip |
float lib finished
Diffstat (limited to 'ia32/float/math.sts')
-rw-r--r-- | ia32/float/math.sts | 32 |
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..9be8712 --- /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, 14 + # 50 ?' ; push eax +next + +defword float_less + float_more + 0 = +exit |