From 6be5a28bb90b391a5842a8ce3dfc7c154100ab68 Mon Sep 17 00:00:00 2001 From: Mirek Kratochvil Date: Sat, 12 Aug 2023 15:12:03 +0200 Subject: make a macro for pushing out thunks --- exit_123.s | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-) (limited to 'exit_123.s') diff --git a/exit_123.s b/exit_123.s index ed96ad1..1e7ba23 100644 --- a/exit_123.s +++ b/exit_123.s @@ -5,30 +5,10 @@ # || -> 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 + thunkto %r11, $INT_code, $100 + thunkto %r12, $INT_code, $23 + thunkto %r13, $plus, $2, %r11, %r12 + thunkto %rsi, $main_exit, $1 enter %r13 .include "include/main_exit.s" -- cgit v1.2.3