This is an old revision of the document!
RISC Opcodes
OP occupies bits 31:24 of the 32-bit instruction. Select an opcode for operands, operation, hazards and its instruction format.
An empty cell has no definition in this specification.
Opcode Details
| OP | Mnemonic | Operands | What it does | Timing |
|---|---|---|---|---|
| 0x00 | add immediate | D,S2,uimm8 | D=S2+S1 | result delay 0 |
| 0x01 | sub immediate | D,S2,uimm8 | D=S2-S1 | result delay 0 |
| 0x02 | andn immediate | D,S2,uimm8 | D=S2 AND NOT S1 | result delay 0 |
| 0x03 | subf immediate | D,S2,uimm8 | D=S1-S2 | result delay 0 |
| 0x04 | and immediate | D,S2,uimm8 | D=S2 AND S1 | result delay 0 |
| 0x05 | or immediate | D,S2,uimm8 | D=S2 OR S1 | result delay 0 |
| 0x06 | nor immediate | D,S2,uimm8 | D=S2 NOR S1 | result delay 0 |
| 0x07 | xor immediate | D,S2,uimm8 | D=S2 XOR S1 | result delay 0 |
| 0x08 | mul immediate | D,S2,uimm8 | D=low32(S2*S1) | 1-cycle result delay for scalar multiply; vector even result delay 0, odd 1; vectors launch in 2 cycles |
| 0x09 | mulsr8 immediate | D,S2,uimm8 |