Bit Fields
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
0
0
0x1e
0x34
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x34
IMM5
0x3a
8.5.18. bret
Instruction
breakpoint return
Operation
status
←
bstatus
PC ←
ba
Assembler Syntax
bret
Example
bret
Description
Copies the value of
bstatus
to the
status
register, then
transfers execution to the address in
ba
.
Usage
bret
is used by debuggers exclusively and should not
appear in user programs, operating systems, or exception
handlers.
Exceptions
Misaligned destination address
Supervisor-only instruction
Instruction Type
R
Instruction Fields
None
Bit Fields
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
0x1e
0
0x1e
0x09
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x09
0
0x3a
8.5.19. call
Instruction
call subroutine
Operation
ra
← PC + 4
PC ← (PC
31..28
: IMM26 x 4)
Assembler Syntax
call label
Example
call write_char
Description
Saves the address of the next instruction in register
ra
, and
transfers execution to the instruction at address (PC
31..28
:
IMM26 x 4).
Usage
call
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.
continued...
8. Instruction Set Reference
NII-PRG | 2018.04.18
Nios II Processor Reference Guide
184