summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2024-09-15 23:03:25 +0200
committerEugen Wissner <belka@caraus.de>2024-09-15 23:03:25 +0200
commitc9ff4f0a2a2cfa31964a307c08f9baa349565bbd (patch)
tree780fd5b416c9c8a54b0d7933a70a2d49e4c8d549 /tools
parentd29012d30e158edc28d4467b69a95b5a3c68f04d (diff)
downloadelna-c9ff4f0a2a2cfa31964a307c08f9baa349565bbd.tar.gz
Add call pseudo instruction
Diffstat (limited to 'tools')
-rw-r--r--tools/builtin.s29
-rw-r--r--tools/init.c1
2 files changed, 29 insertions, 1 deletions
diff --git a/tools/builtin.s b/tools/builtin.s
new file mode 100644
index 0000000..6fc43f6
--- /dev/null
+++ b/tools/builtin.s
@@ -0,0 +1,29 @@
+.global printi
+.type printi, @function
+
+.text
+printi:
+ addi sp, sp, -8
+ sw s0, 0(sp)
+ sw ra, 4(sp)
+ addi s0, sp, 8
+
+ addi t0, a0, 0
+ addi a0, a0, '0'
+ sw a0, 0(s0)
+ addi a0, x0, 1
+ addi a1, s0, 0
+ addi a2, x0, 1
+ addi a7, x0, 64
+ ecall
+
+ addi t1, x0, '\n'
+ sw t1, 0(s0)
+ ecall
+
+ addi a0, t0, 0
+
+ lw s0, 0(sp)
+ lw ra, 4(sp)
+ addi sp, sp, 8
+ ret
diff --git a/tools/init.c b/tools/init.c
index cb646bd..f463bcd 100644
--- a/tools/init.c
+++ b/tools/init.c
@@ -118,7 +118,6 @@ enum status run_test(const char *file_entry_name)
close(pipe_ends[0]);
int wait_status = 0;
- wait(&wait_status);
make_path(filename, "./expectations/", file_entry_name, ".txt");