aboutsummaryrefslogtreecommitdiff
path: root/prog/src/prog.s
diff options
context:
space:
mode:
authorFlavian Kaufmann <flavian@flaviankaufmann.ch>2024-05-20 16:48:55 +0200
committerFlavian Kaufmann <flavian@flaviankaufmann.ch>2024-05-20 16:48:55 +0200
commite945c80a6ceaef501350de49bf647ae8539d1cbb (patch)
tree9e698d839e5f6221af523b49be04b809648efeb9 /prog/src/prog.s
parent142510b8325b9ef89bd3e22463f36c3caa2815de (diff)
downloadriscv_cpu-e945c80a6ceaef501350de49bf647ae8539d1cbb.tar.gz
riscv_cpu-e945c80a6ceaef501350de49bf647ae8539d1cbb.zip
reset synchronizer
Diffstat (limited to 'prog/src/prog.s')
-rw-r--r--prog/src/prog.s78
1 files changed, 0 insertions, 78 deletions
diff --git a/prog/src/prog.s b/prog/src/prog.s
deleted file mode 100644
index ec227a9..0000000
--- a/prog/src/prog.s
+++ /dev/null
@@ -1,78 +0,0 @@
-.section .text
-.globl test_prog
-
-
-/*
- addi t0, zero, 31
-reset_loop:
- addi t6, zero, 0
-loop:
- addi t6, t6, 1
- beq t6, t0, reset_loop
- j loop
-*/
-
-test_prog:
- li t0, 0xFFFFFFFF
- li t1, 0x33333333
- li t2, 0x88888888
- li t3, 0x11111111
-
- add t4, t1, t2
- sub t4, t1, t2
- slt t4, t3, t0
- slt t4, t0, t3
- sltu t4, t3, t0
- sltu t4, t0, t3
- and t4, zero, zero
- and t4, zero, t0
- and t4, t0, t0
- or t4, zero, zero
- or t4, zero, t0
- or t4, t0, t0
- xor t4, zero, zero
- xor t4, zero, t0
- xor t4, t0, t0
-
- beq t0, t0, branch_eq
- j branch_eq_nt
-end:
- ret
-
-branch_eq_ret:
- beq t0, t3, branch_ne
- j branch_ne_nt
-
-branch_ne_ret:
- addi sp, sp, -16 # Adjust stack pointer to make space for ra and s0
- sw ra, 0(sp) # Save ra to the stack
- call func
- lw ra, 0(sp) # Load ra from the stack
- addi sp, sp, 16 # Restore stack pointer
-
- li t0, 0x00100000
- sw t1, 0(t0)
- lw t2, 0(t0)
-
- j end
-
-
-branch_eq:
- addi t5, zero, 1
- j branch_eq_ret
-
-branch_eq_nt:
- addi t5, zero, 2
- j branch_eq_ret
-
-branch_ne:
- addi t5, zero, 3
- j branch_ne_ret
-
-branch_ne_nt:
- addi t5, zero, 4
- j branch_ne_ret
-
-func:
- addi t5, zero, 5
- ret