Figure 1. xori
Description
The IMM field is extended to 32 bits by concatenating 16 0-bits on the left. The contents of register rA are XOR’ed with the extended IMM field; the result is placed into register rD.
Pseudocode
(rD) ← (rA) ⊕ sext(IMM)
Registers Altered
- rD
Latency
- 1 cycle
Notes
- By default, Type B Instructions will take the 16-bit IMM field value and sign extend it to 32 bits to use as the immediate operand. This behavior can be overridden by preceding the Type B instruction with an imm instruction. See the instruction imm for details on using 32-bit immediate values.
-
When this instruction is used with rD set to r0, a program trace event is emitted with the 14 least significant bits of the result. Typically this is used to trace operating system events like context switches and system calls, but it can be used by any program to trace significant events. The functionality is enabled by setting
C_DEBUG_ENABLED
= 2 (Extended) andC_DEBUG_TRACE_SIZE
> 0. See Program and Event Trace for further details.