MIPS® Architecture for Programmers Volume II-A: The MIPS32® Instruction Set Manual
Table of Contents
List of Figures
List of Tables
About This Book
1.1 Typographical Conventions
1.1.1 Italic Text
1.1.2 Bold Text
1.1.3 Courier Text
1.2 UNPREDICTABLE and UNDEFINED
1.2.1 UNPREDICTABLE
1.2.2 UNDEFINED
1.2.3 UNSTABLE
1.3 Special Symbols in Pseudocode Notation
1.4 Notation for Register Field Accessibility
1.5 For More Information
Guide to the Instruction Set
2.1 Understanding the Instruction Fields
2.1.1 Instruction Fields
2.1.2 Instruction Descriptive Name and Mnemonic
2.1.3 Format Field
2.1.4 Purpose Field
2.1.5 Description Field
2.1.6 Restrictions Field
2.1.7 Availability and Compatibility Fields
2.1.8 Operation Field
2.1.9 Exceptions Field
2.1.10 Programming Notes and Implementation Notes Fields
2.2 Operation Section Notation and Functions
2.2.1 Instruction Execution Ordering
2.2.2 Pseudocode Functions
2.2.2.1 Coprocessor General Register Access Functions
2.2.2.2 Memory Operation Functions
2.2.2.3 Floating Point Functions
2.2.2.4 Pseudocode Functions Related to Sign and Zero Extension
2.2.2.5 Miscellaneous Functions
2.3 Op and Function Subfield Notation
2.4 FPU Instructions
The MIPS32® Instruction Set
3.1 Compliance and Subsetting
3.1.1 Subsetting of Non-Privileged Architecture
3.2 Alphabetical List of Instructions
ABS.fmt
ADD
ADD.fmt
ADDI
ADDIU
ADDIUPC
ADDU
ALIGN
ALNV.PS
ALUIPC
AND
ANDI
AUI
AUIPC
B
BAL
BALC
BC
BC1EQZ BC1NEZ
BC1F
BC1FL
BC1T
BC1TL
BC2EQZ BC2NEZ
BC2F
BC2FL
BC2T
BC2TL
BEQ
BEQL
BGEZ
BGEZAL
B{LE,GE,GT,LT,EQ,NE}ZALC
BGEZALL
BC
BGEZL
BGTZ
BGTZL
BITSWAP
BLEZ
BLEZL
BLTZ
BLTZAL
BLTZALL
BLTZL
BNE
BNEL
BOVC BNVC
BREAK
C.cond.fmt
CACHE
CACHEE
CEIL.L.fmt
CEIL.W.fmt
CFC1
CFC2
CLASS.fmt
CLO
CLZ
CMP.condn.fmt
COP2
CTC1
CTC2
CVT.D.fmt
CVT.L.fmt
CVT.PS.S
CVT.S.PL
CVT.S.PU
CVT.S.fmt
CVT.W.fmt
DDIV
DDIVU
DERET
DI
DIV
DIV MOD DIVU MODU
DIV.fmt
DIVU
DVP
EHB
EI
ERET
ERETNC
EVP
EXT
FLOOR.L.fmt
FLOOR.W.fmt
INS
J
JAL
JALR
JALR.HB
JALX
JIALC
JIC
JR
JR.HB
LB
LBE
LBU
LBUE
LDC1
LDC2
LDXC1
LH
LHE
LHU
LHUE
LL
LLE
LLWP
LLWPE
LSA
LUI
LUXC1
LW
LWC1
LWC2
LWE
LWL
LWLE
LWPC
LWR
LWRE
LWXC1
MADD
MADD.fmt
MADDF.fmt MSUBF.fmt
MADDU
MAX.fmt MIN.fmt MAXA.fmt MINA.fmt
MFC0
MFC1
MFC2
MFHC0
MFHC1
MFHC2
MFHI
MFLO
MOV.fmt
MOVF
MOVF.fmt
MOVN
MOVN.fmt
MOVT
MOVT.fmt
MOVZ
MOVZ.fmt
MSUB
MSUB.fmt
MSUBU
MTC0
MTC1
MTC2
MTHC0
MTHC1
MTHC2
MTHI
MTLO
MUL
MUL MUH MULU MUHU
MUL.fmt
MULT
MULTU
NAL
NEG.fmt
NMADD.fmt
NMSUB.fmt
NOP
NOR
OR
ORI
PAUSE
PLL.PS
PLU.PS
PREF
PREFE
PREFX
PUL.PS
PUU.PS
RDHWR
RDPGPR
RECIP.fmt
RINT.fmt
ROTR
ROTRV
ROUND.L.fmt
ROUND.W.fmt
RSQRT.fmt
SB
SBE
SC
SCE
SCWP
SCWPE
SDBBP
SDC1
SDC2
SDXC1
SEB
SEH
SEL.fmt
SELEQZ SELNEZ
SELEQZ.fmt SELNEQZ.fmt
SH
SHE
SIGRIE
SLL
SLLV
SLT
SLTI
SLTIU
SLTU
SQRT.fmt
SRA
SRAV
SRL
SRLV
SSNOP
SUB
SUB.fmt
SUBU
SUXC1
SW
SWC1
SWC2
SWE
SWL
SWLE
SWR
SWRE
SWXC1
SYNC
SYNCI
SYSCALL
TEQ
TEQI
TGE
TGEI
TGEIU
TGEU
TLBINV
TLBINVF
TLBP
TLBR
TLBWI
TLBWR
TLT
TLTI
TLTIU
TLTU
TNE
TNEI
TRUNC.L.fmt
TRUNC.W.fmt
WAIT
WRPGPR
WSBH
XOR
XORI
Instruction Bit Encodings
A.1 Instruction Encodings and Instruction Classes
A.2 Instruction Bit Encoding Tables
A.3 Floating Point Unit Instruction Format Encodings
A.4 Release 6 Instruction Encodings
Revision History