aboutsummaryrefslogtreecommitdiff
path: root/sts/ia32/bitwise.sts
diff options
context:
space:
mode:
Diffstat (limited to 'sts/ia32/bitwise.sts')
-rw-r--r--sts/ia32/bitwise.sts27
1 files changed, 27 insertions, 0 deletions
diff --git a/sts/ia32/bitwise.sts b/sts/ia32/bitwise.sts
new file mode 100644
index 0000000..205e618
--- /dev/null
+++ b/sts/ia32/bitwise.sts
@@ -0,0 +1,27 @@
+defasm xor
+ # 5b ?' ; pop ebx
+ # 58 ?' ; pop eax
+ # 31 ?' # d8 ?' ; xor eax, ebx
+ # 50 ?' ; push eax
+next
+
+defasm and
+ # 5b ?' ; pop ebx
+ # 58 ?' ; pop eax
+ # 21 ?' # d8 ?' ; and eax, ebx
+ # 50 ?' ; push eax
+next
+
+defasm shr
+ # 59 ?' ; pop ecx
+ # 58 ?' ; pop eax
+ # d3 ?' # e8 ?' ; shr eax, cl
+ # 50 ?' ; push eax
+next
+
+defasm shl
+ # 59 ?' ; pop ecx
+ # 58 ?' ; pop eax
+ # d3 ?' # e0 ?' ; shl eax, cl
+ # 50 ?' ; push eax
+next