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

3–8 Altera Corporation
Nios II Processor Reference Handbook October 2007
Exception Processing
3. Writes the address of the instruction following the break to the ba
register (r30)
4. Transfers execution to the break handler, stored at the break vector
specified at system generation time
Register Usage
The bstatus control register and general-purpose registers bt (r25)
and ba (r30) are reserved for debugging. Code is not prevented from
writing to these registers, but debug code might overwrite the values. The
break handler can use bt (r25) to help save additional registers.
Returning From a Break
After processing a break, the break handler releases control of the
processor by executing a bret instruction. The bret instruction restores
status by copying the contents of bstatus and returns program
execution to the address in the ba register (r30). Aside from bt, all
registers are guaranteed to be returned to their pre-break state after
returning from the break handler.
Interrupt Exceptions
An external source such as a peripheral device can request a hardware
interrupt by asserting one of the processor’s 32 interrupt-request inputs,
irq0 through irq31. A hardware interrupt is generated if and only if all
three of these conditions are true:
■ The PIE bit of the status control register is one
■ An interrupt-request input, irqn, is asserted
■ The corresponding bit n of the ienable control register is one.
Upon hardware interrupt, the processor sets the PIE bit to zero, disabling
further interrupts, and performs the other steps outlined in “Processing
Interrupt and Instruction-Related Exceptions” on page 3–11.
The value of the ipending control register shows which interrupt
requests (IRQ) are pending. By peripheral design, an IRQ bit is
guaranteed to remain asserted until the processor explicitly responds to
the peripheral. Figure 3–1 shows the relationship between ipending,
ienable, PIE, and the generation of an interrupt.