Specifications
Table Of Contents
- Nios II Processor Reference Handbook
- Contents
- Chapter Revision Dates
- About This Handbook
- Section I. Nios II Processor
- 1. Introduction
- 2. Processor Architecture
- 3. Programming Model
- Introduction
- General- Purpose Registers
- Control Registers
- Operating Modes
- Exception Processing
- Memory and Peripheral Access
- Instruction Set Categories
- Referenced Documents
- Document Revision History
- 4. Instantiating the Nios II Processor in SOPC Builder
- Section II. Appendices
- 5. Nios II Core Implementation Details
- Introduction
- Device Family Support
- Nios II/f Core
- Nios II/s Core
- Nios II/e Core
- Referenced Documents
- Document Revision History
- 6. Nios II Processor Revision History
- 7. Application Binary Interface
- 8. Instruction Set Reference
- Introduction
- Word Formats
- Instruction Opcodes
- Assembler Pseudo- instructions
- Assembler Macros
- Instruction Set Reference
- add
- addi
- and
- andhi
- andi
- beq
- bge
- bgeu
- bgt
- bgtu
- ble
- bleu
- blt
- bltu
- bne
- br
- break
- bret
- call
- callr
- cmpeq
- cmpeqi
- cmpge
- cmpgei
- cmpgeu
- cmpgeui
- cmpgt
- cmpgti
- cmpgtu
- cmpgtui
- cmple
- cmplei
- cmpleu
- cmpleui
- cmplt
- cmplti
- cmpltu
- cmpltui
- cmpne
- cmpnei
- custom
- div
- divu
- eret
- flushd
- flushda
- flushi
- flushp
- initd
- initi
- jmp
- jmpi
- ldb / ldbio
- ldbu / ldbuio
- ldh / ldhio
- ldhu / ldhuio
- ldw / ldwio
- mov
- movhi
- movi
- movia
- movui
- mul
- muli
- mulxss
- mulxsu
- mulxuu
- nextpc
- nop
- nor
- or
- orhi
- ori
- rdctl
- ret
- rol
- roli
- ror
- sll
- slli
- sra
- srai
- srl
- srli
- stb / stbio
- sth / sthio
- stw / stwio
- sub
- subi
- sync
- trap
- wrctl
- xor
- xorhi
- xori
- Referenced Documents
- Document Revision History

Altera Corporation 3–19
October 2007 Nios II Processor Reference Handbook
Programming Model
Program Control Instructions
The Nios II architecture supports the unconditional jump and call
instructions listed in Table 3–11. These instructions do not have delay
slots.
The conditional-branch instructions compare register values directly, and
branch if the expression is true. See Table 3–12. The conditional branches
support the equality and relational comparisons of the C programming
language:
■ == and !=
■ < and <= (signed and unsigned)
■ > and >= (signed and unsigned)
Table 3–11. Unconditional Jump and Call Instructions
Instruction Description
call
This instruction calls a subroutine using an immediate value as the subroutine's absolute address,
and stores the return address in register
ra.
callr
This instruction calls a subroutine at the absolute address contained in a register, and stores the
return address in register
ra. This instruction serves the roll of dereferencing a C function pointer.
ret The ret instruction is used to return from subroutines called by call or callr. ret loads and
executes the instruction specified by the address in register
ra.
jmp The jmp instruction jumps to an absolute address contained in a register. jmp is used to
implement switch statements of the C programming language.
jmpi The jmpi instruction jumps to an absolute address using an immediate value to determine the
absolute address.
br
This instruction branches relative to the current instruction. A signed immediate value gives the
offset of the next instruction to execute.