aboutsummaryrefslogtreecommitdiff
path: root/ia32/stack.sts
diff options
context:
space:
mode:
authorAleksey Veresov <aleksey@veresov.pro>2020-10-16 16:14:23 +0300
committerAleksey Veresov <aleksey@veresov.pro>2020-10-16 16:14:23 +0300
commitac7b0be8b22245e20624b937733c16fb3a11b24b (patch)
tree8d7a85d2406a15704ef5b30859b73ee6340dc897 /ia32/stack.sts
parent599a40b02532b65ce5b9ac538c8579e292389766 (diff)
parentb92ef5212daad3f318aa26fdaf69fdeb7e66e8a4 (diff)
downloadcryptrobber-ac7b0be8b22245e20624b937733c16fb3a11b24b.tar
cryptrobber-ac7b0be8b22245e20624b937733c16fb3a11b24b.tar.xz
cryptrobber-ac7b0be8b22245e20624b937733c16fb3a11b24b.zip
Merge remote-tracking branch 'exegete/master' into master
Diffstat (limited to 'ia32/stack.sts')
-rw-r--r--ia32/stack.sts28
1 files changed, 20 insertions, 8 deletions
diff --git a/ia32/stack.sts b/ia32/stack.sts
index 56f4f07..cf1bd21 100644
--- a/ia32/stack.sts
+++ b/ia32/stack.sts
@@ -1,18 +1,30 @@
-defasm drop
- # 58 ?' ; pop eax
+defasm get
+ # 58 ?' ; pop eax
+ # 8b ?' # 4 ?' # 84 ?' ; mov eax, [esp + 4 * eax]
+ # 50 ?' ; push eax
+next
+
+defasm set
+ # 5b ?' ; pop ebx
+ # 58 ?' ; pop eax
+ # 89 ?' # 04 ?' # 9c ?' ; mov [esp + 4 * ebx], eax
next
+defasm drop
+ # 58 ?' ; pop eax
+next
+
defasm dup
- # ff ?' # 34 ?' # 24 ?' ; push dword [esp]
+ # ff ?' # 34 ?' # 24 ?' ; push dword [esp]
next
defasm over
- # ff ?' # 74 ?' # 24 ?' # 4 ?' ; push dword [esp + 4]
+ # ff ?' # 74 ?' # 24 ?' # 4 ?' ; push dword [esp + 4]
next
defasm swap
- # 58 ?' ; pop eax
- # 5b ?' ; pop ebx
- # 50 ?' ; push eax
- # 53 ?' ; push ebx
+ # 58 ?' ; pop eax
+ # 5b ?' ; pop ebx
+ # 50 ?' ; push eax
+ # 53 ?' ; push ebx
next