Does anyone know of a web site where I can find a list of 32-bit MIPS instructions/opcodes, with the following features:
I am aware of numerous web sites which document "part of" the instruction set, mostly for teaching purposes. They tend to leave out or only partially describe floating-point and privileged instructions.
In case you're wondering, I'm looking at Verilog code for a MIPS processor subset, and trying to figure out exactly to what extent it complies with the instruction sets of any real MIPS processors!
MIPS instructions are encoded in binary, as 32-bit instruction words, called machine code. The layout of an instruction is called the instruction format. Only 3 different formats exist. target address fields need to be shifted left 2 bits to correctly represent a valid instruction address (32-bits aligned).
MIPS Instruction Types. When MIPS instructions are classified according to coding format, they fall into four categories: R-type, I-type, J-type, and coprocessor.
There are 3 main instruction formats in MIPS.
There are three instruction categories: I-format, J-format, and R-format (most common).
Okay, I found something!
MIPS offers a set of "MIPS 32 reference manuals" which refer to the latest, standardized instruction set (MIPS32v2): here
These include just about everything, except the information about which version the instructions originated in :-(
WAIT A SEC...
This class website at Cornell includes links to what appears to be the same manual, but is in fact an older version of it, and volume 2 of that older version does in fact include information about when the instructions where first introduced. Woohoo!
Why would MIPS remove this information from the revised documentation? There doesn't seem to be any explanation in the revision history.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With