diff options
author | exegete <nikitf-97@mail.ru> | 2020-10-16 20:14:51 +0300 |
---|---|---|
committer | exegete <nikitf-97@mail.ru> | 2020-10-16 20:14:51 +0300 |
commit | ce9e52469d0b12b3231ccc199e1b19bb924f54cd (patch) | |
tree | b011b8652e33a655852608dbba387d8bfec06805 /ia32 | |
parent | 8ed92623de375e93d384aeeaf9f2520f48c9257d (diff) | |
download | cryptrobber-ce9e52469d0b12b3231ccc199e1b19bb924f54cd.tar cryptrobber-ce9e52469d0b12b3231ccc199e1b19bb924f54cd.tar.xz cryptrobber-ce9e52469d0b12b3231ccc199e1b19bb924f54cd.zip |
test module; top, as added
Diffstat (limited to 'ia32')
-rw-r--r-- | ia32/core.sts | 2 | ||||
-rw-r--r-- | ia32/macro.sts | 18 | ||||
-rw-r--r-- | ia32/stack.sts | 4 | ||||
-rw-r--r-- | ia32/syscall.sts | 2 |
4 files changed, 23 insertions, 3 deletions
diff --git a/ia32/core.sts b/ia32/core.sts index fcb62ae..17b7d89 100644 --- a/ia32/core.sts +++ b/ia32/core.sts @@ -15,3 +15,5 @@ defasm lit # ad ?' ; lodsd # 50 ?' ; push eax next + +defconst word_size 4 diff --git a/ia32/macro.sts b/ia32/macro.sts index 3842a5c..5aa3b35 100644 --- a/ia32/macro.sts +++ b/ia32/macro.sts @@ -18,14 +18,19 @@ _docol # 4 ?+ ?. ] +[ defconst 2 + defasm %1% + # 68 ?' # %2% ?. ; push %2% + next +] + [ defarr 2 _data_segment ?choose ?$ ?? _%1%_arr # %2% # 4 ?* ?res _code_segment ?choose defasm %1% - ; push _%1%_arr - # 68 ?' _%1%_arr ?. + # 68 ?' _%1%_arr ?. ; push _%1%_arr next ] @@ -33,6 +38,15 @@ defarr %1% 1 ] +[ as 1 + _data_segment ?choose + defword %1% + lit ?$ # 0 ?. + exit + _code_segment ?choose + lit ?. ! +] + [ literal 0 lit # %1% ?. ] diff --git a/ia32/stack.sts b/ia32/stack.sts index 7756706..f3c8bab 100644 --- a/ia32/stack.sts +++ b/ia32/stack.sts @@ -1,3 +1,7 @@ +defasm top + # 54 ?' ; push esp +next + defasm get # 58 ?' ; pop eax # 8b ?' # 4 ?' # 84 ?' ; mov eax, [esp + 4 * eax] diff --git a/ia32/syscall.sts b/ia32/syscall.sts index 7ff7480..92d4d3a 100644 --- a/ia32/syscall.sts +++ b/ia32/syscall.sts @@ -5,7 +5,7 @@ defasm sys_exit ; no need in next since this is the last instruction _data_segment ?choose - ?$ ?? _iobuf # 0 ?' + ?$ ?? _iobuf # 0 ?. _code_segment ?choose defasm sys_read |