#include "copyright.h"Go to the source code of this file.
Compounds | |
| struct | OpInfo |
| Internal data structures for simulating the MIPS instruction set. More... | |
| struct | OpString |
| Stuff to help print out each instruction, for debugging. More... | |
Defines | |
| #define | OP_ADD 1 |
| #define | OP_ADDI 2 |
| #define | OP_ADDIU 3 |
| #define | OP_ADDU 4 |
| #define | OP_AND 5 |
| #define | OP_ANDI 6 |
| #define | OP_BEQ 7 |
| #define | OP_BGEZ 8 |
| #define | OP_BGEZAL 9 |
| #define | OP_BGTZ 10 |
| #define | OP_BLEZ 11 |
| #define | OP_BLTZ 12 |
| #define | OP_BLTZAL 13 |
| #define | OP_BNE 14 |
| #define | OP_DIV 16 |
| #define | OP_DIVU 17 |
| #define | OP_J 18 |
| #define | OP_JAL 19 |
| #define | OP_JALR 20 |
| #define | OP_JR 21 |
| #define | OP_LB 22 |
| #define | OP_LBU 23 |
| #define | OP_LH 24 |
| #define | OP_LHU 25 |
| #define | OP_LUI 26 |
| #define | OP_LW 27 |
| #define | OP_LWL 28 |
| #define | OP_LWR 29 |
| #define | OP_MFHI 31 |
| #define | OP_MFLO 32 |
| #define | OP_MTHI 34 |
| #define | OP_MTLO 35 |
| #define | OP_MULT 36 |
| #define | OP_MULTU 37 |
| #define | OP_NOR 38 |
| #define | OP_OR 39 |
| #define | OP_ORI 40 |
| #define | OP_RFE 41 |
| #define | OP_SB 42 |
| #define | OP_SH 43 |
| #define | OP_SLL 44 |
| #define | OP_SLLV 45 |
| #define | OP_SLT 46 |
| #define | OP_SLTI 47 |
| #define | OP_SLTIU 48 |
| #define | OP_SLTU 49 |
| #define | OP_SRA 50 |
| #define | OP_SRAV 51 |
| #define | OP_SRL 52 |
| #define | OP_SRLV 53 |
| #define | OP_SUB 54 |
| #define | OP_SUBU 55 |
| #define | OP_SW 56 |
| #define | OP_SWL 57 |
| #define | OP_SWR 58 |
| #define | OP_XOR 59 |
| #define | OP_XORI 60 |
| #define | OP_SYSCALL 61 |
| #define | OP_UNIMP 62 |
| #define | OP_RES 63 |
| #define | MaxOpcode 63 |
| #define | IndexToAddr(x) ((x) << 2) |
| #define | SIGN_BIT 0x80000000 |
| #define | R31 31 |
| #define | SPECIAL 100 |
| #define | BCOND 101 |
| #define | IFMT 1 |
| #define | JFMT 2 |
| #define | RFMT 3 |
Enumerations | |
| enum | RegType { NONE, RS, RT, RD, EXTRA } |
| Stuff to help print out each instruction, for debugging. More... | |
Variables | |
| OpInfo | opTable [] |
| int | specialTable [] |
| struct OpString | opStrings [] |
|
|
|
|
|
|
|
|
Definition at line 94 of file mipssim.h. Referenced by Machine::OneInstruction().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Stuff to help print out each instruction, for debugging.
|
|
|
|
|
|
Initial value: {
{SPECIAL, RFMT}, {BCOND, IFMT}, {OP_J, JFMT}, {OP_JAL, JFMT},
{OP_BEQ, IFMT}, {OP_BNE, IFMT}, {OP_BLEZ, IFMT}, {OP_BGTZ, IFMT},
{OP_ADDI, IFMT}, {OP_ADDIU, IFMT}, {OP_SLTI, IFMT}, {OP_SLTIU, IFMT},
{OP_ANDI, IFMT}, {OP_ORI, IFMT}, {OP_XORI, IFMT}, {OP_LUI, IFMT},
{OP_UNIMP, IFMT}, {OP_UNIMP, IFMT}, {OP_UNIMP, IFMT}, {OP_UNIMP, IFMT},
{OP_RES, IFMT}, {OP_RES, IFMT}, {OP_RES, IFMT}, {OP_RES, IFMT},
{OP_RES, IFMT}, {OP_RES, IFMT}, {OP_RES, IFMT}, {OP_RES, IFMT},
{OP_RES, IFMT}, {OP_RES, IFMT}, {OP_RES, IFMT}, {OP_RES, IFMT},
{OP_LB, IFMT}, {OP_LH, IFMT}, {OP_LWL, IFMT}, {OP_LW, IFMT},
{OP_LBU, IFMT}, {OP_LHU, IFMT}, {OP_LWR, IFMT}, {OP_RES, IFMT},
{OP_SB, IFMT}, {OP_SH, IFMT}, {OP_SWL, IFMT}, {OP_SW, IFMT},
{OP_RES, IFMT}, {OP_RES, IFMT}, {OP_SWR, IFMT}, {OP_RES, IFMT},
{OP_UNIMP, IFMT}, {OP_UNIMP, IFMT}, {OP_UNIMP, IFMT}, {OP_UNIMP, IFMT},
{OP_RES, IFMT}, {OP_RES, IFMT}, {OP_RES, IFMT}, {OP_RES, IFMT},
{OP_UNIMP, IFMT}, {OP_UNIMP, IFMT}, {OP_UNIMP, IFMT}, {OP_UNIMP, IFMT},
{OP_RES, IFMT}, {OP_RES, IFMT}, {OP_RES, IFMT}, {OP_RES, IFMT}
} |
|
|
Initial value: {
OP_SLL, OP_RES, OP_SRL, OP_SRA, OP_SLLV, OP_RES, OP_SRLV, OP_SRAV,
OP_JR, OP_JALR, OP_RES, OP_RES, OP_SYSCALL, OP_UNIMP, OP_RES, OP_RES,
OP_MFHI, OP_MTHI, OP_MFLO, OP_MTLO, OP_RES, OP_RES, OP_RES, OP_RES,
OP_MULT, OP_MULTU, OP_DIV, OP_DIVU, OP_RES, OP_RES, OP_RES, OP_RES,
OP_ADD, OP_ADDU, OP_SUB, OP_SUBU, OP_AND, OP_OR, OP_XOR, OP_NOR,
OP_RES, OP_RES, OP_SLT, OP_SLTU, OP_RES, OP_RES, OP_RES, OP_RES,
OP_RES, OP_RES, OP_RES, OP_RES, OP_RES, OP_RES, OP_RES, OP_RES,
OP_RES, OP_RES, OP_RES, OP_RES, OP_RES, OP_RES, OP_RES, OP_RES
} |
1.2.8.1 written by Dimitri van Heesch,
© 1997-2001