summaryrefslogtreecommitdiff
path: root/src/mips_data.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/mips_data.rs')
-rw-r--r--src/mips_data.rs561
1 files changed, 0 insertions, 561 deletions
diff --git a/src/mips_data.rs b/src/mips_data.rs
deleted file mode 100644
index 33c8f41..0000000
--- a/src/mips_data.rs
+++ /dev/null
@@ -1,561 +0,0 @@
-struct Instruction {
- opcode: Opcode,
- operands: Operands
-}
-
-enum Opcode {
- DADD
- DADDI
- DADDIU
- DADDU
- DSUB
- DSUBU
- DMULT
- DMULTU
- DDIV
- DDIVU
-
- ADD
- ADDU
- ADDI
- ADDIU
- SUB
- SUBU
- MULT
- MULTU
- DIV
- DIVU
-
- NOR
- AND
- OR
- XOR
- ANDI
- ORI
- XORI
-
- BEQ
- BEQL
- BGEZ
- BGEZAL
- BGEZALL
- BGEZL
- BGTZ
- BGTZL
- BLEZ
- BLEZL
- BLTZ
- BLTZAL
- BLTZALL
- BLTZL
- BNE
- BNEL
- BREAK
- COPz
- DSLL
- DSLL32
- DSLLV
- DSRA
- DSRA32
- DSRAV
- DSRL
- DSRL32
- DSRLV
- J
- JAL
- JALR
- JR
- LB
- LBU
- LD
- LDCz
- LDL
- LDR
- LH
- LHU
- LL
- LLD
- LUI
- LW
- LWCz
- LWL
- LWR
- LWU
- MFHI
- MFLO
- MOVN
- MOVZ
- MTHI
- MTLO
- PREF
- REGIMM
- SB
- SC
- SCD
- SD
- SDCz
- SDL
- SDR
- SH
- SLL
- SLLV
- SLT
- SLTI
- SLTII
- SRA
- SRAV
- SRL
- SRLV
- SW
- SWCz
- SWL
- SWR
- SYNC
- SYSCALL
-
- TEQ
- TGE
- TGEU
- TLT
- TLTU
- TNE
- TEQI
- TGEI
- TGEIU
- TLTI
- TLTIU
- TNEI
-}
-
-struct RRR(u32);
-struct RImm(u32);
-struct RRImm(u32);
-
-enum Operands {
- RRR(RRR),
- RImm(RImm),
- RRImm(RRImm),
- CoProc(u32),
- Code(u32), // 20-bit number for BREAK or SYSCALL
- Offset(u32), // J or JAL
-}
-
-// ADD
-// SPECIAL rs rt rd 0 ADD
-// 000000 XXXXX XXXXX XXXXX 00000 100000
-//
-// ADDU
-// SPECIAL rs rt rd 0 ADDU
-// 000000 XXXXX XXXXX XXXXX 00000 100001
-//
-// AND
-// SPECIAL rs rt rd 0 ADDU
-// 000000 XXXXX XXXXX XXXXX 00000 100100
-//
-// ADDI rs rt imm16
-// 001000 XXXXX XXXXX YYYYYYYYYYYYYYYY
-//
-// ADDIU rs rt imm16
-// 001001 XXXXX XXXXX YYYYYYYYYYYYYYYY
-//
-// ANDI rs rt imm16
-// 001100 XXXXX XXXXX YYYYYYYYYYYYYYYY
-//
-// BEQ rs rt imm16
-// 000100 XXXXX XXXXX YYYYYYYYYYYYYYYY
-//
-// BEQL rs rt imm16
-// 010100 XXXXX XXXXX YYYYYYYYYYYYYYYY
-//
-// BGEZ
-// REGIMM rs BGEZ imm16
-// 000001 XXXXX 00001 YYYYYYYYYYYYYYYY
-//
-// BGEZAL
-// REGIMM rs BGEZAL imm16
-// 000001 XXXXX 10001 YYYYYYYYYYYYYYYY
-//
-// BGEZALL
-// REGIMM rs BGEZALLimm16
-// 000001 XXXXX 10011 YYYYYYYYYYYYYYYY
-//
-// BGEZL
-// REGIMM rs BGEZL imm16
-// 000001 XXXXX 00011 YYYYYYYYYYYYYYYY
-//
-// BGTZ rs 0 imm16
-// 000111 XXXXX 00000 YYYYYYYYYYYYYYYY
-//
-// BGTZL rs 0 imm16
-// 010111 XXXXX 00000 YYYYYYYYYYYYYYYY
-//
-// BLEZ rs 0 imm16
-// 000110 XXXXX 00000 YYYYYYYYYYYYYYYY
-//
-// BLEZL rs 0 imm16
-// 010110 XXXXX 00000 YYYYYYYYYYYYYYYY
-//
-// BLTZ
-// REGIMM rs BLTZ imm16
-// 000001 XXXXX 00000 YYYYYYYYYYYYYYYY
-//
-// BLTZAL
-// REGIMM rs BLTZAL imm16
-// 000001 XXXXX 10000 YYYYYYYYYYYYYYYY
-//
-// BLTZALL
-// REGIMM rs BLTZALLimm16
-// 000001 XXXXX 10010 YYYYYYYYYYYYYYYY
-//
-// BLTZL
-// REGIMM rs BLTZL imm16
-// 000001 XXXXX 00010 YYYYYYYYYYYYYYYY
-//
-// BNE rs rt imm16
-// 000101 XXXXX XXXXX YYYYYYYYYYYYYYYY
-//
-// BNEL rs rt imm16
-// 010101 XXXXX XXXXX YYYYYYYYYYYYYYYY
-//
-// BREAK
-// SPECIAL code BREAK
-// 000000 XXXXXXXXXXXXXXXXXXXX 001101
-//
-// COPz cop_fun
-// 0100zz XXXXXXXXXXXXXXXXXXXXXXXXXX
-//
-// DADD
-// SPECIAL rs rt rd 0 DADD
-// 000000 XXXXX XXXXX XXXXX 00000 101100
-//
-// DADDU
-// SPECIAL rs rt rd 0 DADDU
-// 000000 XXXXX XXXXX XXXXX 00000 101101
-//
-// DADDI rs rt imm16
-// 011000 XXXXX XXXXX XXXXXXXXXXXXXXXX
-//
-// DADDIU rs rt imm16
-// 011001 XXXXX XXXXX XXXXXXXXXXXXXXXX
-//
-// DSUB
-// SPECIAL rs rt rd 0 DSUB
-// 000000 XXXXX XXXXX XXXXX 00000 101110
-//
-// DSUBU
-// SPECIAL rs rt rd 0 DSUBU
-// 000000 XXXXX XXXXX XXXXX 00000 101111
-//
-// DIV
-// SPECIAL rs rt 0 DIV
-// 000000 XXXXX XXXXX 0000000000 011010
-//
-// DIVU
-// SPECIAL rs rt 0 DIVU
-// 000000 XXXXX XXXXX 0000000000 011011
-//
-// DDIV
-// SPECIAL rs rt 0 DDIV
-// 000000 XXXXX XXXXX 0000000000 011110
-//
-// DDIVU
-// SPECIAL rs rt 0 DDIVU
-// 000000 XXXXX XXXXX 0000000000 011111
-//
-// DMULT
-// SPECIAL rs rt 0 DMULT
-// 000000 XXXXX XXXXX 0000000000 011100
-//
-// DMULTU
-// SPECIAL rs rt 0 DMULTU
-// 000000 XXXXX XXXXX 0000000000 011101
-//
-// DSLL
-// SPECIAL 0 rt rd sa DSLL
-// 000000 00000 XXXXX XXXXX XXXXX 111000
-//
-// DSLL32
-// SPECIAL 0 rt rd sa DSLL32
-// 000000 00000 XXXXX XXXXX XXXXX 111100
-//
-// DSLLV
-// SPECIAL rs rt rd 0 DSLLV
-// 000000 XXXXX XXXXX XXXXX 00000 010100
-//
-// DSRA
-// SPECIAL 0 rt rd sa DSRA
-// 000000 00000 XXXXX XXXXX XXXXX 111011
-//
-// DSRA32
-// SPECIAL 0 rt rd sa DSRA32
-// 000000 00000 XXXXX XXXXX XXXXX 111111
-//
-// DSRAV
-// SPECIAL rs rt rd 0 DSRAV
-// 000000 XXXXX XXXXX XXXXX 00000 010111
-//
-// DSRL
-// SPECIAL 0 rt rd sa DSRL
-// 000000 00000 XXXXX XXXXX XXXXX 111010
-//
-// DSRL32
-// SPECIAL 0 rt rd sa DSRL32
-// 000000 00000 XXXXX XXXXX XXXXX 111110
-//
-// DSRLV
-// SPECIAL rs rt rd 0 DSRLV
-// 000000 XXXXX XXXXX XXXXX 00000 010110
-//
-// J instr_index
-// 000010 XXXXXXXXXXXXXXXXXXXXXXXXXX
-//
-// JAL instr_index
-// 000011 XXXXXXXXXXXXXXXXXXXXXXXXXX
-//
-// JALR v-------------v--- reserved? might not be? unknown
-// SPECIAL rs rd JALR
-// 000000 XXXXX 00000 XXXXX 00000 001001
-//
-// JR v-----v--- reserved? might not be? unknown
-// SPECIAL rs JR
-// 000000 XXXXX 000000000000000 001000
-//
-// LB base rt offset
-// 100000 XXXXX XXXXX XXXXXXXXXXXXXXXX
-//
-// LBU base rt offset
-// 100100 XXXXX XXXXX XXXXXXXXXXXXXXXX
-//
-// LD base rt offset
-// 110111 XXXXX XXXXX XXXXXXXXXXXXXXXX
-//
-// LDCz base rt offset
-// 1101zz XXXXX XXXXX XXXXXXXXXXXXXXXX
-//
-// LDL base rt offset
-// 011010 XXXXX XXXXX XXXXXXXXXXXXXXXX
-//
-// LDR base rt offset
-// 011011 XXXXX XXXXX XXXXXXXXXXXXXXXX
-//
-// LH base rt offset
-// 100001 XXXXX XXXXX XXXXXXXXXXXXXXXX
-//
-// LHU base rt offset
-// 100101 XXXXX XXXXX XXXXXXXXXXXXXXXX
-//
-// LL base rt offset
-// 110000 XXXXX XXXXX XXXXXXXXXXXXXXXX
-//
-// LLD base rt offset
-// 110100 XXXXX XXXXX XXXXXXXXXXXXXXXX
-//
-// LUI 0 rt imm16
-// 001111 00000 XXXXX XXXXXXXXXXXXXXXX
-//
-// LW base rt offset
-// 100011 XXXXX XXXXX XXXXXXXXXXXXXXXX
-//
-// LWCz base rt offset
-// 1100zz XXXXX XXXXX XXXXXXXXXXXXXXXX
-//
-// LWL base rt offset
-// 100010 XXXXX XXXXX XXXXXXXXXXXXXXXX
-//
-// LWR base rt offset
-// 100110 XXXXX XXXXX XXXXXXXXXXXXXXXX
-//
-// LWU base rt offset
-// 100111 XXXXX XXXXX XXXXXXXXXXXXXXXX
-//
-// MFHI
-// SPECIAL 0 rd 0 MFHI
-// 000000 0000000000 XXXXX 00000 010000
-//
-// MFLO
-// SPECIAL 0 rd 0 MFLO
-// 000000 0000000000 XXXXX 00000 010010
-//
-// MOVN
-// SPECIAL rs rt rd 0 MOVN
-// 000000 XXXXX XXXXX XXXXX 00000 001011
-//
-// MOVZ
-// SPECIAL rs rt rd 0 MOVZ
-// 000000 XXXXX XXXXX XXXXX 00000 001010
-//
-// MTHI
-// SPECIAL rs 0 MTHI
-// 000000 XXXXX 000000000000000 010001
-//
-// MTLO
-// SPECIAL rs 0 MTLO
-// 000000 XXXXX 000000000000000 010011
-//
-// MULT
-// SPECIAL rs rt 0 MULT
-// 000000 XXXXX XXXXX 0000000000 011000
-//
-// MULTU
-// SPECIAL rs rt 0 MULTU
-// 000000 XXXXX XXXXX 0000000000 011001
-//
-// NOR
-// SPECIAL rs rt rd 0 NOR
-// 000000 XXXXX XXXXX XXXXX 00000 100111
-//
-// OR
-// SPECIAL rs rt rd 0 OR
-// 000000 XXXXX XXXXX XXXXX 00000 100101
-//
-// ORI rs rt imm16
-// 001101 XXXXX XXXXX YYYYYYYYYYYYYYYY
-//
-// PREF base hint imm16
-// 1100111 XXXXX XXXXX XXXXXXXXXXXXXXXX
-//
-// SB base rt imm16
-// 101000 XXXXX XXXXX YYYYYYYYYYYYYYYY
-//
-// SC base rt imm16
-// 111000 XXXXX XXXXX YYYYYYYYYYYYYYYY
-//
-// SCD base rt imm16
-// 111100 XXXXX XXXXX YYYYYYYYYYYYYYYY
-//
-// SD base rt imm16
-// 111111 XXXXX XXXXX YYYYYYYYYYYYYYYY
-//
-// SDCz base rt imm16
-// 1111zz XXXXX XXXXX YYYYYYYYYYYYYYYY
-//
-// SDL base rt imm16
-// 101100 XXXXX XXXXX YYYYYYYYYYYYYYYY
-//
-// SDR base rt imm16
-// 101101 XXXXX XXXXX YYYYYYYYYYYYYYYY
-//
-// SH base rt imm16
-// 101001 XXXXX XXXXX YYYYYYYYYYYYYYYY
-//
-// SLL
-// SPECIAL 0 rt rd sa SLL
-// 000000 00000 XXXXX XXXXX XXXXX 000000
-//
-// SLLV
-// SPECIAL rs rt rd 0 SLLV
-// 000000 XXXXX XXXXX XXXXX 00000 000100
-//
-// SLT
-// SPECIAL rs rt rd 0 SLT
-// 000000 XXXXX XXXXX XXXXX 00000 101010
-//
-// SLTI rs rt imm16
-// 001010 XXXXX XXXXX YYYYYYYYYYYYYYYY
-//
-// SLTII rs rt imm16
-// 001011 XXXXX XXXXX YYYYYYYYYYYYYYYY
-//
-// SRA
-// SPECIAL 0 rt rd sa SRA
-// 000000 00000 XXXXX XXXXX XXXXX 000011
-//
-// SRAV
-// SPECIAL rs rt rd 0 SRAV
-// 000000 XXXXX XXXXX XXXXX 00000 000111
-//
-// SRL
-// SPECIAL 0 rt rd sa SRL
-// 000000 00000 XXXXX XXXXX XXXXX 000010
-//
-// SRLV
-// SPECIAL rs rt rd 0 SRLV
-// 000000 XXXXX XXXXX XXXXX 00000 000110
-//
-// SUB
-// SPECIAL rs rt rd 0 SUB
-// 000000 XXXXX XXXXX XXXXX 00000 100010
-//
-// SUBU
-// SPECIAL rs rt rd 0 SUBU
-// 000000 XXXXX XXXXX XXXXX 00000 100011
-//
-// SW base rt imm16
-// 101011 XXXXX XXXXX YYYYYYYYYYYYYYYY
-//
-// SWCz base rt imm16
-// 1110zz XXXXX XXXXX YYYYYYYYYYYYYYYY
-//
-// SWL base rt imm16
-// 101010 XXXXX XXXXX YYYYYYYYYYYYYYYY
-//
-// SWR base rt imm16
-// 101110 XXXXX XXXXX YYYYYYYYYYYYYYYY
-//
-// SYNC
-// SPECIAL 0 stype SYNC
-// 000000 000000000000000 XXXXX 001111
-//
-// SYSCALL
-// SPECIAL Code SYSCALL
-// 000000 XXXXXXXXXXXXXXXXXXXX 001100
-//
-// TEQ
-// SPECIAL rs rt code TEQ
-// 000000 XXXXX XXXXX 0000000000 110100
-//
-// TEQI
-// REGIMM rs TEQI imm16
-// 000001 XXXXX 01100 XXXXXXXXXXXXXXXX
-//
-// TGE
-// SPECIAL rs rt code TGE
-// 000000 XXXXX XXXXX 0000000000 110000
-//
-// TGEI
-// REGIMM rs TGEI imm16
-// 000001 XXXXX 01000 XXXXXXXXXXXXXXXX
-//
-// TGEU
-// SPECIAL rs rt code TGEU
-// 000000 XXXXX XXXXX 0000000000 110001
-//
-// TGEIU
-// REGIMM rs TGEIU imm16
-// 000001 XXXXX 01001 XXXXXXXXXXXXXXXX
-//
-// TLT
-// SPECIAL rs rt code TLT
-// 000000 XXXXX XXXXX 0000000000 110010
-//
-// TLTI
-// REGIMM rs TLTI imm16
-// 000001 XXXXX 01010 XXXXXXXXXXXXXXXX
-//
-// TLTU
-// SPECIAL rs rt code TLTU
-// 000000 XXXXX XXXXX 0000000000 110011
-//
-// TLTIU
-// REGIMM rs TLTIU imm16
-// 000001 XXXXX 01011 XXXXXXXXXXXXXXXX
-//
-// TNE
-// SPECIAL rs rt code TNE
-// 000000 XXXXX XXXXX 0000000000 110110
-//
-// TNEI
-// REGIMM rs TNEI imm16
-// 000001 XXXXX 01110 XXXXXXXXXXXXXXXX
-//
-// XOR
-// SPECIAL rs rt rd 0 XOR
-// 000000 XXXXX XXXXX XXXXX 00000 100110
-//
-// XORI rs rt imm16
-// 001110 XXXXX XXXXX XXXXXXXXXXXXXXXX
-
-
-
-
-