Dave is right: you will be unlikely to find a RISC V programmer here, but it looks like a pretty simple assembler to learn:
RISC-V Assembly Programmer's Manual[
^] - if you are familiar with any other assembly language, at least. I was an assembly dev for decades, but I never met RISC before!
Start by getting the spelling right:
vector: .word 1 2 3 4 5 6 7
...
la x12, vetor
No assembler will pass that:
vetor
is not the same as
vector
Then think about what you are doing: that all looks kinda wrong.
addi x13, x0, 7 Load x13 with 7
addi x13, x13, -1 Load x13 with 6
slli x13, x13, 2 Load x13 with 6 * 4
add x13, x13, x12 Offset vector by 24
Which makes some sense, but you don't use x13 or x12 again at all ...
And why are you trying to reverse an array recursively? it means you need a stack that is at least as big as the array - which is silly - and it's a very inefficient way to do the task.
A simple loop using a temporary register is better:
Loop:
load temp with low address value.
copy high address value to low address
load high address value with temp
repeat via Loop for (N / 2) iterations.