8.5.52. jmp
Instruction
computed jump
Operation
PC ← rA
Assembler Syntax
jmp rA
Example
jmp r12
Description
Transfers execution to the address contained in register rA.
Usage
It is illegal to jump to the address contained in register r31.
To return from subroutines called by
call
or
callr
, use
ret
instead of
jmp
.
Exceptions
Misaligned destination address
Instruction Type
R
Instruction Fields
A
= Register index of operand rA
Bit Fields
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
A
0
0
0x0d
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0d
0
0x3a
8.5.53. jmpi
Instruction
jump immediate
Operation
PC ← (PC
31..28
: IMM26 x 4)
Assembler Syntax
jmpi label
Example
jmpi write_char
Description
Transfers execution to the instruction at address (PC
31..28
:
IMM26 x 4).
Usage
jmpi
is a low-overhead local jump.
jmpi
can transfer
execution anywhere within the 256-MB range determined by
PC
31..28
. The Nios II GNU linker does not automatically
handle cases in which the address is out of this range.
Exceptions
None
Instruction Type
J
Instruction Fields
IMM26
= 26-bit unsigned immediate value
Bit Fields
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
IMM26
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
IMM26
0x01
8. Instruction Set Reference
NII-PRG | 2018.04.18
Nios II Processor Reference Guide
205