2006-01-10 20:57:37 +01:00
|
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
//
|
|
|
|
// Bitfield definitions.
|
|
|
|
//
|
|
|
|
|
2006-01-25 23:06:23 +01:00
|
|
|
def bitfield OPCODE_HI <31:29>;
|
|
|
|
def bitfield OPCODE_LO <28:26>;
|
|
|
|
|
2006-01-25 23:36:38 +01:00
|
|
|
def bitfield FUNCTION_HI < 5: 3>;
|
|
|
|
def bitfield FUNCTION_LO < 2: 0>;
|
2006-01-25 23:06:23 +01:00
|
|
|
|
2006-02-04 05:04:06 +01:00
|
|
|
// Integer operate format
|
2006-01-25 23:36:38 +01:00
|
|
|
def bitfield RT <20:16>;
|
|
|
|
def bitfield RT_HI <20:19>;
|
|
|
|
def bitfield RT_LO <18:16>;
|
2006-01-25 23:06:23 +01:00
|
|
|
|
2006-01-25 23:36:38 +01:00
|
|
|
def bitfield RS <25:21>;
|
|
|
|
def bitfield RS_HI <25:24>;
|
|
|
|
def bitfield RS_LO <23:21>;
|
|
|
|
|
2006-01-26 23:07:01 +01:00
|
|
|
def bitfield RD <15:11>;
|
2006-01-25 23:06:23 +01:00
|
|
|
|
2006-02-04 05:04:06 +01:00
|
|
|
def bitfield INTIMM <15: 0>; // integer immediate (literal)
|
|
|
|
|
2006-01-25 23:06:23 +01:00
|
|
|
// Floating-point operate format
|
2006-02-04 05:04:06 +01:00
|
|
|
def bitfield FMT <25:21>;
|
2006-01-26 23:07:01 +01:00
|
|
|
def bitfield FT <20:16>;
|
|
|
|
def bitfield FS <15:11>;
|
|
|
|
def bitfield FD <10:6>;
|
2006-01-25 23:06:23 +01:00
|
|
|
|
2006-01-26 23:07:01 +01:00
|
|
|
def bitfield MOVCI <16:16>;
|
|
|
|
def bitfield MOVCF <16:16>;
|
|
|
|
def bitfield SRL <21:21>;
|
|
|
|
def bitfield SRLV < 6: 6>;
|
|
|
|
def bitfield SA <10: 6>;
|
2006-01-25 23:06:23 +01:00
|
|
|
|
2006-01-26 23:07:01 +01:00
|
|
|
// Interrupts
|
|
|
|
def bitfield SC < 5: 5>;
|
2006-01-25 23:06:23 +01:00
|
|
|
|
2006-01-26 23:07:01 +01:00
|
|
|
// Branch format
|
|
|
|
def bitfield OFFSET <15: 0>; // displacement
|
|
|
|
|
|
|
|
// Memory-format jumps
|
2006-02-03 09:56:57 +01:00
|
|
|
def bitfield JMPTARG <25: 0>;
|
|
|
|
def bitfield JMPHINT <10: 6>;
|
2006-01-25 23:06:23 +01:00
|
|
|
|
2006-02-03 09:56:57 +01:00
|
|
|
def bitfield SYSCALLCODE <25: 6>;
|
|
|
|
def bitfield TRAPCODE <15:13>;
|
2006-01-25 23:06:23 +01:00
|
|
|
|
|
|
|
// M5 instructions
|
|
|
|
def bitfield M5FUNC <7:0>;
|