Specifications

Table Of Contents
Altera Corporation 8–7
October 2007 Nios II Processor Reference Handbook
Instruction Set Reference
Assembler
Macros
The Nios II assembler provides macros to extract halfwords from labels
and from 32-bit immediate values. Table 8–4 lists the available macros.
These macros return 16-bit signed values or 16-bit unsigned values
depending on where they are used. When used with an instruction that
requires a 16-bit signed immediate value, these macros return a value
ranging from –32768 to 32767. When used with an instruction that
requires a 16-bit unsigned immediate value, these macros return a value
ranging from 0 to 65535.
Table 8–4. Assembler Macros
Macro Description Operation
%lo(immed32)
Extract bits [15..0] of immed32 immed32 & 0xffff
%hi(immed32)
Extract bits [31..16] of immed32 (immed32 >> 16) & 0xffff
%hiadj(immed32)
Extract bits [31..16] and adds bit 15 of immed32 ((immed32 >> 16) & 0xffff) +
((immed32 >> 15) & 0x1)
%gprel(immed32)
Replace the immed32 address with an offset
from the global pointer
(1)
immed32 –_gp
Note to Ta bl e 8 – 4 :
(1) See the Application Binary Interface chapter of the Nios II Processor Reference Handbook for more
information about global pointers.