Assembly Code:
.data str .string "Hello_RISC-V" .global main strrev: la s1, str li a0, 12 addi sp, sp, -16 sw ra, 0(sp) sw s1, 8(sp) mv s1, a0 srai t0, a0, 1 # Divide sz by 2 li t1, 0 # i = 0 1b: bge t1, t0, 1f add t2, s1, t1 # str + i sub t3, a0, t1 # sz - i addi t3, t3, -1 # sz - i - 1 add t3, t3, s1 # str + sz - i - 1 lb t4, 0(t2) # str[i] lb t5, 0(t3) # str[sz - i - 1] sb t4, 0(t3) # swap sb t5, 0(t2) addi t1, t1, 1 j 1b 1f: lw s1, 8(sp) lw ra, 0(sp) addi sp, sp, 16 hlt
Compile
Edit
Step
Run
Reset
PC:
0
Current Instruction:
Next Instruction:
Memory:
Focus
Register
Value
Address
Value