| Syntax |
Format |
Description |
Sc Rd,Rs1,Rs2 |
R-type |
Set; c is a condition specifier
(EQ, NE, LT, LE, GE, GT); contents of registers
s1 and s2 are compared; register
d is set to 1 if the condition is true,
otherwise it is set to 0.
|
ScU Rd,Rs1,Rs2 |
R-type |
Set Unsigned; like Sc, but the comparison is
done assuming the operads contain unsigned values.
|
ScI Rd,Rs1,#imm |
I-type |
Set Immediate; like Sc, but compares register
s1 to the sign-extended imm field.
|
ScUI Rd,Rs1,#imm |
I-type |
Set Immediate Unsigned; like ScI, but
imm is zero-extended, and the comparison is unsigned.
|
| Syntax |
Format |
Description |
TRAP |
R-type |
Arithmetic Trap;
like the regular TRAP, but doesn't have a trap number.
|
NOP |
R-type |
No-op; does nothing, but does it gracefully. |
ADD Rd,Rs1,Rs2 |
R-type |
Add; the contents of registers s1 and s2 are
added, and the result is placed in register d.
|
ADDU Rd,Rs1,Rs2 |
R-type |
Like ADD, but assumes unsigned values. |
ADDI Rd,Rs1,#imm |
I-type |
Like ADD, but the second operand is the sign-extended
imm field.
|
ADDUI Rd,Rs1,#imm |
I-type |
Like ADDU, but the second operand is the zero-extended
imm field.
|
SUB Rd,Rs1,Rs2 |
R-type |
Subtract; the contents of register s2 is subtracted from
the contents of register s1,
and the result is placed in register d.
|
SUBU Rd,Rs1,Rs2 |
R-type |
Like SUB, but assumes unsigned values. |
SUBI Rd,Rs1,#imm |
I-type |
Like SUB, but the second operand is the sign-extended
imm field.
|
SUBUI Rd,Rs1,#imm |
I-type |
Like SUBU, but the second operand is the zero-extended
imm field.
|
AND Rd,Rs1,Rs2 |
R-type |
Like ADD, but performs a logical AND operation. |
ANDI Rd,Rs1,#imm |
I-type |
Like AND, but the second operand is the zero-extended
imm field.
|
OR Rd,Rs1,Rs2 |
R-type |
Like AND, but performs a logical OR operation. |
ORI Rd,Rs1,#imm |
I-type |
Like OR, but the second operand is the
zero-extended
imm field.
|
XOR Rd,Rs1,Rs2 |
R-type |
Like AND, but performs a logical XOR operation. |
XORI Rd,Rs1,#imm |
I-type |
Like XOR, but the second operand is the
zero-extended
imm field.
|
SLL Rd,Rs1,Rs2 |
R-type |
Shift Left Logical; the contents of register s1 are shifted
left (and zero-filled) by the number found in register s2,
and the results are placed in register d.
zeroes
|
SLLI Rd,Rs1,#imm |
I-type |
Like SLL, but the shift count is the
zero-extended
imm field.
|
SRL Rd,Rs1,Rs2 |
R-type |
Shift Right Logical;
like SLL, but performs a right logical shift. |
SRLI Rd,Rs1,#imm |
I-type |
Like SRL, but the shift count is the
zero-extended
imm field.
|
SRA Rd,Rs1,Rs2 |
R-type |
Shift right Arithmetic;
like SRL, but performs a right arithmetic shift, filling
with copies of the original sign bit.
|
SRAI Rd,Rs1,#imm |
I-type |
Like SRA, but the shift count is the
zero-extended
imm field.
|
| Syntax |
Format |
Description |
J dst |
J-type |
Jump; the 26-bit offset field of the instruction is
sign-extended to 32 bits and added to the PC.
|
JR Rs1 |
I-type |
Jump Register; like J, but transfers to the address found
in
register s1.
|
JAL dst |
J-type |
Jump And Link; like J, but copies the PC into R31 before
the transfer.
|
JALR Rs1 |
I-type |
Jump And Link Register;
like JAL, but transfers to the address found in
register s1.
|
BEQZ Rs1,dst |
I-type |
Branch on Equal to Zero; if the contents of register s1
equals zero, transfer to the destination, which is calculated by adding
the sign-extended imm field contents to the PC.
|
BNEZ Rs1,dst |
I-type |
Branch on Not Equal to Zero; if the contents of register s1
does not equal zero, transfer to the destination, which is calculated by
adding the sign-extended imm field contents to the PC.
|
These are actually integer instructions, but they are part of the
floating-point set because the original DLX design assumed that they
would be implemented by the floating-point coprocessor due to their
execution times.