blob: ed96ad1ce2c6a65a06a81ac9e711b7a1d7104748 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
.include "include/uskel.s"
.include "include/data.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, %r13 # backup plus
# push a cont thunk for main_exit
push %rsi
pushq $1
pushq $main_exit
# evaluate into main_exit
mov %rsp, %rsi
enter %r13
.include "include/main_exit.s"
.include "include/intops.s"
|