From 35742aa52587400950cf25170c2247f98f498d4d Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Fri, 4 Oct 2024 18:26:10 +0200 Subject: Add printc and exit builtin functions --- tools/builtin.s | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) (limited to 'tools') diff --git a/tools/builtin.s b/tools/builtin.s index ecea15b..0f5f82c 100644 --- a/tools/builtin.s +++ b/tools/builtin.s @@ -1,6 +1,12 @@ .global printi .type printi, @function +.global printc +.type printc, @function + +.global exit +.type exit, @function + .global _start .type _start, @function @@ -53,8 +59,35 @@ printi: addi sp, sp, 16 ret -_start: - call main +printc: + addi sp, sp, -12 + sw s0, 0(sp) + sw ra, 4(sp) + addi s0, sp, 12 + + addi t1, zero, '\n' + sb t1, -1(s0) + + lw t0, 0(s0) + sb t0, -2(s0) + + addi a0, zero, 1 + addi a1, s0, -2 + addi a2, zero, 2 + addi a7, zero, 64 + ecall + + lw s0, 0(sp) + lw ra, 4(sp) + addi sp, sp, 12 + ret + +exit: addi a0, zero, 0 addi a7, zero, 93 ecall + # ret + +_start: + call main + call exit -- cgit v1.2.3