diff --git a/tests/a.out b/tests/a.out deleted file mode 100755 index fa74bf1..0000000 Binary files a/tests/a.out and /dev/null differ diff --git a/tests/mult.c b/tests/mult.c new file mode 100644 index 0000000..01a3041 --- /dev/null +++ b/tests/mult.c @@ -0,0 +1,9 @@ +#include + +int main(){ + unsigned int x, y; + x = 20; + x = 5; + + x *= y; +} \ No newline at end of file diff --git a/tests/mult.s b/tests/mult.s new file mode 100644 index 0000000..6f36c87 --- /dev/null +++ b/tests/mult.s @@ -0,0 +1,32 @@ + .file "mult.c" + .option nopic + .attribute arch, "rv32i2p1" + .attribute unaligned_access, 0 + .attribute stack_align, 16 + .text + .globl __mulsi3 + .align 2 + .globl main + .type main, @function +main: + addi sp,sp,-32 + sw ra,28(sp) + sw s0,24(sp) + addi s0,sp,32 + li a5,20 + sw a5,-20(s0) + li a5,5 + sw a5,-20(s0) + lw a1,-24(s0) + lw a0,-20(s0) + call __mulsi3 + mv a5,a0 + sw a5,-20(s0) + li a5,0 + mv a0,a5 + lw ra,28(sp) + lw s0,24(sp) + addi sp,sp,32 + jr ra + .size main, .-main + .ident "GCC: () 13.2.0"