Jump and link register: Set t1 to Program Counter (return address) then jump to statement at t2 + immediate
jalr
Operands
reg, [reg / imm / imm(reg)], immVariants
- Jump and link register: Set t1 to Program Counter (return address) then jump to statement at t2 + immediate jalr t1, t2, -100
- Jump And Link Register: Jump to address in t0 and set the return address to ra jalr t0
- Jump And Link Register: Jump to address in t0 and set the return address to ra jalr t0, -100
- Jump And Link Register: Jump to address in t1 and set the return address to t0 jalr t0,-100(t1)
# jalr saves the next instruction address (0x00400010) in ra. link_marker is that skipped instruction; t2 ends at 1.
.text
li t2, 0
la t3, done
jalr ra, 0(t3)
link_marker:
addi t2, t2, 100
done:
addi t2, t2, 1