Implement division

This commit is contained in:
2024-10-06 18:07:57 +02:00
parent 35742aa525
commit 699cc8684b
13 changed files with 101 additions and 27 deletions

View File

@ -7,6 +7,9 @@
.global exit
.type exit, @function
.global _divide_by_zero_error
.type _divide_by_zero_error, @function
.global _start
.type _start, @function
@ -51,7 +54,7 @@ printi:
addi a0, zero, 1
addi a1, a1, 1
sub a2, s0, a1
addi a7, zero, 64
addi a7, zero, 64 # write
ecall
lw s0, 0(sp)
@ -74,7 +77,7 @@ printc:
addi a0, zero, 1
addi a1, s0, -2
addi a2, zero, 2
addi a7, zero, 64
addi a7, zero, 64 # write
ecall
lw s0, 0(sp)
@ -84,10 +87,19 @@ printc:
exit:
addi a0, zero, 0
addi a7, zero, 93
addi a7, zero, 93 # exit
ecall
# ret
_divide_by_zero_error:
addi a7, zero, 172 # getpid
ecall
addi a1, zero, 8 # SIGFPE
addi a7, zero, 129 # kill
ecall
ret
_start:
call main
call exit