diff options
author | exegete <nikitf-97@mail.ru> | 2020-10-16 16:25:06 +0300 |
---|---|---|
committer | exegete <nikitf-97@mail.ru> | 2020-10-16 16:25:06 +0300 |
commit | b92ef5212daad3f318aa26fdaf69fdeb7e66e8a4 (patch) | |
tree | 23d6c739c932c986f3c891f2f76ca8afc7a2d181 /ia32 | |
parent | 68ea390db8e5977dcc84dc93daeb467ee243cb35 (diff) | |
download | cryptrobber-b92ef5212daad3f318aa26fdaf69fdeb7e66e8a4.tar cryptrobber-b92ef5212daad3f318aa26fdaf69fdeb7e66e8a4.tar.xz cryptrobber-b92ef5212daad3f318aa26fdaf69fdeb7e66e8a4.zip |
set, get, syscall, makefile
Diffstat (limited to 'ia32')
-rw-r--r-- | ia32/stack.sts | 28 | ||||
-rw-r--r-- | ia32/syscall.sts | 6 |
2 files changed, 23 insertions, 11 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 diff --git a/ia32/syscall.sts b/ia32/syscall.sts index 3bce0ff..7ff7480 100644 --- a/ia32/syscall.sts +++ b/ia32/syscall.sts @@ -1,4 +1,4 @@ -defasm quit +defasm sys_exit # b8 ?' # 1 ?. ; mov eax, 1 # 31 ?' # db ?' ; xor ebx, ebx # cd ?' # 80 ?' ; int 0x80 @@ -8,7 +8,7 @@ _data_segment ?choose ?$ ?? _iobuf # 0 ?' _code_segment ?choose -defasm key +defasm sys_read # b8 ?' # 3 ?. ; mov eax, 3 # 31 ?' # db ?' ; xor ebx, ebx # b9 ?' _iobuf ?. ; mov ecx, _iobuf @@ -20,7 +20,7 @@ defasm key # 50 ?' ; push eax next -defasm emit +defasm sys_write # 58 ?' ; pop eax # a2 ?' _iobuf ?. ; mov [_iobuf], al # b8 ?' # 4 ?. ; mov eax, 4 |