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 7–1
October 2007
7. Application Binary
Interface
This section describes the Application Binary Interface (ABI) for the
Nios
®
II processor. The ABI describes:
■ How data is arranged in memory
■ Behavior and structure of the stack
■ Function calling conventions
This chapter contains the following sections:
■ “Data Types” on page 7–1
■ “Memory Alignment” on page 7–2
■ “Register Usage” on page 7–2
■ “Stacks” on page 7–3
■ “Arguments and Return Values” on page 7–8
Data Types
Table 7–1 shows the size and representation of the C/C++ data types for
the Nios II processor.
Table 7–1. Representation of Data Types
Type Size (Bytes) Representation
char, signed char 1 2s complement (ASCII)
unsigned char 1 binary (ASCII)
short, signed short 2 2s complement
unsigned short 2 binary
int, signed int 4 2s complement
unsigned int 4 binary
long, signed long 4 2s complement
unsigned long 4 binary
float 4 IEEE
double 8 IEEE
pointer 4 binary
long long 8 2s complement
unsigned long long 8 binary
NII51016-7.2.0