diff options
| author | Eugen Wissner <belka@caraus.de> | 2024-09-15 23:03:25 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2024-09-15 23:03:25 +0200 |
| commit | c9ff4f0a2a2cfa31964a307c08f9baa349565bbd (patch) | |
| tree | 780fd5b416c9c8a54b0d7933a70a2d49e4c8d549 /tools/builtin.s | |
| parent | d29012d30e158edc28d4467b69a95b5a3c68f04d (diff) | |
| download | elna-c9ff4f0a2a2cfa31964a307c08f9baa349565bbd.tar.gz | |
Add call pseudo instruction
Diffstat (limited to 'tools/builtin.s')
| -rw-r--r-- | tools/builtin.s | 29 |
1 files changed, 29 insertions, 0 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 |
