Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

where can I find a description of *all* MIPS instructions

Does anyone know of a web site where I can find a list of 32-bit MIPS instructions/opcodes, with the following features:

  • Clearly distinguishes between real opcodes and assembly-language macros (pseudo-instructions)
  • Describes the instruction behavior including differences depending on privilege level.
  • Indicates in which instruction set revision the instruction was introduced/revised (e.g. MIPS I, MIPS II, MIPS32, etc.)
  • Includes privileged instructions such as syscall.

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!

like image 941
Dan Lenski Avatar asked Sep 25 '08 20:09

Dan Lenski


People also ask

How do you represent MIPS instructions?

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).

What are the types of instructions in MIPS?

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.

How many instructions are there in MIPS?

There are 3 main instruction formats in MIPS.

What are the three main formats for MIPS instructions?

There are three instruction categories: I-format, J-format, and R-format (most common).


1 Answers

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.

like image 189
Dan Lenski Avatar answered Sep 24 '22 03:09

Dan Lenski