Overview

The following pseudo-instructions are generated by nios-elf-gcc (GNU compiler) and understood by nios-elf-as (GNU assembler).

Table 18. GNU Compiler/Assembler Pseudo-instructions

Psuedo-Instruction

Equivalent Instruction

Notes

 

 

 

LRET

JMP %o7

LRET has no operands

 

 

 

RET

JMP %i7

RET has no operands

 

 

 

NOP

MOV %g0,%g0

NOP has no operands

 

 

 

IF0 %rA,IMM5

SKP1 %rA,IMM5

 

 

 

 

IF1 %rA,IMM5

SKP0 %rA,IMM5

 

 

 

 

IFRz %rA

SKPRnz %rA

 

 

 

 

IFRnz %rA

SKPRz %rA

 

 

 

 

IFS cc_c

SKPS cc_nc

 

 

 

 

IFS cc_nc

SKPS cc_c

 

 

 

 

IFS cc_z

SKPS cc_nz

 

 

 

 

IFS cc_nz

SKPS cc_z

 

 

 

 

IFS cc_mi

SKPS cc_pl

 

 

 

 

IFS cc_pl

SKPS cc_mi

 

 

 

 

IFS ccge

SKPS cc_lt

 

 

 

 

IFS cc_lt

SKPS cc_ge

 

 

 

 

IFS cc_le

SKPS cc_gt

 

 

 

 

IFS cc_gt

SKPS cc_le

 

 

 

 

IFS cc_v

SKPS cc_nv

 

 

 

 

IFS cc_nv

SKPS cc_v

 

 

 

 

IFS cc_ls

SKPS cc_hi

 

 

 

 

IFS cc_hi

SKPS cc_ls

 

 

 

 

The following operators are understood by nios-elf-as. These operators may be used with constants and symbolic addresses, and can be correctly resolved either by the assembler or the linker.

Operator

Description

Operation

 

 

 

%lo(x)

Extract low 5 bits of x.

x & 0×0000001f

 

 

 

%hi(x)

Extract bits 5..15 of x.

(x >> 5) & 0×000007ff

%xlo(x)

Extract bits 16..20 of x.

(x >> 1 (x >> 16) & 0×0000001f

 

 

 

%xhi(x)

Extract bits 21..31 of x.

(x >> 21) & 0×000007ff

x@h

Half-word address of x.

x >> 1

 

 

 

1

Overview

Altera Corporation

31

Page 43
Image 43
Excalibur electronic A-MNL-NIOSPROG-01.1 manual GNU Compiler/Assembler Pseudo-instructions, Psuedo-Instruction