diff options
Diffstat (limited to 'print_123.s')
| -rw-r--r-- | print_123.s | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/print_123.s b/print_123.s new file mode 100644 index 0000000..612b4c8 --- /dev/null +++ b/print_123.s @@ -0,0 +1,42 @@ + +.include "include/uskel.s" + +.include "include/data.s" +.include "include/io.s" +.include "include/intops.s" + +# || -> cont +.thunkcode main + # push a new integer + pushq $100 + pushq $INT_code + mov %rsp, %r11 # backup first arg + + # push another new integer + pushq $23 + pushq $INT_code + mov %rsp, %r12 # backup second arg + + # push the plus + push %r12 + push %r11 + pushq $2 + pushq $plus + mov %rsp, %r11 # backup plus + + # push the print + push %r11 + pushq $1 + pushq $print + mov %rsp, %r11 # backup print + + # push a cont thunk for main_exit + push %rsi + pushq $1 + pushq $main_exit + + # evaluate into main_exit + mov %rsp, %rsi + enter %r11 + +.include "include/main_exit.s" |
