int nanomips_dis(char *buf,
- unsigned address,
+ Dis_info *info,
unsigned short one,
unsigned short two,
unsigned short three)
uint16 bits[3] = {one, two, three};
TABLE_ENTRY_TYPE type;
- NMD d(address);
- int size = d.Disassemble(bits, disasm, type);
+ NMD d;
+ int size = d.Disassemble(bits, disasm, type, info);
strcpy(buf, disasm.c_str());
return size;
info->target = 0;
info->target2 = 0;
+ Dis_info disassm_info;
+ disassm_info.m_pc = memaddr;
+
status = (*info->read_memory_func)(memaddr, buffer, 2, info);
if (status != 0) {
(*info->memory_error_func)(status, memaddr, info);
(*info->fprintf_func)(info->stream, " ");
}
- int length = nanomips_dis(buf, memaddr, insn1, insn2, insn3);
+ int length = nanomips_dis(buf, &disassm_info, insn1, insn2, insn3);
/* FIXME: Should probably use a hash table on the major opcode here. */
}
-std::string NMD::ADDRESS(uint64 value, int instruction_size)
+std::string NMD::ADDRESS(uint64 value, int instruction_size, Dis_info *info)
{
/* token for string replace */
- img_address address = m_pc + value + instruction_size;
+ img_address address = info->m_pc + value + instruction_size;
/* symbol replacement */
return to_string(address);
}
int NMD::Disassemble(const uint16 * data, std::string & dis,
- TABLE_ENTRY_TYPE & type)
+ TABLE_ENTRY_TYPE & type, Dis_info *info)
{
- return Disassemble(data, dis, type, MAJOR, 2);
+ return Disassemble(data, dis, type, MAJOR, 2, info);
}
*/
int NMD::Disassemble(const uint16 * data, std::string & dis,
TABLE_ENTRY_TYPE & type, const Pool *table,
- int table_size)
+ int table_size, Dis_info *info)
{
try
{
if (table[i].type == pool) {
return Disassemble(data, dis, type,
table[i].next_table,
- table[i].next_table_size);
+ table[i].next_table_size,
+ info);
} else if ((table[i].type == instruction) ||
(table[i].type == call_instruction) ||
(table[i].type == branch_instruction) ||
return -6;
}
type = table[i].type;
- dis = (this->*dis_fn)(op_code);
+ dis = (this->*dis_fn)(op_code, info);
return table[i].instructions_size;
} else {
dis = "reserved instruction";
* fs -----
* fd -----
*/
-std::string NMD::ABS_D(uint64 instruction)
+std::string NMD::ABS_D(uint64 instruction, Dis_info *info)
{
uint64 fd_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* fd -----
* fs -----
*/
-std::string NMD::ABS_S(uint64 instruction)
+std::string NMD::ABS_S(uint64 instruction, Dis_info *info)
{
uint64 fd_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rt -----
* rs -----
*/
-std::string NMD::ABSQ_S_PH(uint64 instruction)
+std::string NMD::ABSQ_S_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rt -----
* rs -----
*/
-std::string NMD::ABSQ_S_QB(uint64 instruction)
+std::string NMD::ABSQ_S_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rt -----
* rs -----
*/
-std::string NMD::ABSQ_S_W(uint64 instruction)
+std::string NMD::ABSQ_S_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rt -----
* rs -----
*/
-std::string NMD::ACLR(uint64 instruction)
+std::string NMD::ACLR(uint64 instruction, Dis_info *info)
{
uint64 bit_value = extract_bit_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rt -----
* rs -----
*/
-std::string NMD::ADD(uint64 instruction)
+std::string NMD::ADD(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* fs -----
* fd -----
*/
-std::string NMD::ADD_D(uint64 instruction)
+std::string NMD::ADD_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* fs -----
* fd -----
*/
-std::string NMD::ADD_S(uint64 instruction)
+std::string NMD::ADD_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rt -----
* rs -----
*/
-std::string NMD::ADDIU_32_(uint64 instruction)
+std::string NMD::ADDIU_32_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rt -----
* rs -----
*/
-std::string NMD::ADDIU_48_(uint64 instruction)
+std::string NMD::ADDIU_48_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_41_40_39_38_37(instruction);
int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);
* rt -----
* rs -----
*/
-std::string NMD::ADDIU_GP48_(uint64 instruction)
+std::string NMD::ADDIU_GP48_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_41_40_39_38_37(instruction);
int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);
* rt -----
* rs -----
*/
-std::string NMD::ADDIU_GP_B_(uint64 instruction)
+std::string NMD::ADDIU_GP_B_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_0(instruction);
* rt -----
* rs -----
*/
-std::string NMD::ADDIU_GP_W_(uint64 instruction)
+std::string NMD::ADDIU_GP_W_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_20_to_2__s2(instruction);
* rt -----
* rs -----
*/
-std::string NMD::ADDIU_NEG_(uint64 instruction)
+std::string NMD::ADDIU_NEG_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rt -----
* rs -----
*/
-std::string NMD::ADDIU_R1_SP_(uint64 instruction)
+std::string NMD::ADDIU_R1_SP_(uint64 instruction, Dis_info *info)
{
uint64 u_value = extract_u_5_4_3_2_1_0__s2(instruction);
uint64 rt3_value = extract_rt3_9_8_7(instruction);
* rt -----
* rs -----
*/
-std::string NMD::ADDIU_R2_(uint64 instruction)
+std::string NMD::ADDIU_R2_(uint64 instruction, Dis_info *info)
{
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
* rt -----
* s - ---
*/
-std::string NMD::ADDIU_RS5_(uint64 instruction)
+std::string NMD::ADDIU_RS5_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_9_8_7_6_5(instruction);
int64 s_value = extract_s__se3_4_2_1_0(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ADDIUPC_32_(uint64 instruction)
+std::string NMD::ADDIUPC_32_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
int64 s_value = extract_s__se21_0_20_to_1_s1(instruction);
std::string rt = GPR(copy(rt_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("ADDIUPC %s, %s", rt, s);
}
* rs -----
* rd -----
*/
-std::string NMD::ADDIUPC_48_(uint64 instruction)
+std::string NMD::ADDIUPC_48_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_41_40_39_38_37(instruction);
int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);
std::string rt = GPR(copy(rt_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 6);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 6, info);
return img_format("ADDIUPC %s, %s", rt, s);
}
* rs -----
* rd -----
*/
-std::string NMD::ADDQ_PH(uint64 instruction)
+std::string NMD::ADDQ_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ADDQ_S_PH(uint64 instruction)
+std::string NMD::ADDQ_S_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ADDQ_S_W(uint64 instruction)
+std::string NMD::ADDQ_S_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ADDQH_PH(uint64 instruction)
+std::string NMD::ADDQH_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ADDQH_R_PH(uint64 instruction)
+std::string NMD::ADDQH_R_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ADDQH_R_W(uint64 instruction)
+std::string NMD::ADDQH_R_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ADDQH_W(uint64 instruction)
+std::string NMD::ADDQH_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ADDSC(uint64 instruction)
+std::string NMD::ADDSC(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs3 ---
* rd3 ---
*/
-std::string NMD::ADDU_16_(uint64 instruction)
+std::string NMD::ADDU_16_(uint64 instruction, Dis_info *info)
{
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ADDU_32_(uint64 instruction)
+std::string NMD::ADDU_32_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ADDU_4X4_(uint64 instruction)
+std::string NMD::ADDU_4X4_(uint64 instruction, Dis_info *info)
{
uint64 rt4_value = extract_rt4_9_7_6_5(instruction);
uint64 rs4_value = extract_rs4_4_2_1_0(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ADDU_PH(uint64 instruction)
+std::string NMD::ADDU_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ADDU_QB(uint64 instruction)
+std::string NMD::ADDU_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ADDU_S_PH(uint64 instruction)
+std::string NMD::ADDU_S_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ADDU_S_QB(uint64 instruction)
+std::string NMD::ADDU_S_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ADDUH_QB(uint64 instruction)
+std::string NMD::ADDUH_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ADDUH_R_QB(uint64 instruction)
+std::string NMD::ADDUH_R_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ADDWC(uint64 instruction)
+std::string NMD::ADDWC(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ALUIPC(uint64 instruction)
+std::string NMD::ALUIPC(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
int64 s_value = extract_s__se31_0_11_to_2_20_to_12_s12(instruction);
std::string rt = GPR(copy(rt_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("ALUIPC %s, %%pcrel_hi(%s)", rt, s);
}
* rs3 ---
* eu ----
*/
-std::string NMD::AND_16_(uint64 instruction)
+std::string NMD::AND_16_(uint64 instruction, Dis_info *info)
{
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
* rs -----
* rd -----
*/
-std::string NMD::AND_32_(uint64 instruction)
+std::string NMD::AND_32_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs3 ---
* eu ----
*/
-std::string NMD::ANDI_16_(uint64 instruction)
+std::string NMD::ANDI_16_(uint64 instruction, Dis_info *info)
{
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ANDI_32_(uint64 instruction)
+std::string NMD::ANDI_32_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::APPEND(uint64 instruction)
+std::string NMD::APPEND(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ASET(uint64 instruction)
+std::string NMD::ASET(uint64 instruction, Dis_info *info)
{
uint64 bit_value = extract_bit_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::BALC_16_(uint64 instruction)
+std::string NMD::BALC_16_(uint64 instruction, Dis_info *info)
{
int64 s_value = extract_s__se10_0_9_8_7_6_5_4_3_2_1_s1(instruction);
- std::string s = ADDRESS(encode_s_from_address(s_value), 2);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 2, info);
return img_format("BALC %s", s);
}
* rs -----
* rd -----
*/
-std::string NMD::BALC_32_(uint64 instruction)
+std::string NMD::BALC_32_(uint64 instruction, Dis_info *info)
{
int64 s_value = extract_s__se25_0_24_to_1_s1(instruction);
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("BALC %s", s);
}
* rs -----
* rd -----
*/
-std::string NMD::BALRSC(uint64 instruction)
+std::string NMD::BALRSC(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::BBEQZC(uint64 instruction)
+std::string NMD::BBEQZC(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 bit_value = extract_bit_16_15_14_13_12_11(instruction);
std::string rt = GPR(copy(rt_value));
std::string bit = IMMEDIATE(copy(bit_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("BBEQZC %s, %s, %s", rt, bit, s);
}
* rs -----
* rd -----
*/
-std::string NMD::BBNEZC(uint64 instruction)
+std::string NMD::BBNEZC(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 bit_value = extract_bit_16_15_14_13_12_11(instruction);
std::string rt = GPR(copy(rt_value));
std::string bit = IMMEDIATE(copy(bit_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("BBNEZC %s, %s, %s", rt, bit, s);
}
* rs -----
* rd -----
*/
-std::string NMD::BC_16_(uint64 instruction)
+std::string NMD::BC_16_(uint64 instruction, Dis_info *info)
{
int64 s_value = extract_s__se10_0_9_8_7_6_5_4_3_2_1_s1(instruction);
- std::string s = ADDRESS(encode_s_from_address(s_value), 2);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 2, info);
return img_format("BC %s", s);
}
* rs -----
* rd -----
*/
-std::string NMD::BC_32_(uint64 instruction)
+std::string NMD::BC_32_(uint64 instruction, Dis_info *info)
{
int64 s_value = extract_s__se25_0_24_to_1_s1(instruction);
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("BC %s", s);
}
* rs -----
* rd -----
*/
-std::string NMD::BC1EQZC(uint64 instruction)
+std::string NMD::BC1EQZC(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);
std::string ft = FPR(copy(ft_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("BC1EQZC %s, %s", ft, s);
}
* rs -----
* rd -----
*/
-std::string NMD::BC1NEZC(uint64 instruction)
+std::string NMD::BC1NEZC(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);
std::string ft = FPR(copy(ft_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("BC1NEZC %s, %s", ft, s);
}
* rs -----
* rd -----
*/
-std::string NMD::BC2EQZC(uint64 instruction)
+std::string NMD::BC2EQZC(uint64 instruction, Dis_info *info)
{
uint64 ct_value = extract_ct_25_24_23_22_21(instruction);
int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);
std::string ct = CPR(copy(ct_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("BC2EQZC %s, %s", ct, s);
}
* rs -----
* rd -----
*/
-std::string NMD::BC2NEZC(uint64 instruction)
+std::string NMD::BC2NEZC(uint64 instruction, Dis_info *info)
{
uint64 ct_value = extract_ct_25_24_23_22_21(instruction);
int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);
std::string ct = CPR(copy(ct_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("BC2NEZC %s, %s", ct, s);
}
* rs -----
* rd -----
*/
-std::string NMD::BEQC_16_(uint64 instruction)
+std::string NMD::BEQC_16_(uint64 instruction, Dis_info *info)
{
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
std::string rs3 = GPR(encode_rs3_and_check_rs3_lt_rt3(rs3_value));
std::string rt3 = GPR(decode_gpr_gpr3(rt3_value));
- std::string u = ADDRESS(encode_u_from_address(u_value), 2);
+ std::string u = ADDRESS(encode_u_from_address(u_value), 2, info);
return img_format("BEQC %s, %s, %s", rs3, rt3, u);
}
* rs -----
* rd -----
*/
-std::string NMD::BEQC_32_(uint64 instruction)
+std::string NMD::BEQC_32_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
std::string rs = GPR(copy(rs_value));
std::string rt = GPR(copy(rt_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("BEQC %s, %s, %s", rs, rt, s);
}
* rs -----
* rd -----
*/
-std::string NMD::BEQIC(uint64 instruction)
+std::string NMD::BEQIC(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction);
std::string rt = GPR(copy(rt_value));
std::string u = IMMEDIATE(copy(u_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("BEQIC %s, %s, %s", rt, u, s);
}
* rs -----
* rd -----
*/
-std::string NMD::BEQZC_16_(uint64 instruction)
+std::string NMD::BEQZC_16_(uint64 instruction, Dis_info *info)
{
uint64 rt3_value = extract_rt3_9_8_7(instruction);
int64 s_value = extract_s__se7_0_6_5_4_3_2_1_s1(instruction);
std::string rt3 = GPR(decode_gpr_gpr3(rt3_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 2);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 2, info);
return img_format("BEQZC %s, %s", rt3, s);
}
* rs -----
* rd -----
*/
-std::string NMD::BGEC(uint64 instruction)
+std::string NMD::BGEC(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
std::string rs = GPR(copy(rs_value));
std::string rt = GPR(copy(rt_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("BGEC %s, %s, %s", rs, rt, s);
}
* rs -----
* rd -----
*/
-std::string NMD::BGEIC(uint64 instruction)
+std::string NMD::BGEIC(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction);
std::string rt = GPR(copy(rt_value));
std::string u = IMMEDIATE(copy(u_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("BGEIC %s, %s, %s", rt, u, s);
}
* rs -----
* rd -----
*/
-std::string NMD::BGEIUC(uint64 instruction)
+std::string NMD::BGEIUC(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction);
std::string rt = GPR(copy(rt_value));
std::string u = IMMEDIATE(copy(u_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("BGEIUC %s, %s, %s", rt, u, s);
}
* rs -----
* rd -----
*/
-std::string NMD::BGEUC(uint64 instruction)
+std::string NMD::BGEUC(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
std::string rs = GPR(copy(rs_value));
std::string rt = GPR(copy(rt_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("BGEUC %s, %s, %s", rs, rt, s);
}
* rs -----
* rd -----
*/
-std::string NMD::BLTC(uint64 instruction)
+std::string NMD::BLTC(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
std::string rs = GPR(copy(rs_value));
std::string rt = GPR(copy(rt_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("BLTC %s, %s, %s", rs, rt, s);
}
* rs -----
* rd -----
*/
-std::string NMD::BLTIC(uint64 instruction)
+std::string NMD::BLTIC(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction);
std::string rt = GPR(copy(rt_value));
std::string u = IMMEDIATE(copy(u_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("BLTIC %s, %s, %s", rt, u, s);
}
* rs -----
* rd -----
*/
-std::string NMD::BLTIUC(uint64 instruction)
+std::string NMD::BLTIUC(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction);
std::string rt = GPR(copy(rt_value));
std::string u = IMMEDIATE(copy(u_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("BLTIUC %s, %s, %s", rt, u, s);
}
* rs -----
* rd -----
*/
-std::string NMD::BLTUC(uint64 instruction)
+std::string NMD::BLTUC(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
std::string rs = GPR(copy(rs_value));
std::string rt = GPR(copy(rt_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("BLTUC %s, %s, %s", rs, rt, s);
}
* rs -----
* rd -----
*/
-std::string NMD::BNEC_16_(uint64 instruction)
+std::string NMD::BNEC_16_(uint64 instruction, Dis_info *info)
{
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
std::string rs3 = GPR(encode_rs3_and_check_rs3_ge_rt3(rs3_value));
std::string rt3 = GPR(decode_gpr_gpr3(rt3_value));
- std::string u = ADDRESS(encode_u_from_address(u_value), 2);
+ std::string u = ADDRESS(encode_u_from_address(u_value), 2, info);
return img_format("BNEC %s, %s, %s", rs3, rt3, u);
}
* rs -----
* rd -----
*/
-std::string NMD::BNEC_32_(uint64 instruction)
+std::string NMD::BNEC_32_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
std::string rs = GPR(copy(rs_value));
std::string rt = GPR(copy(rt_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("BNEC %s, %s, %s", rs, rt, s);
}
* rs -----
* rd -----
*/
-std::string NMD::BNEIC(uint64 instruction)
+std::string NMD::BNEIC(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction);
std::string rt = GPR(copy(rt_value));
std::string u = IMMEDIATE(copy(u_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("BNEIC %s, %s, %s", rt, u, s);
}
* rs -----
* rd -----
*/
-std::string NMD::BNEZC_16_(uint64 instruction)
+std::string NMD::BNEZC_16_(uint64 instruction, Dis_info *info)
{
uint64 rt3_value = extract_rt3_9_8_7(instruction);
int64 s_value = extract_s__se7_0_6_5_4_3_2_1_s1(instruction);
std::string rt3 = GPR(decode_gpr_gpr3(rt3_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 2);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 2, info);
return img_format("BNEZC %s, %s", rt3, s);
}
* s[13:1] -------------
* s[14] -
*/
-std::string NMD::BPOSGE32C(uint64 instruction)
+std::string NMD::BPOSGE32C(uint64 instruction, Dis_info *info)
{
int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("BPOSGE32C %s", s);
}
* rs -----
* rd -----
*/
-std::string NMD::BREAK_16_(uint64 instruction)
+std::string NMD::BREAK_16_(uint64 instruction, Dis_info *info)
{
uint64 code_value = extract_code_2_1_0(instruction);
* rs -----
* rd -----
*/
-std::string NMD::BREAK_32_(uint64 instruction)
+std::string NMD::BREAK_32_(uint64 instruction, Dis_info *info)
{
uint64 code_value = extract_code_18_to_0(instruction);
* rs -----
* rd -----
*/
-std::string NMD::BRSC(uint64 instruction)
+std::string NMD::BRSC(uint64 instruction, Dis_info *info)
{
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CACHE(uint64 instruction)
+std::string NMD::CACHE(uint64 instruction, Dis_info *info)
{
uint64 op_value = extract_op_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CACHEE(uint64 instruction)
+std::string NMD::CACHEE(uint64 instruction, Dis_info *info)
{
uint64 op_value = extract_op_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CEIL_L_D(uint64 instruction)
+std::string NMD::CEIL_L_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CEIL_L_S(uint64 instruction)
+std::string NMD::CEIL_L_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CEIL_W_D(uint64 instruction)
+std::string NMD::CEIL_W_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CEIL_W_S(uint64 instruction)
+std::string NMD::CEIL_W_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CFC1(uint64 instruction)
+std::string NMD::CFC1(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 cs_value = extract_cs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CFC2(uint64 instruction)
+std::string NMD::CFC2(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 cs_value = extract_cs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CLASS_D(uint64 instruction)
+std::string NMD::CLASS_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CLASS_S(uint64 instruction)
+std::string NMD::CLASS_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CLO(uint64 instruction)
+std::string NMD::CLO(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CLZ(uint64 instruction)
+std::string NMD::CLZ(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_AF_D(uint64 instruction)
+std::string NMD::CMP_AF_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_AF_S(uint64 instruction)
+std::string NMD::CMP_AF_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_EQ_D(uint64 instruction)
+std::string NMD::CMP_EQ_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rt -----
* rs -----
*/
-std::string NMD::CMP_EQ_PH(uint64 instruction)
+std::string NMD::CMP_EQ_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_EQ_S(uint64 instruction)
+std::string NMD::CMP_EQ_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_LE_D(uint64 instruction)
+std::string NMD::CMP_LE_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rt -----
* rs -----
*/
-std::string NMD::CMP_LE_PH(uint64 instruction)
+std::string NMD::CMP_LE_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_LE_S(uint64 instruction)
+std::string NMD::CMP_LE_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_LT_D(uint64 instruction)
+std::string NMD::CMP_LT_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rt -----
* rs -----
*/
-std::string NMD::CMP_LT_PH(uint64 instruction)
+std::string NMD::CMP_LT_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_LT_S(uint64 instruction)
+std::string NMD::CMP_LT_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_NE_D(uint64 instruction)
+std::string NMD::CMP_NE_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_NE_S(uint64 instruction)
+std::string NMD::CMP_NE_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_OR_D(uint64 instruction)
+std::string NMD::CMP_OR_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_OR_S(uint64 instruction)
+std::string NMD::CMP_OR_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_SAF_D(uint64 instruction)
+std::string NMD::CMP_SAF_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_SAF_S(uint64 instruction)
+std::string NMD::CMP_SAF_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_SEQ_D(uint64 instruction)
+std::string NMD::CMP_SEQ_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_SEQ_S(uint64 instruction)
+std::string NMD::CMP_SEQ_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_SLE_D(uint64 instruction)
+std::string NMD::CMP_SLE_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_SLE_S(uint64 instruction)
+std::string NMD::CMP_SLE_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_SLT_D(uint64 instruction)
+std::string NMD::CMP_SLT_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_SLT_S(uint64 instruction)
+std::string NMD::CMP_SLT_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_SNE_D(uint64 instruction)
+std::string NMD::CMP_SNE_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_SNE_S(uint64 instruction)
+std::string NMD::CMP_SNE_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_SOR_D(uint64 instruction)
+std::string NMD::CMP_SOR_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_SOR_S(uint64 instruction)
+std::string NMD::CMP_SOR_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_SUEQ_D(uint64 instruction)
+std::string NMD::CMP_SUEQ_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_SUEQ_S(uint64 instruction)
+std::string NMD::CMP_SUEQ_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_SULE_D(uint64 instruction)
+std::string NMD::CMP_SULE_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_SULE_S(uint64 instruction)
+std::string NMD::CMP_SULE_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_SULT_D(uint64 instruction)
+std::string NMD::CMP_SULT_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_SULT_S(uint64 instruction)
+std::string NMD::CMP_SULT_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_SUN_D(uint64 instruction)
+std::string NMD::CMP_SUN_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_SUNE_D(uint64 instruction)
+std::string NMD::CMP_SUNE_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_SUNE_S(uint64 instruction)
+std::string NMD::CMP_SUNE_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_SUN_S(uint64 instruction)
+std::string NMD::CMP_SUN_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_UEQ_D(uint64 instruction)
+std::string NMD::CMP_UEQ_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_UEQ_S(uint64 instruction)
+std::string NMD::CMP_UEQ_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_ULE_D(uint64 instruction)
+std::string NMD::CMP_ULE_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_ULE_S(uint64 instruction)
+std::string NMD::CMP_ULE_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_ULT_D(uint64 instruction)
+std::string NMD::CMP_ULT_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_ULT_S(uint64 instruction)
+std::string NMD::CMP_ULT_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_UN_D(uint64 instruction)
+std::string NMD::CMP_UN_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_UNE_D(uint64 instruction)
+std::string NMD::CMP_UNE_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_UNE_S(uint64 instruction)
+std::string NMD::CMP_UNE_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMP_UN_S(uint64 instruction)
+std::string NMD::CMP_UN_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMPGDU_EQ_QB(uint64 instruction)
+std::string NMD::CMPGDU_EQ_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMPGDU_LE_QB(uint64 instruction)
+std::string NMD::CMPGDU_LE_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMPGDU_LT_QB(uint64 instruction)
+std::string NMD::CMPGDU_LT_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMPGU_EQ_QB(uint64 instruction)
+std::string NMD::CMPGU_EQ_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMPGU_LE_QB(uint64 instruction)
+std::string NMD::CMPGU_LE_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CMPGU_LT_QB(uint64 instruction)
+std::string NMD::CMPGU_LT_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rt -----
* rs -----
*/
-std::string NMD::CMPU_EQ_QB(uint64 instruction)
+std::string NMD::CMPU_EQ_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rt -----
* rs -----
*/
-std::string NMD::CMPU_LE_QB(uint64 instruction)
+std::string NMD::CMPU_LE_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rt -----
* rs -----
*/
-std::string NMD::CMPU_LT_QB(uint64 instruction)
+std::string NMD::CMPU_LT_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::COP2_1(uint64 instruction)
+std::string NMD::COP2_1(uint64 instruction, Dis_info *info)
{
uint64 cofun_value = extract_cofun_25_24_23(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CTC1(uint64 instruction)
+std::string NMD::CTC1(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 cs_value = extract_cs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CTC2(uint64 instruction)
+std::string NMD::CTC2(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 cs_value = extract_cs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CVT_D_L(uint64 instruction)
+std::string NMD::CVT_D_L(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CVT_D_S(uint64 instruction)
+std::string NMD::CVT_D_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CVT_D_W(uint64 instruction)
+std::string NMD::CVT_D_W(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CVT_L_D(uint64 instruction)
+std::string NMD::CVT_L_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CVT_L_S(uint64 instruction)
+std::string NMD::CVT_L_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CVT_S_D(uint64 instruction)
+std::string NMD::CVT_S_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CVT_S_L(uint64 instruction)
+std::string NMD::CVT_S_L(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CVT_S_PL(uint64 instruction)
+std::string NMD::CVT_S_PL(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CVT_S_PU(uint64 instruction)
+std::string NMD::CVT_S_PU(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CVT_S_W(uint64 instruction)
+std::string NMD::CVT_S_W(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CVT_W_D(uint64 instruction)
+std::string NMD::CVT_W_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::CVT_W_S(uint64 instruction)
+std::string NMD::CVT_W_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DADDIU_48_(uint64 instruction)
+std::string NMD::DADDIU_48_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_41_40_39_38_37(instruction);
int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DADDIU_NEG_(uint64 instruction)
+std::string NMD::DADDIU_NEG_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DADDIU_U12_(uint64 instruction)
+std::string NMD::DADDIU_U12_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DADD(uint64 instruction)
+std::string NMD::DADD(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DADDU(uint64 instruction)
+std::string NMD::DADDU(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DCLO(uint64 instruction)
+std::string NMD::DCLO(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DCLZ(uint64 instruction)
+std::string NMD::DCLZ(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DDIV(uint64 instruction)
+std::string NMD::DDIV(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DDIVU(uint64 instruction)
+std::string NMD::DDIVU(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DERET(uint64 instruction)
+std::string NMD::DERET(uint64 instruction, Dis_info *info)
{
(void)instruction;
* rs -----
* rd -----
*/
-std::string NMD::DEXTM(uint64 instruction)
+std::string NMD::DEXTM(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DEXT(uint64 instruction)
+std::string NMD::DEXT(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DEXTU(uint64 instruction)
+std::string NMD::DEXTU(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DINSM(uint64 instruction)
+std::string NMD::DINSM(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DINS(uint64 instruction)
+std::string NMD::DINS(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DINSU(uint64 instruction)
+std::string NMD::DINSU(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DI(uint64 instruction)
+std::string NMD::DI(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DIV(uint64 instruction)
+std::string NMD::DIV(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DIV_D(uint64 instruction)
+std::string NMD::DIV_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DIV_S(uint64 instruction)
+std::string NMD::DIV_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DIVU(uint64 instruction)
+std::string NMD::DIVU(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DLSA(uint64 instruction)
+std::string NMD::DLSA(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DLUI_48_(uint64 instruction)
+std::string NMD::DLUI_48_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_41_40_39_38_37(instruction);
uint64 u_value = extract_u_31_to_0__s32(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DMFC0(uint64 instruction)
+std::string NMD::DMFC0(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DMFC1(uint64 instruction)
+std::string NMD::DMFC1(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DMFC2(uint64 instruction)
+std::string NMD::DMFC2(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 cs_value = extract_cs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DMFGC0(uint64 instruction)
+std::string NMD::DMFGC0(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DMOD(uint64 instruction)
+std::string NMD::DMOD(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DMODU(uint64 instruction)
+std::string NMD::DMODU(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DMTC0(uint64 instruction)
+std::string NMD::DMTC0(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DMTC1(uint64 instruction)
+std::string NMD::DMTC1(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DMTC2(uint64 instruction)
+std::string NMD::DMTC2(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 cs_value = extract_cs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DMTGC0(uint64 instruction)
+std::string NMD::DMTGC0(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DMT(uint64 instruction)
+std::string NMD::DMT(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DMUH(uint64 instruction)
+std::string NMD::DMUH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DMUHU(uint64 instruction)
+std::string NMD::DMUHU(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DMUL(uint64 instruction)
+std::string NMD::DMUL(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DMULU(uint64 instruction)
+std::string NMD::DMULU(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* ac --
*/
-std::string NMD::DPA_W_PH(uint64 instruction)
+std::string NMD::DPA_W_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DPAQ_SA_L_W(uint64 instruction)
+std::string NMD::DPAQ_SA_L_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DPAQ_S_W_PH(uint64 instruction)
+std::string NMD::DPAQ_S_W_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DPAQX_SA_W_PH(uint64 instruction)
+std::string NMD::DPAQX_SA_W_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DPAQX_S_W_PH(uint64 instruction)
+std::string NMD::DPAQX_S_W_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DPAU_H_QBL(uint64 instruction)
+std::string NMD::DPAU_H_QBL(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DPAU_H_QBR(uint64 instruction)
+std::string NMD::DPAU_H_QBR(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DPAX_W_PH(uint64 instruction)
+std::string NMD::DPAX_W_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DPS_W_PH(uint64 instruction)
+std::string NMD::DPS_W_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DPSQ_SA_L_W(uint64 instruction)
+std::string NMD::DPSQ_SA_L_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DPSQ_S_W_PH(uint64 instruction)
+std::string NMD::DPSQ_S_W_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DPSQX_SA_W_PH(uint64 instruction)
+std::string NMD::DPSQX_SA_W_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DPSQX_S_W_PH(uint64 instruction)
+std::string NMD::DPSQX_S_W_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DPSU_H_QBL(uint64 instruction)
+std::string NMD::DPSU_H_QBL(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DPSU_H_QBR(uint64 instruction)
+std::string NMD::DPSU_H_QBR(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DPSX_W_PH(uint64 instruction)
+std::string NMD::DPSX_W_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DROTR(uint64 instruction)
+std::string NMD::DROTR(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* shift -----
*/
-std::string NMD::DROTR32(uint64 instruction)
+std::string NMD::DROTR32(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DROTRV(uint64 instruction)
+std::string NMD::DROTRV(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DROTX(uint64 instruction)
+std::string NMD::DROTX(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* shift -----
*/
-std::string NMD::DSLL(uint64 instruction)
+std::string NMD::DSLL(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* shift -----
*/
-std::string NMD::DSLL32(uint64 instruction)
+std::string NMD::DSLL32(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DSLLV(uint64 instruction)
+std::string NMD::DSLLV(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* shift -----
*/
-std::string NMD::DSRA(uint64 instruction)
+std::string NMD::DSRA(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* shift -----
*/
-std::string NMD::DSRA32(uint64 instruction)
+std::string NMD::DSRA32(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DSRAV(uint64 instruction)
+std::string NMD::DSRAV(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* shift -----
*/
-std::string NMD::DSRL(uint64 instruction)
+std::string NMD::DSRL(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* shift -----
*/
-std::string NMD::DSRL32(uint64 instruction)
+std::string NMD::DSRL32(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DSRLV(uint64 instruction)
+std::string NMD::DSRLV(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DSUB(uint64 instruction)
+std::string NMD::DSUB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DSUBU(uint64 instruction)
+std::string NMD::DSUBU(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DVPE(uint64 instruction)
+std::string NMD::DVPE(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
* rs -----
* rd -----
*/
-std::string NMD::DVP(uint64 instruction)
+std::string NMD::DVP(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
* rs -----
* rd -----
*/
-std::string NMD::EHB(uint64 instruction)
+std::string NMD::EHB(uint64 instruction, Dis_info *info)
{
(void)instruction;
* rs -----
* rd -----
*/
-std::string NMD::EI(uint64 instruction)
+std::string NMD::EI(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
* rs -----
* rd -----
*/
-std::string NMD::EMT(uint64 instruction)
+std::string NMD::EMT(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ERET(uint64 instruction)
+std::string NMD::ERET(uint64 instruction, Dis_info *info)
{
(void)instruction;
* rs -----
* rd -----
*/
-std::string NMD::ERETNC(uint64 instruction)
+std::string NMD::ERETNC(uint64 instruction, Dis_info *info)
{
(void)instruction;
* rs -----
* rd -----
*/
-std::string NMD::EVP(uint64 instruction)
+std::string NMD::EVP(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
* rs -----
* rd -----
*/
-std::string NMD::EVPE(uint64 instruction)
+std::string NMD::EVPE(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
* rs -----
* rd -----
*/
-std::string NMD::EXT(uint64 instruction)
+std::string NMD::EXT(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::EXTD(uint64 instruction)
+std::string NMD::EXTD(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::EXTD32(uint64 instruction)
+std::string NMD::EXTD32(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::EXTPDP(uint64 instruction)
+std::string NMD::EXTPDP(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 size_value = extract_size_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::EXTPDPV(uint64 instruction)
+std::string NMD::EXTPDPV(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::EXTP(uint64 instruction)
+std::string NMD::EXTP(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 size_value = extract_size_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::EXTPV(uint64 instruction)
+std::string NMD::EXTPV(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* shift -----
* ac --
*/
-std::string NMD::EXTR_RS_W(uint64 instruction)
+std::string NMD::EXTR_RS_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 shift_value = extract_shift_20_19_18_17_16(instruction);
* shift -----
* ac --
*/
-std::string NMD::EXTR_R_W(uint64 instruction)
+std::string NMD::EXTR_R_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 shift_value = extract_shift_20_19_18_17_16(instruction);
* shift -----
* ac --
*/
-std::string NMD::EXTR_S_H(uint64 instruction)
+std::string NMD::EXTR_S_H(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 shift_value = extract_shift_20_19_18_17_16(instruction);
* shift -----
* ac --
*/
-std::string NMD::EXTR_W(uint64 instruction)
+std::string NMD::EXTR_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 shift_value = extract_shift_20_19_18_17_16(instruction);
* rs -----
* ac --
*/
-std::string NMD::EXTRV_RS_W(uint64 instruction)
+std::string NMD::EXTRV_RS_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* ac --
*/
-std::string NMD::EXTRV_R_W(uint64 instruction)
+std::string NMD::EXTRV_R_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* ac --
*/
-std::string NMD::EXTRV_S_H(uint64 instruction)
+std::string NMD::EXTRV_S_H(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* ac --
*/
-std::string NMD::EXTRV_W(uint64 instruction)
+std::string NMD::EXTRV_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rd -----
* shift -----
*/
-std::string NMD::EXTW(uint64 instruction)
+std::string NMD::EXTW(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::FLOOR_L_D(uint64 instruction)
+std::string NMD::FLOOR_L_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::FLOOR_L_S(uint64 instruction)
+std::string NMD::FLOOR_L_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::FLOOR_W_D(uint64 instruction)
+std::string NMD::FLOOR_W_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::FLOOR_W_S(uint64 instruction)
+std::string NMD::FLOOR_W_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::FORK(uint64 instruction)
+std::string NMD::FORK(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::HYPCALL(uint64 instruction)
+std::string NMD::HYPCALL(uint64 instruction, Dis_info *info)
{
uint64 code_value = extract_code_17_to_0(instruction);
* rs -----
* rd -----
*/
-std::string NMD::HYPCALL_16_(uint64 instruction)
+std::string NMD::HYPCALL_16_(uint64 instruction, Dis_info *info)
{
uint64 code_value = extract_code_1_0(instruction);
* rs -----
* rd -----
*/
-std::string NMD::INS(uint64 instruction)
+std::string NMD::INS(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rt -----
* rs -----
*/
-std::string NMD::INSV(uint64 instruction)
+std::string NMD::INSV(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::IRET(uint64 instruction)
+std::string NMD::IRET(uint64 instruction, Dis_info *info)
{
(void)instruction;
* rs -----
* rd -----
*/
-std::string NMD::JALRC_16_(uint64 instruction)
+std::string NMD::JALRC_16_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_9_8_7_6_5(instruction);
* rs -----
* rd -----
*/
-std::string NMD::JALRC_32_(uint64 instruction)
+std::string NMD::JALRC_32_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::JALRC_HB(uint64 instruction)
+std::string NMD::JALRC_HB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::JRC(uint64 instruction)
+std::string NMD::JRC(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_9_8_7_6_5(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LB_16_(uint64 instruction)
+std::string NMD::LB_16_(uint64 instruction, Dis_info *info)
{
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LB_GP_(uint64 instruction)
+std::string NMD::LB_GP_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_0(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LB_S9_(uint64 instruction)
+std::string NMD::LB_S9_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LB_U12_(uint64 instruction)
+std::string NMD::LB_U12_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LBE(uint64 instruction)
+std::string NMD::LBE(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LBU_16_(uint64 instruction)
+std::string NMD::LBU_16_(uint64 instruction, Dis_info *info)
{
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LBU_GP_(uint64 instruction)
+std::string NMD::LBU_GP_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_0(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LBU_S9_(uint64 instruction)
+std::string NMD::LBU_S9_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LBU_U12_(uint64 instruction)
+std::string NMD::LBU_U12_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LBUE(uint64 instruction)
+std::string NMD::LBUE(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LBUX(uint64 instruction)
+std::string NMD::LBUX(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LBX(uint64 instruction)
+std::string NMD::LBX(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LD_GP_(uint64 instruction)
+std::string NMD::LD_GP_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_20_to_3__s3(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LD_S9_(uint64 instruction)
+std::string NMD::LD_S9_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LD_U12_(uint64 instruction)
+std::string NMD::LD_U12_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LDC1_GP_(uint64 instruction)
+std::string NMD::LDC1_GP_(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_2__s2(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LDC1_S9_(uint64 instruction)
+std::string NMD::LDC1_S9_(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LDC1_U12_(uint64 instruction)
+std::string NMD::LDC1_U12_(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LDC1XS(uint64 instruction)
+std::string NMD::LDC1XS(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LDC1X(uint64 instruction)
+std::string NMD::LDC1X(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LDC2(uint64 instruction)
+std::string NMD::LDC2(uint64 instruction, Dis_info *info)
{
uint64 ct_value = extract_ct_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LDM(uint64 instruction)
+std::string NMD::LDM(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LDPC_48_(uint64 instruction)
+std::string NMD::LDPC_48_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_41_40_39_38_37(instruction);
int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);
std::string rt = GPR(copy(rt_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 6);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 6, info);
return img_format("LDPC %s, %s", rt, s);
}
* rs -----
* rd -----
*/
-std::string NMD::LDX(uint64 instruction)
+std::string NMD::LDX(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LDXS(uint64 instruction)
+std::string NMD::LDXS(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LH_16_(uint64 instruction)
+std::string NMD::LH_16_(uint64 instruction, Dis_info *info)
{
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LH_GP_(uint64 instruction)
+std::string NMD::LH_GP_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_1__s1(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LH_S9_(uint64 instruction)
+std::string NMD::LH_S9_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LH_U12_(uint64 instruction)
+std::string NMD::LH_U12_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LHE(uint64 instruction)
+std::string NMD::LHE(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LHU_16_(uint64 instruction)
+std::string NMD::LHU_16_(uint64 instruction, Dis_info *info)
{
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LHU_GP_(uint64 instruction)
+std::string NMD::LHU_GP_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_1__s1(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LHU_S9_(uint64 instruction)
+std::string NMD::LHU_S9_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LHU_U12_(uint64 instruction)
+std::string NMD::LHU_U12_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LHUE(uint64 instruction)
+std::string NMD::LHUE(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LHUX(uint64 instruction)
+std::string NMD::LHUX(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LHUXS(uint64 instruction)
+std::string NMD::LHUXS(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LHXS(uint64 instruction)
+std::string NMD::LHXS(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LHX(uint64 instruction)
+std::string NMD::LHX(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LI_16_(uint64 instruction)
+std::string NMD::LI_16_(uint64 instruction, Dis_info *info)
{
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 eu_value = extract_eu_6_5_4_3_2_1_0(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LI_48_(uint64 instruction)
+std::string NMD::LI_48_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_41_40_39_38_37(instruction);
int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LL(uint64 instruction)
+std::string NMD::LL(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LLD(uint64 instruction)
+std::string NMD::LLD(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LLDP(uint64 instruction)
+std::string NMD::LLDP(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LLE(uint64 instruction)
+std::string NMD::LLE(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LLWP(uint64 instruction)
+std::string NMD::LLWP(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LLWPE(uint64 instruction)
+std::string NMD::LLWPE(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LSA(uint64 instruction)
+std::string NMD::LSA(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LUI(uint64 instruction)
+std::string NMD::LUI(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
int64 s_value = extract_s__se31_0_11_to_2_20_to_12_s12(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LW_16_(uint64 instruction)
+std::string NMD::LW_16_(uint64 instruction, Dis_info *info)
{
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LW_4X4_(uint64 instruction)
+std::string NMD::LW_4X4_(uint64 instruction, Dis_info *info)
{
uint64 rt4_value = extract_rt4_9_7_6_5(instruction);
uint64 rs4_value = extract_rs4_4_2_1_0(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LW_GP_(uint64 instruction)
+std::string NMD::LW_GP_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_20_to_2__s2(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LW_GP16_(uint64 instruction)
+std::string NMD::LW_GP16_(uint64 instruction, Dis_info *info)
{
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 u_value = extract_u_6_5_4_3_2_1_0__s2(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LW_S9_(uint64 instruction)
+std::string NMD::LW_S9_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LW_SP_(uint64 instruction)
+std::string NMD::LW_SP_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_9_8_7_6_5(instruction);
uint64 u_value = extract_u_4_3_2_1_0__s2(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LW_U12_(uint64 instruction)
+std::string NMD::LW_U12_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LWC1_GP_(uint64 instruction)
+std::string NMD::LWC1_GP_(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_2__s2(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LWC1_S9_(uint64 instruction)
+std::string NMD::LWC1_S9_(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LWC1_U12_(uint64 instruction)
+std::string NMD::LWC1_U12_(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LWC1X(uint64 instruction)
+std::string NMD::LWC1X(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LWC1XS(uint64 instruction)
+std::string NMD::LWC1XS(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LWC2(uint64 instruction)
+std::string NMD::LWC2(uint64 instruction, Dis_info *info)
{
uint64 ct_value = extract_ct_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LWE(uint64 instruction)
+std::string NMD::LWE(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LWM(uint64 instruction)
+std::string NMD::LWM(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LWPC_48_(uint64 instruction)
+std::string NMD::LWPC_48_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_41_40_39_38_37(instruction);
int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);
std::string rt = GPR(copy(rt_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 6);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 6, info);
return img_format("LWPC %s, %s", rt, s);
}
* rs -----
* rd -----
*/
-std::string NMD::LWU_GP_(uint64 instruction)
+std::string NMD::LWU_GP_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_2__s2(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LWU_S9_(uint64 instruction)
+std::string NMD::LWU_S9_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LWU_U12_(uint64 instruction)
+std::string NMD::LWU_U12_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LWUX(uint64 instruction)
+std::string NMD::LWUX(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LWUXS(uint64 instruction)
+std::string NMD::LWUXS(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LWX(uint64 instruction)
+std::string NMD::LWX(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LWXS_16_(uint64 instruction)
+std::string NMD::LWXS_16_(uint64 instruction, Dis_info *info)
{
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
* rs -----
* rd -----
*/
-std::string NMD::LWXS_32_(uint64 instruction)
+std::string NMD::LWXS_32_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MADD_DSP_(uint64 instruction)
+std::string NMD::MADD_DSP_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MADDF_D(uint64 instruction)
+std::string NMD::MADDF_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MADDF_S(uint64 instruction)
+std::string NMD::MADDF_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MADDU_DSP_(uint64 instruction)
+std::string NMD::MADDU_DSP_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MAQ_S_W_PHL(uint64 instruction)
+std::string NMD::MAQ_S_W_PHL(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MAQ_S_W_PHR(uint64 instruction)
+std::string NMD::MAQ_S_W_PHR(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MAQ_SA_W_PHL(uint64 instruction)
+std::string NMD::MAQ_SA_W_PHL(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MAQ_SA_W_PHR(uint64 instruction)
+std::string NMD::MAQ_SA_W_PHR(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MAX_D(uint64 instruction)
+std::string NMD::MAX_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MAX_S(uint64 instruction)
+std::string NMD::MAX_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MAXA_D(uint64 instruction)
+std::string NMD::MAXA_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MAXA_S(uint64 instruction)
+std::string NMD::MAXA_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MFC0(uint64 instruction)
+std::string NMD::MFC0(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MFC1(uint64 instruction)
+std::string NMD::MFC1(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MFC2(uint64 instruction)
+std::string NMD::MFC2(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 cs_value = extract_cs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MFGC0(uint64 instruction)
+std::string NMD::MFGC0(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MFHC0(uint64 instruction)
+std::string NMD::MFHC0(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MFHC1(uint64 instruction)
+std::string NMD::MFHC1(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MFHC2(uint64 instruction)
+std::string NMD::MFHC2(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 cs_value = extract_cs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MFHGC0(uint64 instruction)
+std::string NMD::MFHGC0(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
* rt -----
* ac --
*/
-std::string NMD::MFHI_DSP_(uint64 instruction)
+std::string NMD::MFHI_DSP_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MFHTR(uint64 instruction)
+std::string NMD::MFHTR(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
* rt -----
* ac --
*/
-std::string NMD::MFLO_DSP_(uint64 instruction)
+std::string NMD::MFLO_DSP_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MFTR(uint64 instruction)
+std::string NMD::MFTR(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MIN_D(uint64 instruction)
+std::string NMD::MIN_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MIN_S(uint64 instruction)
+std::string NMD::MIN_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MINA_D(uint64 instruction)
+std::string NMD::MINA_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MINA_S(uint64 instruction)
+std::string NMD::MINA_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MOD(uint64 instruction)
+std::string NMD::MOD(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MODSUB(uint64 instruction)
+std::string NMD::MODSUB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MODU(uint64 instruction)
+std::string NMD::MODU(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MOV_D(uint64 instruction)
+std::string NMD::MOV_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MOV_S(uint64 instruction)
+std::string NMD::MOV_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MOVE_BALC(uint64 instruction)
+std::string NMD::MOVE_BALC(uint64 instruction, Dis_info *info)
{
uint64 rtz4_value = extract_rtz4_27_26_25_23_22_21(instruction);
uint64 rd1_value = extract_rdl_25_24(instruction);
std::string rd1 = GPR(decode_gpr_gpr1(rd1_value));
std::string rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 4);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 4, info);
return img_format("MOVE.BALC %s, %s, %s", rd1, rtz4, s);
}
* rs -----
* rd -----
*/
-std::string NMD::MOVEP(uint64 instruction)
+std::string NMD::MOVEP(uint64 instruction, Dis_info *info)
{
uint64 rtz4_value = extract_rtz4_9_7_6_5(instruction);
uint64 rd2_value = extract_rd2_3_8(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MOVEP_REV_(uint64 instruction)
+std::string NMD::MOVEP_REV_(uint64 instruction, Dis_info *info)
{
uint64 rt4_value = extract_rt4_9_7_6_5(instruction);
uint64 rd2_value = extract_rd2_3_8(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MOVE(uint64 instruction)
+std::string NMD::MOVE(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_9_8_7_6_5(instruction);
uint64 rs_value = extract_rs_4_3_2_1_0(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MOVN(uint64 instruction)
+std::string NMD::MOVN(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MOVZ(uint64 instruction)
+std::string NMD::MOVZ(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* ac --
*/
-std::string NMD::MSUB_DSP_(uint64 instruction)
+std::string NMD::MSUB_DSP_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MSUBF_D(uint64 instruction)
+std::string NMD::MSUBF_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MSUBF_S(uint64 instruction)
+std::string NMD::MSUBF_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* ac --
*/
-std::string NMD::MSUBU_DSP_(uint64 instruction)
+std::string NMD::MSUBU_DSP_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MTC0(uint64 instruction)
+std::string NMD::MTC0(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MTC1(uint64 instruction)
+std::string NMD::MTC1(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MTC2(uint64 instruction)
+std::string NMD::MTC2(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 cs_value = extract_cs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MTGC0(uint64 instruction)
+std::string NMD::MTGC0(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MTHC0(uint64 instruction)
+std::string NMD::MTHC0(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MTHC1(uint64 instruction)
+std::string NMD::MTHC1(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MTHC2(uint64 instruction)
+std::string NMD::MTHC2(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 cs_value = extract_cs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MTHGC0(uint64 instruction)
+std::string NMD::MTHGC0(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
* rs -----
* ac --
*/
-std::string NMD::MTHI_DSP_(uint64 instruction)
+std::string NMD::MTHI_DSP_(uint64 instruction, Dis_info *info)
{
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
* rs -----
* ac --
*/
-std::string NMD::MTHLIP(uint64 instruction)
+std::string NMD::MTHLIP(uint64 instruction, Dis_info *info)
{
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MTHTR(uint64 instruction)
+std::string NMD::MTHTR(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
* rs -----
* ac --
*/
-std::string NMD::MTLO_DSP_(uint64 instruction)
+std::string NMD::MTLO_DSP_(uint64 instruction, Dis_info *info)
{
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MTTR(uint64 instruction)
+std::string NMD::MTTR(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MUH(uint64 instruction)
+std::string NMD::MUH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MUHU(uint64 instruction)
+std::string NMD::MUHU(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MUL_32_(uint64 instruction)
+std::string NMD::MUL_32_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MUL_4X4_(uint64 instruction)
+std::string NMD::MUL_4X4_(uint64 instruction, Dis_info *info)
{
uint64 rt4_value = extract_rt4_9_7_6_5(instruction);
uint64 rs4_value = extract_rs4_4_2_1_0(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MUL_D(uint64 instruction)
+std::string NMD::MUL_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MUL_PH(uint64 instruction)
+std::string NMD::MUL_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MUL_S_PH(uint64 instruction)
+std::string NMD::MUL_S_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MUL_S(uint64 instruction)
+std::string NMD::MUL_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MULEQ_S_W_PHL(uint64 instruction)
+std::string NMD::MULEQ_S_W_PHL(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MULEQ_S_W_PHR(uint64 instruction)
+std::string NMD::MULEQ_S_W_PHR(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MULEU_S_PH_QBL(uint64 instruction)
+std::string NMD::MULEU_S_PH_QBL(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MULEU_S_PH_QBR(uint64 instruction)
+std::string NMD::MULEU_S_PH_QBR(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MULQ_RS_PH(uint64 instruction)
+std::string NMD::MULQ_RS_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MULQ_RS_W(uint64 instruction)
+std::string NMD::MULQ_RS_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MULQ_S_PH(uint64 instruction)
+std::string NMD::MULQ_S_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MULQ_S_W(uint64 instruction)
+std::string NMD::MULQ_S_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* ac --
*/
-std::string NMD::MULSA_W_PH(uint64 instruction)
+std::string NMD::MULSA_W_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* ac --
*/
-std::string NMD::MULSAQ_S_W_PH(uint64 instruction)
+std::string NMD::MULSAQ_S_W_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* ac --
*/
-std::string NMD::MULT_DSP_(uint64 instruction)
+std::string NMD::MULT_DSP_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* ac --
*/
-std::string NMD::MULTU_DSP_(uint64 instruction)
+std::string NMD::MULTU_DSP_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::MULU(uint64 instruction)
+std::string NMD::MULU(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::NEG_D(uint64 instruction)
+std::string NMD::NEG_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::NEG_S(uint64 instruction)
+std::string NMD::NEG_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::NOP_16_(uint64 instruction)
+std::string NMD::NOP_16_(uint64 instruction, Dis_info *info)
{
(void)instruction;
* rs -----
* rd -----
*/
-std::string NMD::NOP_32_(uint64 instruction)
+std::string NMD::NOP_32_(uint64 instruction, Dis_info *info)
{
(void)instruction;
* rs -----
* rd -----
*/
-std::string NMD::NOR(uint64 instruction)
+std::string NMD::NOR(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::NOT_16_(uint64 instruction)
+std::string NMD::NOT_16_(uint64 instruction, Dis_info *info)
{
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
* rs -----
* rd -----
*/
-std::string NMD::OR_16_(uint64 instruction)
+std::string NMD::OR_16_(uint64 instruction, Dis_info *info)
{
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
* rs -----
* rd -----
*/
-std::string NMD::OR_32_(uint64 instruction)
+std::string NMD::OR_32_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ORI(uint64 instruction)
+std::string NMD::ORI(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PACKRL_PH(uint64 instruction)
+std::string NMD::PACKRL_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PAUSE(uint64 instruction)
+std::string NMD::PAUSE(uint64 instruction, Dis_info *info)
{
(void)instruction;
* rs -----
* rd -----
*/
-std::string NMD::PICK_PH(uint64 instruction)
+std::string NMD::PICK_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PICK_QB(uint64 instruction)
+std::string NMD::PICK_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PRECEQ_W_PHL(uint64 instruction)
+std::string NMD::PRECEQ_W_PHL(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PRECEQ_W_PHR(uint64 instruction)
+std::string NMD::PRECEQ_W_PHR(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PRECEQU_PH_QBLA(uint64 instruction)
+std::string NMD::PRECEQU_PH_QBLA(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PRECEQU_PH_QBL(uint64 instruction)
+std::string NMD::PRECEQU_PH_QBL(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PRECEQU_PH_QBRA(uint64 instruction)
+std::string NMD::PRECEQU_PH_QBRA(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PRECEQU_PH_QBR(uint64 instruction)
+std::string NMD::PRECEQU_PH_QBR(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PRECEU_PH_QBLA(uint64 instruction)
+std::string NMD::PRECEU_PH_QBLA(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PRECEU_PH_QBL(uint64 instruction)
+std::string NMD::PRECEU_PH_QBL(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PRECEU_PH_QBRA(uint64 instruction)
+std::string NMD::PRECEU_PH_QBRA(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PRECEU_PH_QBR(uint64 instruction)
+std::string NMD::PRECEU_PH_QBR(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PRECR_QB_PH(uint64 instruction)
+std::string NMD::PRECR_QB_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PRECR_SRA_PH_W(uint64 instruction)
+std::string NMD::PRECR_SRA_PH_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PRECR_SRA_R_PH_W(uint64 instruction)
+std::string NMD::PRECR_SRA_R_PH_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PRECRQ_PH_W(uint64 instruction)
+std::string NMD::PRECRQ_PH_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PRECRQ_QB_PH(uint64 instruction)
+std::string NMD::PRECRQ_QB_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PRECRQ_RS_PH_W(uint64 instruction)
+std::string NMD::PRECRQ_RS_PH_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PRECRQU_S_QB_PH(uint64 instruction)
+std::string NMD::PRECRQU_S_QB_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PREF_S9_(uint64 instruction)
+std::string NMD::PREF_S9_(uint64 instruction, Dis_info *info)
{
uint64 hint_value = extract_hint_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PREF_U12_(uint64 instruction)
+std::string NMD::PREF_U12_(uint64 instruction, Dis_info *info)
{
uint64 hint_value = extract_hint_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PREFE(uint64 instruction)
+std::string NMD::PREFE(uint64 instruction, Dis_info *info)
{
uint64 hint_value = extract_hint_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::PREPEND(uint64 instruction)
+std::string NMD::PREPEND(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rt -----
* rs -----
*/
-std::string NMD::RADDU_W_QB(uint64 instruction)
+std::string NMD::RADDU_W_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rt -----
* mask -------
*/
-std::string NMD::RDDSP(uint64 instruction)
+std::string NMD::RDDSP(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 mask_value = extract_mask_20_19_18_17_16_15_14(instruction);
* rs -----
* rd -----
*/
-std::string NMD::RDHWR(uint64 instruction)
+std::string NMD::RDHWR(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 hs_value = extract_hs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::RDPGPR(uint64 instruction)
+std::string NMD::RDPGPR(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::RECIP_D(uint64 instruction)
+std::string NMD::RECIP_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::RECIP_S(uint64 instruction)
+std::string NMD::RECIP_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rt -----
* s ----------
*/
-std::string NMD::REPL_PH(uint64 instruction)
+std::string NMD::REPL_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
int64 s_value = extract_s__se9_20_19_18_17_16_15_14_13_12_11(instruction);
* rt -----
* u --------
*/
-std::string NMD::REPL_QB(uint64 instruction)
+std::string NMD::REPL_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_20_19_18_17_16_15_14_13(instruction);
* rt -----
* rs -----
*/
-std::string NMD::REPLV_PH(uint64 instruction)
+std::string NMD::REPLV_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rt -----
* rs -----
*/
-std::string NMD::REPLV_QB(uint64 instruction)
+std::string NMD::REPLV_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::RESTORE_32_(uint64 instruction)
+std::string NMD::RESTORE_32_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 count_value = extract_count_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::RESTORE_JRC_16_(uint64 instruction)
+std::string NMD::RESTORE_JRC_16_(uint64 instruction, Dis_info *info)
{
uint64 rt1_value = extract_rtl_11(instruction);
uint64 u_value = extract_u_7_6_5_4__s4(instruction);
* rs -----
* rd -----
*/
-std::string NMD::RESTORE_JRC_32_(uint64 instruction)
+std::string NMD::RESTORE_JRC_32_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 count_value = extract_count_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::RESTOREF(uint64 instruction)
+std::string NMD::RESTOREF(uint64 instruction, Dis_info *info)
{
uint64 count_value = extract_count_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction);
* rs -----
* rd -----
*/
-std::string NMD::RINT_D(uint64 instruction)
+std::string NMD::RINT_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::RINT_S(uint64 instruction)
+std::string NMD::RINT_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ROTR(uint64 instruction)
+std::string NMD::ROTR(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ROTRV(uint64 instruction)
+std::string NMD::ROTRV(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ROTX(uint64 instruction)
+std::string NMD::ROTX(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ROUND_L_D(uint64 instruction)
+std::string NMD::ROUND_L_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ROUND_L_S(uint64 instruction)
+std::string NMD::ROUND_L_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ROUND_W_D(uint64 instruction)
+std::string NMD::ROUND_W_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::ROUND_W_S(uint64 instruction)
+std::string NMD::ROUND_W_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::RSQRT_D(uint64 instruction)
+std::string NMD::RSQRT_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::RSQRT_S(uint64 instruction)
+std::string NMD::RSQRT_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SAVE_16_(uint64 instruction)
+std::string NMD::SAVE_16_(uint64 instruction, Dis_info *info)
{
uint64 rt1_value = extract_rtl_11(instruction);
uint64 u_value = extract_u_7_6_5_4__s4(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SAVE_32_(uint64 instruction)
+std::string NMD::SAVE_32_(uint64 instruction, Dis_info *info)
{
uint64 count_value = extract_count_19_18_17_16(instruction);
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SAVEF(uint64 instruction)
+std::string NMD::SAVEF(uint64 instruction, Dis_info *info)
{
uint64 count_value = extract_count_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SB_16_(uint64 instruction)
+std::string NMD::SB_16_(uint64 instruction, Dis_info *info)
{
uint64 rtz3_value = extract_rtz3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SB_GP_(uint64 instruction)
+std::string NMD::SB_GP_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_0(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SB_S9_(uint64 instruction)
+std::string NMD::SB_S9_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SB_U12_(uint64 instruction)
+std::string NMD::SB_U12_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SBE(uint64 instruction)
+std::string NMD::SBE(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SBX(uint64 instruction)
+std::string NMD::SBX(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SC(uint64 instruction)
+std::string NMD::SC(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SCD(uint64 instruction)
+std::string NMD::SCD(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SCDP(uint64 instruction)
+std::string NMD::SCDP(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SCE(uint64 instruction)
+std::string NMD::SCE(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SCWP(uint64 instruction)
+std::string NMD::SCWP(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SCWPE(uint64 instruction)
+std::string NMD::SCWPE(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SD_GP_(uint64 instruction)
+std::string NMD::SD_GP_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_20_to_3__s3(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SD_S9_(uint64 instruction)
+std::string NMD::SD_S9_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SD_U12_(uint64 instruction)
+std::string NMD::SD_U12_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SDBBP_16_(uint64 instruction)
+std::string NMD::SDBBP_16_(uint64 instruction, Dis_info *info)
{
uint64 code_value = extract_code_2_1_0(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SDBBP_32_(uint64 instruction)
+std::string NMD::SDBBP_32_(uint64 instruction, Dis_info *info)
{
uint64 code_value = extract_code_18_to_0(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SDC1_GP_(uint64 instruction)
+std::string NMD::SDC1_GP_(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_2__s2(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SDC1_S9_(uint64 instruction)
+std::string NMD::SDC1_S9_(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SDC1_U12_(uint64 instruction)
+std::string NMD::SDC1_U12_(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SDC1X(uint64 instruction)
+std::string NMD::SDC1X(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SDC1XS(uint64 instruction)
+std::string NMD::SDC1XS(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SDC2(uint64 instruction)
+std::string NMD::SDC2(uint64 instruction, Dis_info *info)
{
uint64 cs_value = extract_cs_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SDM(uint64 instruction)
+std::string NMD::SDM(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SDPC_48_(uint64 instruction)
+std::string NMD::SDPC_48_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_41_40_39_38_37(instruction);
int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);
std::string rt = GPR(copy(rt_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 6);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 6, info);
return img_format("SDPC %s, %s", rt, s);
}
* rs -----
* rd -----
*/
-std::string NMD::SDXS(uint64 instruction)
+std::string NMD::SDXS(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SDX(uint64 instruction)
+std::string NMD::SDX(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SEB(uint64 instruction)
+std::string NMD::SEB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SEH(uint64 instruction)
+std::string NMD::SEH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SEL_D(uint64 instruction)
+std::string NMD::SEL_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SEL_S(uint64 instruction)
+std::string NMD::SEL_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SELEQZ_D(uint64 instruction)
+std::string NMD::SELEQZ_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SELEQZ_S(uint64 instruction)
+std::string NMD::SELEQZ_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SELNEZ_D(uint64 instruction)
+std::string NMD::SELNEZ_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SELNEZ_S(uint64 instruction)
+std::string NMD::SELNEZ_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SEQI(uint64 instruction)
+std::string NMD::SEQI(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SH_16_(uint64 instruction)
+std::string NMD::SH_16_(uint64 instruction, Dis_info *info)
{
uint64 rtz3_value = extract_rtz3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SH_GP_(uint64 instruction)
+std::string NMD::SH_GP_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_1__s1(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SH_S9_(uint64 instruction)
+std::string NMD::SH_S9_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SH_U12_(uint64 instruction)
+std::string NMD::SH_U12_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SHE(uint64 instruction)
+std::string NMD::SHE(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* shift ------
* ac --
*/
-std::string NMD::SHILO(uint64 instruction)
+std::string NMD::SHILO(uint64 instruction, Dis_info *info)
{
int64 shift_value = extract_shift__se5_21_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
* rs -----
* ac --
*/
-std::string NMD::SHILOV(uint64 instruction)
+std::string NMD::SHILOV(uint64 instruction, Dis_info *info)
{
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
* rs -----
* sa ----
*/
-std::string NMD::SHLL_PH(uint64 instruction)
+std::string NMD::SHLL_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* sa ---
*/
-std::string NMD::SHLL_QB(uint64 instruction)
+std::string NMD::SHLL_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* sa ----
*/
-std::string NMD::SHLL_S_PH(uint64 instruction)
+std::string NMD::SHLL_S_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* sa -----
*/
-std::string NMD::SHLL_S_W(uint64 instruction)
+std::string NMD::SHLL_S_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SHLLV_PH(uint64 instruction)
+std::string NMD::SHLLV_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SHLLV_QB(uint64 instruction)
+std::string NMD::SHLLV_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SHLLV_S_PH(uint64 instruction)
+std::string NMD::SHLLV_S_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SHLLV_S_W(uint64 instruction)
+std::string NMD::SHLLV_S_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SHRA_PH(uint64 instruction)
+std::string NMD::SHRA_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SHRA_QB(uint64 instruction)
+std::string NMD::SHRA_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SHRA_R_PH(uint64 instruction)
+std::string NMD::SHRA_R_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SHRA_R_QB(uint64 instruction)
+std::string NMD::SHRA_R_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SHRA_R_W(uint64 instruction)
+std::string NMD::SHRA_R_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SHRAV_PH(uint64 instruction)
+std::string NMD::SHRAV_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SHRAV_QB(uint64 instruction)
+std::string NMD::SHRAV_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SHRAV_R_PH(uint64 instruction)
+std::string NMD::SHRAV_R_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SHRAV_R_QB(uint64 instruction)
+std::string NMD::SHRAV_R_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SHRAV_R_W(uint64 instruction)
+std::string NMD::SHRAV_R_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* sa ----
*/
-std::string NMD::SHRL_PH(uint64 instruction)
+std::string NMD::SHRL_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* sa ---
*/
-std::string NMD::SHRL_QB(uint64 instruction)
+std::string NMD::SHRL_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SHRLV_PH(uint64 instruction)
+std::string NMD::SHRLV_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SHRLV_QB(uint64 instruction)
+std::string NMD::SHRLV_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SHX(uint64 instruction)
+std::string NMD::SHX(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SHXS(uint64 instruction)
+std::string NMD::SHXS(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SIGRIE(uint64 instruction)
+std::string NMD::SIGRIE(uint64 instruction, Dis_info *info)
{
uint64 code_value = extract_code_18_to_0(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SLL_16_(uint64 instruction)
+std::string NMD::SLL_16_(uint64 instruction, Dis_info *info)
{
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SLL_32_(uint64 instruction)
+std::string NMD::SLL_32_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SLLV(uint64 instruction)
+std::string NMD::SLLV(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SLT(uint64 instruction)
+std::string NMD::SLT(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SLTI(uint64 instruction)
+std::string NMD::SLTI(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SLTIU(uint64 instruction)
+std::string NMD::SLTIU(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SLTU(uint64 instruction)
+std::string NMD::SLTU(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SOV(uint64 instruction)
+std::string NMD::SOV(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SPECIAL2(uint64 instruction)
+std::string NMD::SPECIAL2(uint64 instruction, Dis_info *info)
{
uint64 op_value = extract_op_25_to_3(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SQRT_D(uint64 instruction)
+std::string NMD::SQRT_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SQRT_S(uint64 instruction)
+std::string NMD::SQRT_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rd -----
* sa -----
*/
-std::string NMD::SRA(uint64 instruction)
+std::string NMD::SRA(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rt -----
* rd -----
*/
-std::string NMD::SRAV(uint64 instruction)
+std::string NMD::SRAV(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rt -----
* rd -----
*/
-std::string NMD::SRL_16_(uint64 instruction)
+std::string NMD::SRL_16_(uint64 instruction, Dis_info *info)
{
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SRL_32_(uint64 instruction)
+std::string NMD::SRL_32_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SRLV(uint64 instruction)
+std::string NMD::SRLV(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SUB(uint64 instruction)
+std::string NMD::SUB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SUB_D(uint64 instruction)
+std::string NMD::SUB_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SUB_S(uint64 instruction)
+std::string NMD::SUB_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SUBQ_PH(uint64 instruction)
+std::string NMD::SUBQ_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SUBQ_S_PH(uint64 instruction)
+std::string NMD::SUBQ_S_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SUBQ_S_W(uint64 instruction)
+std::string NMD::SUBQ_S_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SUBQH_PH(uint64 instruction)
+std::string NMD::SUBQH_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SUBQH_R_PH(uint64 instruction)
+std::string NMD::SUBQH_R_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SUBQH_R_W(uint64 instruction)
+std::string NMD::SUBQH_R_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SUBQH_W(uint64 instruction)
+std::string NMD::SUBQH_W(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SUBU_16_(uint64 instruction)
+std::string NMD::SUBU_16_(uint64 instruction, Dis_info *info)
{
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SUBU_32_(uint64 instruction)
+std::string NMD::SUBU_32_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SUBU_PH(uint64 instruction)
+std::string NMD::SUBU_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SUBU_QB(uint64 instruction)
+std::string NMD::SUBU_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SUBU_S_PH(uint64 instruction)
+std::string NMD::SUBU_S_PH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SUBU_S_QB(uint64 instruction)
+std::string NMD::SUBU_S_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SUBUH_QB(uint64 instruction)
+std::string NMD::SUBUH_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SUBUH_R_QB(uint64 instruction)
+std::string NMD::SUBUH_R_QB(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SW_16_(uint64 instruction)
+std::string NMD::SW_16_(uint64 instruction, Dis_info *info)
{
uint64 rtz3_value = extract_rtz3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SW_4X4_(uint64 instruction)
+std::string NMD::SW_4X4_(uint64 instruction, Dis_info *info)
{
uint64 rtz4_value = extract_rtz4_9_7_6_5(instruction);
uint64 rs4_value = extract_rs4_4_2_1_0(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SW_GP16_(uint64 instruction)
+std::string NMD::SW_GP16_(uint64 instruction, Dis_info *info)
{
uint64 u_value = extract_u_6_5_4_3_2_1_0__s2(instruction);
uint64 rtz3_value = extract_rtz3_9_8_7(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SW_GP_(uint64 instruction)
+std::string NMD::SW_GP_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_20_to_2__s2(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SW_S9_(uint64 instruction)
+std::string NMD::SW_S9_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SW_SP_(uint64 instruction)
+std::string NMD::SW_SP_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_9_8_7_6_5(instruction);
uint64 u_value = extract_u_4_3_2_1_0__s2(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SW_U12_(uint64 instruction)
+std::string NMD::SW_U12_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SWC1_GP_(uint64 instruction)
+std::string NMD::SWC1_GP_(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_2__s2(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SWC1_S9_(uint64 instruction)
+std::string NMD::SWC1_S9_(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SWC1_U12_(uint64 instruction)
+std::string NMD::SWC1_U12_(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SWC1X(uint64 instruction)
+std::string NMD::SWC1X(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SWC1XS(uint64 instruction)
+std::string NMD::SWC1XS(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SWC2(uint64 instruction)
+std::string NMD::SWC2(uint64 instruction, Dis_info *info)
{
uint64 cs_value = extract_cs_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SWE(uint64 instruction)
+std::string NMD::SWE(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SWM(uint64 instruction)
+std::string NMD::SWM(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SWPC_48_(uint64 instruction)
+std::string NMD::SWPC_48_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_41_40_39_38_37(instruction);
int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);
std::string rt = GPR(copy(rt_value));
- std::string s = ADDRESS(encode_s_from_address(s_value), 6);
+ std::string s = ADDRESS(encode_s_from_address(s_value), 6, info);
return img_format("SWPC %s, %s", rt, s);
}
* rs -----
* rd -----
*/
-std::string NMD::SWX(uint64 instruction)
+std::string NMD::SWX(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SWXS(uint64 instruction)
+std::string NMD::SWXS(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SYNC(uint64 instruction)
+std::string NMD::SYNC(uint64 instruction, Dis_info *info)
{
uint64 stype_value = extract_stype_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SYNCI(uint64 instruction)
+std::string NMD::SYNCI(uint64 instruction, Dis_info *info)
{
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SYNCIE(uint64 instruction)
+std::string NMD::SYNCIE(uint64 instruction, Dis_info *info)
{
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
* rs -----
* rd -----
*/
-std::string NMD::SYSCALL_16_(uint64 instruction)
+std::string NMD::SYSCALL_16_(uint64 instruction, Dis_info *info)
{
uint64 code_value = extract_code_1_0(instruction);
* 00000000000010
* code ------------------
*/
-std::string NMD::SYSCALL_32_(uint64 instruction)
+std::string NMD::SYSCALL_32_(uint64 instruction, Dis_info *info)
{
uint64 code_value = extract_code_17_to_0(instruction);
* rs -----
* rd -----
*/
-std::string NMD::TEQ(uint64 instruction)
+std::string NMD::TEQ(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::TLBGINV(uint64 instruction)
+std::string NMD::TLBGINV(uint64 instruction, Dis_info *info)
{
(void)instruction;
* rs -----
* rd -----
*/
-std::string NMD::TLBGINVF(uint64 instruction)
+std::string NMD::TLBGINVF(uint64 instruction, Dis_info *info)
{
(void)instruction;
* rs -----
* rd -----
*/
-std::string NMD::TLBGP(uint64 instruction)
+std::string NMD::TLBGP(uint64 instruction, Dis_info *info)
{
(void)instruction;
* rs -----
* rd -----
*/
-std::string NMD::TLBGR(uint64 instruction)
+std::string NMD::TLBGR(uint64 instruction, Dis_info *info)
{
(void)instruction;
* rs -----
* rd -----
*/
-std::string NMD::TLBGWI(uint64 instruction)
+std::string NMD::TLBGWI(uint64 instruction, Dis_info *info)
{
(void)instruction;
* rs -----
* rd -----
*/
-std::string NMD::TLBGWR(uint64 instruction)
+std::string NMD::TLBGWR(uint64 instruction, Dis_info *info)
{
(void)instruction;
* rs -----
* rd -----
*/
-std::string NMD::TLBINV(uint64 instruction)
+std::string NMD::TLBINV(uint64 instruction, Dis_info *info)
{
(void)instruction;
* rs -----
* rd -----
*/
-std::string NMD::TLBINVF(uint64 instruction)
+std::string NMD::TLBINVF(uint64 instruction, Dis_info *info)
{
(void)instruction;
* rs -----
* rd -----
*/
-std::string NMD::TLBP(uint64 instruction)
+std::string NMD::TLBP(uint64 instruction, Dis_info *info)
{
(void)instruction;
* rs -----
* rd -----
*/
-std::string NMD::TLBR(uint64 instruction)
+std::string NMD::TLBR(uint64 instruction, Dis_info *info)
{
(void)instruction;
* rs -----
* rd -----
*/
-std::string NMD::TLBWI(uint64 instruction)
+std::string NMD::TLBWI(uint64 instruction, Dis_info *info)
{
(void)instruction;
* rs -----
* rd -----
*/
-std::string NMD::TLBWR(uint64 instruction)
+std::string NMD::TLBWR(uint64 instruction, Dis_info *info)
{
(void)instruction;
* rs -----
* rd -----
*/
-std::string NMD::TNE(uint64 instruction)
+std::string NMD::TNE(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::TRUNC_L_D(uint64 instruction)
+std::string NMD::TRUNC_L_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::TRUNC_L_S(uint64 instruction)
+std::string NMD::TRUNC_L_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::TRUNC_W_D(uint64 instruction)
+std::string NMD::TRUNC_W_D(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::TRUNC_W_S(uint64 instruction)
+std::string NMD::TRUNC_W_S(uint64 instruction, Dis_info *info)
{
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::UALDM(uint64 instruction)
+std::string NMD::UALDM(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::UALH(uint64 instruction)
+std::string NMD::UALH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::UALWM(uint64 instruction)
+std::string NMD::UALWM(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::UASDM(uint64 instruction)
+std::string NMD::UASDM(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::UASH(uint64 instruction)
+std::string NMD::UASH(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::UASWM(uint64 instruction)
+std::string NMD::UASWM(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::UDI(uint64 instruction)
+std::string NMD::UDI(uint64 instruction, Dis_info *info)
{
uint64 op_value = extract_op_25_to_3(instruction);
* 001000 1100001101111111
* code ----------
*/
-std::string NMD::WAIT(uint64 instruction)
+std::string NMD::WAIT(uint64 instruction, Dis_info *info)
{
uint64 code_value = extract_code_25_24_23_22_21_20_19_18_17_16(instruction);
* rt -----
* mask -------
*/
-std::string NMD::WRDSP(uint64 instruction)
+std::string NMD::WRDSP(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 mask_value = extract_mask_20_19_18_17_16_15_14(instruction);
* rs -----
* rd -----
*/
-std::string NMD::WRPGPR(uint64 instruction)
+std::string NMD::WRPGPR(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::XOR_16_(uint64 instruction)
+std::string NMD::XOR_16_(uint64 instruction, Dis_info *info)
{
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
* rs -----
* rd -----
*/
-std::string NMD::XOR_32_(uint64 instruction)
+std::string NMD::XOR_32_(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rs -----
* rd -----
*/
-std::string NMD::XORI(uint64 instruction)
+std::string NMD::XORI(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
* rt -----
* rs -----
*/
-std::string NMD::YIELD(uint64 instruction)
+std::string NMD::YIELD(uint64 instruction, Dis_info *info)
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
ALL_ATTRIBUTES = 0xffffffffull,
};
+typedef struct Dis_info {
+ img_address m_pc;
+} Dis_info;
class NMD
{
public:
- NMD(img_address pc)
- : m_pc(pc)
- {
- }
-
int Disassemble(const uint16 *data, std::string & dis,
- TABLE_ENTRY_TYPE & type);
+ TABLE_ENTRY_TYPE & type, Dis_info *info);
private:
- img_address m_pc;
-
- typedef std::string(NMD:: *disassembly_function)(uint64 instruction);
+ typedef std::string(NMD:: *disassembly_function)(uint64 instruction,
+ Dis_info *info);
typedef bool(NMD:: *conditional_function)(uint64 instruction);
struct Pool {
uint64 extract_op_code_value(const uint16 *data, int size);
int Disassemble(const uint16 *data, std::string & dis,
- TABLE_ENTRY_TYPE & type, const Pool *table, int table_size);
+ TABLE_ENTRY_TYPE & type, const Pool *table, int table_size,
+ Dis_info *info);
uint64 renumber_registers(uint64 index, uint64 *register_list,
size_t register_list_size);
std::string IMMEDIATE(uint64 value);
std::string IMMEDIATE(int64 value);
std::string CPR(uint64 reg);
- std::string ADDRESS(uint64 value, int instruction_size);
+ std::string ADDRESS(uint64 value, int instruction_size, Dis_info *info);
int64 extract_s__se3_4_2_1_0(uint64 instruction);
int64 extract_s__se7_0_6_5_4_3_2_1_s1(uint64 instruction);
bool PREFE_cond(uint64 instruction);
bool SLTU_cond(uint64 instruction);
- std::string ABS_D(uint64 instruction);
- std::string ABS_S(uint64 instruction);
- std::string ABSQ_S_PH(uint64 instruction);
- std::string ABSQ_S_QB(uint64 instruction);
- std::string ABSQ_S_W(uint64 instruction);
- std::string ACLR(uint64 instruction);
- std::string ADD(uint64 instruction);
- std::string ADD_D(uint64 instruction);
- std::string ADD_S(uint64 instruction);
- std::string ADDIU_32_(uint64 instruction);
- std::string ADDIU_48_(uint64 instruction);
- std::string ADDIU_GP48_(uint64 instruction);
- std::string ADDIU_GP_B_(uint64 instruction);
- std::string ADDIU_GP_W_(uint64 instruction);
- std::string ADDIU_NEG_(uint64 instruction);
- std::string ADDIU_R1_SP_(uint64 instruction);
- std::string ADDIU_R2_(uint64 instruction);
- std::string ADDIU_RS5_(uint64 instruction);
- std::string ADDIUPC_32_(uint64 instruction);
- std::string ADDIUPC_48_(uint64 instruction);
- std::string ADDQ_PH(uint64 instruction);
- std::string ADDQ_S_PH(uint64 instruction);
- std::string ADDQ_S_W(uint64 instruction);
- std::string ADDQH_PH(uint64 instruction);
- std::string ADDQH_R_PH(uint64 instruction);
- std::string ADDQH_R_W(uint64 instruction);
- std::string ADDQH_W(uint64 instruction);
- std::string ADDSC(uint64 instruction);
- std::string ADDU_16_(uint64 instruction);
- std::string ADDU_32_(uint64 instruction);
- std::string ADDU_4X4_(uint64 instruction);
- std::string ADDU_PH(uint64 instruction);
- std::string ADDU_QB(uint64 instruction);
- std::string ADDU_S_PH(uint64 instruction);
- std::string ADDU_S_QB(uint64 instruction);
- std::string ADDUH_QB(uint64 instruction);
- std::string ADDUH_R_QB(uint64 instruction);
- std::string ADDWC(uint64 instruction);
- std::string ALUIPC(uint64 instruction);
- std::string AND_16_(uint64 instruction);
- std::string AND_32_(uint64 instruction);
- std::string ANDI_16_(uint64 instruction);
- std::string ANDI_32_(uint64 instruction);
- std::string APPEND(uint64 instruction);
- std::string ASET(uint64 instruction);
- std::string BALC_16_(uint64 instruction);
- std::string BALC_32_(uint64 instruction);
- std::string BALRSC(uint64 instruction);
- std::string BBEQZC(uint64 instruction);
- std::string BBNEZC(uint64 instruction);
- std::string BC_16_(uint64 instruction);
- std::string BC_32_(uint64 instruction);
- std::string BC1EQZC(uint64 instruction);
- std::string BC1NEZC(uint64 instruction);
- std::string BC2EQZC(uint64 instruction);
- std::string BC2NEZC(uint64 instruction);
- std::string BEQC_16_(uint64 instruction);
- std::string BEQC_32_(uint64 instruction);
- std::string BEQIC(uint64 instruction);
- std::string BEQZC_16_(uint64 instruction);
- std::string BGEC(uint64 instruction);
- std::string BGEIC(uint64 instruction);
- std::string BGEIUC(uint64 instruction);
- std::string BGEUC(uint64 instruction);
- std::string BLTC(uint64 instruction);
- std::string BLTIC(uint64 instruction);
- std::string BLTIUC(uint64 instruction);
- std::string BLTUC(uint64 instruction);
- std::string BNEC_16_(uint64 instruction);
- std::string BNEC_32_(uint64 instruction);
- std::string BNEIC(uint64 instruction);
- std::string BNEZC_16_(uint64 instruction);
- std::string BPOSGE32C(uint64 instruction);
- std::string BREAK_16_(uint64 instruction);
- std::string BREAK_32_(uint64 instruction);
- std::string BRSC(uint64 instruction);
- std::string CACHE(uint64 instruction);
- std::string CACHEE(uint64 instruction);
- std::string CEIL_L_D(uint64 instruction);
- std::string CEIL_L_S(uint64 instruction);
- std::string CEIL_W_D(uint64 instruction);
- std::string CEIL_W_S(uint64 instruction);
- std::string CFC1(uint64 instruction);
- std::string CFC2(uint64 instruction);
- std::string CLASS_D(uint64 instruction);
- std::string CLASS_S(uint64 instruction);
- std::string CLO(uint64 instruction);
- std::string CLZ(uint64 instruction);
- std::string CMP_AF_D(uint64 instruction);
- std::string CMP_AF_S(uint64 instruction);
- std::string CMP_EQ_D(uint64 instruction);
- std::string CMP_EQ_PH(uint64 instruction);
- std::string CMP_EQ_S(uint64 instruction);
- std::string CMP_LE_D(uint64 instruction);
- std::string CMP_LE_PH(uint64 instruction);
- std::string CMP_LE_S(uint64 instruction);
- std::string CMP_LT_D(uint64 instruction);
- std::string CMP_LT_PH(uint64 instruction);
- std::string CMP_LT_S(uint64 instruction);
- std::string CMP_NE_D(uint64 instruction);
- std::string CMP_NE_S(uint64 instruction);
- std::string CMP_OR_D(uint64 instruction);
- std::string CMP_OR_S(uint64 instruction);
- std::string CMP_SAF_D(uint64 instruction);
- std::string CMP_SAF_S(uint64 instruction);
- std::string CMP_SEQ_D(uint64 instruction);
- std::string CMP_SEQ_S(uint64 instruction);
- std::string CMP_SLE_D(uint64 instruction);
- std::string CMP_SLE_S(uint64 instruction);
- std::string CMP_SLT_D(uint64 instruction);
- std::string CMP_SLT_S(uint64 instruction);
- std::string CMP_SNE_D(uint64 instruction);
- std::string CMP_SNE_S(uint64 instruction);
- std::string CMP_SOR_D(uint64 instruction);
- std::string CMP_SOR_S(uint64 instruction);
- std::string CMP_SUEQ_D(uint64 instruction);
- std::string CMP_SUEQ_S(uint64 instruction);
- std::string CMP_SULE_D(uint64 instruction);
- std::string CMP_SULE_S(uint64 instruction);
- std::string CMP_SULT_D(uint64 instruction);
- std::string CMP_SULT_S(uint64 instruction);
- std::string CMP_SUN_D(uint64 instruction);
- std::string CMP_SUN_S(uint64 instruction);
- std::string CMP_SUNE_D(uint64 instruction);
- std::string CMP_SUNE_S(uint64 instruction);
- std::string CMP_UEQ_D(uint64 instruction);
- std::string CMP_UEQ_S(uint64 instruction);
- std::string CMP_ULE_D(uint64 instruction);
- std::string CMP_ULE_S(uint64 instruction);
- std::string CMP_ULT_D(uint64 instruction);
- std::string CMP_ULT_S(uint64 instruction);
- std::string CMP_UN_D(uint64 instruction);
- std::string CMP_UN_S(uint64 instruction);
- std::string CMP_UNE_D(uint64 instruction);
- std::string CMP_UNE_S(uint64 instruction);
- std::string CMPGDU_EQ_QB(uint64 instruction);
- std::string CMPGDU_LE_QB(uint64 instruction);
- std::string CMPGDU_LT_QB(uint64 instruction);
- std::string CMPGU_EQ_QB(uint64 instruction);
- std::string CMPGU_LE_QB(uint64 instruction);
- std::string CMPGU_LT_QB(uint64 instruction);
- std::string CMPU_EQ_QB(uint64 instruction);
- std::string CMPU_LE_QB(uint64 instruction);
- std::string CMPU_LT_QB(uint64 instruction);
- std::string COP2_1(uint64 instruction);
- std::string CTC1(uint64 instruction);
- std::string CTC2(uint64 instruction);
- std::string CVT_D_L(uint64 instruction);
- std::string CVT_D_S(uint64 instruction);
- std::string CVT_D_W(uint64 instruction);
- std::string CVT_L_D(uint64 instruction);
- std::string CVT_L_S(uint64 instruction);
- std::string CVT_S_D(uint64 instruction);
- std::string CVT_S_L(uint64 instruction);
- std::string CVT_S_PL(uint64 instruction);
- std::string CVT_S_PU(uint64 instruction);
- std::string CVT_S_W(uint64 instruction);
- std::string CVT_W_D(uint64 instruction);
- std::string CVT_W_S(uint64 instruction);
- std::string DADDIU_48_(uint64 instruction);
- std::string DADDIU_NEG_(uint64 instruction);
- std::string DADDIU_U12_(uint64 instruction);
- std::string DADD(uint64 instruction);
- std::string DADDU(uint64 instruction);
- std::string DCLO(uint64 instruction);
- std::string DCLZ(uint64 instruction);
- std::string DDIV(uint64 instruction);
- std::string DDIVU(uint64 instruction);
- std::string DERET(uint64 instruction);
- std::string DEXTM(uint64 instruction);
- std::string DEXT(uint64 instruction);
- std::string DEXTU(uint64 instruction);
- std::string DINSM(uint64 instruction);
- std::string DINS(uint64 instruction);
- std::string DINSU(uint64 instruction);
- std::string DI(uint64 instruction);
- std::string DIV(uint64 instruction);
- std::string DIV_D(uint64 instruction);
- std::string DIV_S(uint64 instruction);
- std::string DIVU(uint64 instruction);
- std::string DLSA(uint64 instruction);
- std::string DLUI_48_(uint64 instruction);
- std::string DMFC0(uint64 instruction);
- std::string DMFC1(uint64 instruction);
- std::string DMFC2(uint64 instruction);
- std::string DMFGC0(uint64 instruction);
- std::string DMOD(uint64 instruction);
- std::string DMODU(uint64 instruction);
- std::string DMTC0(uint64 instruction);
- std::string DMTC1(uint64 instruction);
- std::string DMTC2(uint64 instruction);
- std::string DMTGC0(uint64 instruction);
- std::string DMT(uint64 instruction);
- std::string DMUH(uint64 instruction);
- std::string DMUHU(uint64 instruction);
- std::string DMUL(uint64 instruction);
- std::string DMULU(uint64 instruction);
- std::string DPAQ_S_W_PH(uint64 instruction);
- std::string DPAQ_SA_L_W(uint64 instruction);
- std::string DPAQX_S_W_PH(uint64 instruction);
- std::string DPAQX_SA_W_PH(uint64 instruction);
- std::string DPAU_H_QBL(uint64 instruction);
- std::string DPAU_H_QBR(uint64 instruction);
- std::string DPA_W_PH(uint64 instruction);
- std::string DPAX_W_PH(uint64 instruction);
- std::string DPS_W_PH(uint64 instruction);
- std::string DPSQ_SA_L_W(uint64 instruction);
- std::string DPSQ_S_W_PH(uint64 instruction);
- std::string DPSQX_SA_W_PH(uint64 instruction);
- std::string DPSQX_S_W_PH(uint64 instruction);
- std::string DPSU_H_QBL(uint64 instruction);
- std::string DPSU_H_QBR(uint64 instruction);
- std::string DPSX_W_PH(uint64 instruction);
- std::string DROTR(uint64 instruction);
- std::string DROTR32(uint64 instruction);
- std::string DROTRV(uint64 instruction);
- std::string DROTX(uint64 instruction);
- std::string DSLL(uint64 instruction);
- std::string DSLL32(uint64 instruction);
- std::string DSLLV(uint64 instruction);
- std::string DSRA(uint64 instruction);
- std::string DSRA32(uint64 instruction);
- std::string DSRAV(uint64 instruction);
- std::string DSRL32(uint64 instruction);
- std::string DSRL(uint64 instruction);
- std::string DSRLV(uint64 instruction);
- std::string DSUB(uint64 instruction);
- std::string DSUBU(uint64 instruction);
- std::string DVP(uint64 instruction);
- std::string DVPE(uint64 instruction);
- std::string EHB(uint64 instruction);
- std::string EI(uint64 instruction);
- std::string EMT(uint64 instruction);
- std::string ERET(uint64 instruction);
- std::string ERETNC(uint64 instruction);
- std::string EVP(uint64 instruction);
- std::string EVPE(uint64 instruction);
- std::string EXT(uint64 instruction);
- std::string EXTD(uint64 instruction);
- std::string EXTD32(uint64 instruction);
- std::string EXTP(uint64 instruction);
- std::string EXTPDP(uint64 instruction);
- std::string EXTPDPV(uint64 instruction);
- std::string EXTPV(uint64 instruction);
- std::string EXTR_RS_W(uint64 instruction);
- std::string EXTR_R_W(uint64 instruction);
- std::string EXTR_S_H(uint64 instruction);
- std::string EXTR_W(uint64 instruction);
- std::string EXTRV_R_W(uint64 instruction);
- std::string EXTRV_RS_W(uint64 instruction);
- std::string EXTRV_S_H(uint64 instruction);
- std::string EXTRV_W(uint64 instruction);
- std::string EXTW(uint64 instruction);
- std::string FLOOR_L_D(uint64 instruction);
- std::string FLOOR_L_S(uint64 instruction);
- std::string FLOOR_W_D(uint64 instruction);
- std::string FLOOR_W_S(uint64 instruction);
- std::string FORK(uint64 instruction);
- std::string HYPCALL(uint64 instruction);
- std::string HYPCALL_16_(uint64 instruction);
- std::string INS(uint64 instruction);
- std::string INSV(uint64 instruction);
- std::string IRET(uint64 instruction);
- std::string JALRC_16_(uint64 instruction);
- std::string JALRC_32_(uint64 instruction);
- std::string JALRC_HB(uint64 instruction);
- std::string JRC(uint64 instruction);
- std::string LB_16_(uint64 instruction);
- std::string LB_GP_(uint64 instruction);
- std::string LB_S9_(uint64 instruction);
- std::string LB_U12_(uint64 instruction);
- std::string LBE(uint64 instruction);
- std::string LBU_16_(uint64 instruction);
- std::string LBU_GP_(uint64 instruction);
- std::string LBU_S9_(uint64 instruction);
- std::string LBU_U12_(uint64 instruction);
- std::string LBUE(uint64 instruction);
- std::string LBUX(uint64 instruction);
- std::string LBX(uint64 instruction);
- std::string LD_GP_(uint64 instruction);
- std::string LD_S9_(uint64 instruction);
- std::string LD_U12_(uint64 instruction);
- std::string LDC1_GP_(uint64 instruction);
- std::string LDC1_S9_(uint64 instruction);
- std::string LDC1_U12_(uint64 instruction);
- std::string LDC1X(uint64 instruction);
- std::string LDC1XS(uint64 instruction);
- std::string LDC2(uint64 instruction);
- std::string LDM(uint64 instruction);
- std::string LDPC_48_(uint64 instruction);
- std::string LDX(uint64 instruction);
- std::string LDXS(uint64 instruction);
- std::string LH_16_(uint64 instruction);
- std::string LH_GP_(uint64 instruction);
- std::string LH_S9_(uint64 instruction);
- std::string LH_U12_(uint64 instruction);
- std::string LHE(uint64 instruction);
- std::string LHU_16_(uint64 instruction);
- std::string LHU_GP_(uint64 instruction);
- std::string LHU_S9_(uint64 instruction);
- std::string LHU_U12_(uint64 instruction);
- std::string LHUE(uint64 instruction);
- std::string LHUX(uint64 instruction);
- std::string LHUXS(uint64 instruction);
- std::string LHX(uint64 instruction);
- std::string LHXS(uint64 instruction);
- std::string LI_16_(uint64 instruction);
- std::string LI_48_(uint64 instruction);
- std::string LL(uint64 instruction);
- std::string LLD(uint64 instruction);
- std::string LLDP(uint64 instruction);
- std::string LLE(uint64 instruction);
- std::string LLWP(uint64 instruction);
- std::string LLWPE(uint64 instruction);
- std::string LSA(uint64 instruction);
- std::string LUI(uint64 instruction);
- std::string LW_16_(uint64 instruction);
- std::string LW_4X4_(uint64 instruction);
- std::string LWC1_GP_(uint64 instruction);
- std::string LWC1_S9_(uint64 instruction);
- std::string LWC1_U12_(uint64 instruction);
- std::string LWC1X(uint64 instruction);
- std::string LWC1XS(uint64 instruction);
- std::string LWC2(uint64 instruction);
- std::string LWE(uint64 instruction);
- std::string LW_GP_(uint64 instruction);
- std::string LW_GP16_(uint64 instruction);
- std::string LWM(uint64 instruction);
- std::string LWPC_48_(uint64 instruction);
- std::string LW_S9_(uint64 instruction);
- std::string LW_SP_(uint64 instruction);
- std::string LW_U12_(uint64 instruction);
- std::string LWU_GP_(uint64 instruction);
- std::string LWU_S9_(uint64 instruction);
- std::string LWU_U12_(uint64 instruction);
- std::string LWUX(uint64 instruction);
- std::string LWUXS(uint64 instruction);
- std::string LWX(uint64 instruction);
- std::string LWXS_16_(uint64 instruction);
- std::string LWXS_32_(uint64 instruction);
- std::string MADD_DSP_(uint64 instruction);
- std::string MADDF_D(uint64 instruction);
- std::string MADDF_S(uint64 instruction);
- std::string MADDU_DSP_(uint64 instruction);
- std::string MAQ_S_W_PHL(uint64 instruction);
- std::string MAQ_S_W_PHR(uint64 instruction);
- std::string MAQ_SA_W_PHL(uint64 instruction);
- std::string MAQ_SA_W_PHR(uint64 instruction);
- std::string MAX_D(uint64 instruction);
- std::string MAX_S(uint64 instruction);
- std::string MAXA_D(uint64 instruction);
- std::string MAXA_S(uint64 instruction);
- std::string MFC0(uint64 instruction);
- std::string MFC1(uint64 instruction);
- std::string MFC2(uint64 instruction);
- std::string MFGC0(uint64 instruction);
- std::string MFHC0(uint64 instruction);
- std::string MFHC1(uint64 instruction);
- std::string MFHC2(uint64 instruction);
- std::string MFHGC0(uint64 instruction);
- std::string MFHI_DSP_(uint64 instruction);
- std::string MFHTR(uint64 instruction);
- std::string MFLO_DSP_(uint64 instruction);
- std::string MFTR(uint64 instruction);
- std::string MIN_D(uint64 instruction);
- std::string MIN_S(uint64 instruction);
- std::string MINA_D(uint64 instruction);
- std::string MINA_S(uint64 instruction);
- std::string MOD(uint64 instruction);
- std::string MODSUB(uint64 instruction);
- std::string MODU(uint64 instruction);
- std::string MOV_D(uint64 instruction);
- std::string MOV_S(uint64 instruction);
- std::string MOVE_BALC(uint64 instruction);
- std::string MOVEP(uint64 instruction);
- std::string MOVEP_REV_(uint64 instruction);
- std::string MOVE(uint64 instruction);
- std::string MOVN(uint64 instruction);
- std::string MOVZ(uint64 instruction);
- std::string MSUB_DSP_(uint64 instruction);
- std::string MSUBF_D(uint64 instruction);
- std::string MSUBF_S(uint64 instruction);
- std::string MSUBU_DSP_(uint64 instruction);
- std::string MTC0(uint64 instruction);
- std::string MTC1(uint64 instruction);
- std::string MTC2(uint64 instruction);
- std::string MTGC0(uint64 instruction);
- std::string MTHC0(uint64 instruction);
- std::string MTHC1(uint64 instruction);
- std::string MTHC2(uint64 instruction);
- std::string MTHGC0(uint64 instruction);
- std::string MTHI_DSP_(uint64 instruction);
- std::string MTHLIP(uint64 instruction);
- std::string MTHTR(uint64 instruction);
- std::string MTLO_DSP_(uint64 instruction);
- std::string MTTR(uint64 instruction);
- std::string MUH(uint64 instruction);
- std::string MUHU(uint64 instruction);
- std::string MUL_32_(uint64 instruction);
- std::string MUL_4X4_(uint64 instruction);
- std::string MUL_D(uint64 instruction);
- std::string MUL_PH(uint64 instruction);
- std::string MUL_S(uint64 instruction);
- std::string MUL_S_PH(uint64 instruction);
- std::string MULEQ_S_W_PHL(uint64 instruction);
- std::string MULEQ_S_W_PHR(uint64 instruction);
- std::string MULEU_S_PH_QBL(uint64 instruction);
- std::string MULEU_S_PH_QBR(uint64 instruction);
- std::string MULQ_RS_PH(uint64 instruction);
- std::string MULQ_RS_W(uint64 instruction);
- std::string MULQ_S_PH(uint64 instruction);
- std::string MULQ_S_W(uint64 instruction);
- std::string MULSA_W_PH(uint64 instruction);
- std::string MULSAQ_S_W_PH(uint64 instruction);
- std::string MULT_DSP_(uint64 instruction);
- std::string MULTU_DSP_(uint64 instruction);
- std::string MULU(uint64 instruction);
- std::string NEG_D(uint64 instruction);
- std::string NEG_S(uint64 instruction);
- std::string NOP_16_(uint64 instruction);
- std::string NOP_32_(uint64 instruction);
- std::string NOR(uint64 instruction);
- std::string NOT_16_(uint64 instruction);
- std::string OR_16_(uint64 instruction);
- std::string OR_32_(uint64 instruction);
- std::string ORI(uint64 instruction);
- std::string PACKRL_PH(uint64 instruction);
- std::string PAUSE(uint64 instruction);
- std::string PICK_PH(uint64 instruction);
- std::string PICK_QB(uint64 instruction);
- std::string PRECEQ_W_PHL(uint64 instruction);
- std::string PRECEQ_W_PHR(uint64 instruction);
- std::string PRECEQU_PH_QBL(uint64 instruction);
- std::string PRECEQU_PH_QBLA(uint64 instruction);
- std::string PRECEQU_PH_QBR(uint64 instruction);
- std::string PRECEQU_PH_QBRA(uint64 instruction);
- std::string PRECEU_PH_QBL(uint64 instruction);
- std::string PRECEU_PH_QBLA(uint64 instruction);
- std::string PRECEU_PH_QBR(uint64 instruction);
- std::string PRECEU_PH_QBRA(uint64 instruction);
- std::string PRECR_QB_PH(uint64 instruction);
- std::string PRECR_SRA_PH_W(uint64 instruction);
- std::string PRECR_SRA_R_PH_W(uint64 instruction);
- std::string PRECRQ_PH_W(uint64 instruction);
- std::string PRECRQ_QB_PH(uint64 instruction);
- std::string PRECRQ_RS_PH_W(uint64 instruction);
- std::string PRECRQU_S_QB_PH(uint64 instruction);
- std::string PREF_S9_(uint64 instruction);
- std::string PREF_U12_(uint64 instruction);
- std::string PREFE(uint64 instruction);
- std::string PREPEND(uint64 instruction);
- std::string RADDU_W_QB(uint64 instruction);
- std::string RDDSP(uint64 instruction);
- std::string RDHWR(uint64 instruction);
- std::string RDPGPR(uint64 instruction);
- std::string RECIP_D(uint64 instruction);
- std::string RECIP_S(uint64 instruction);
- std::string REPL_PH(uint64 instruction);
- std::string REPL_QB(uint64 instruction);
- std::string REPLV_PH(uint64 instruction);
- std::string REPLV_QB(uint64 instruction);
- std::string RESTORE_32_(uint64 instruction);
- std::string RESTORE_JRC_16_(uint64 instruction);
- std::string RESTORE_JRC_32_(uint64 instruction);
- std::string RESTOREF(uint64 instruction);
- std::string RINT_D(uint64 instruction);
- std::string RINT_S(uint64 instruction);
- std::string ROTR(uint64 instruction);
- std::string ROTRV(uint64 instruction);
- std::string ROTX(uint64 instruction);
- std::string ROUND_L_D(uint64 instruction);
- std::string ROUND_L_S(uint64 instruction);
- std::string ROUND_W_D(uint64 instruction);
- std::string ROUND_W_S(uint64 instruction);
- std::string RSQRT_D(uint64 instruction);
- std::string RSQRT_S(uint64 instruction);
- std::string SAVE_16_(uint64 instruction);
- std::string SAVE_32_(uint64 instruction);
- std::string SAVEF(uint64 instruction);
- std::string SB_16_(uint64 instruction);
- std::string SB_GP_(uint64 instruction);
- std::string SB_S9_(uint64 instruction);
- std::string SB_U12_(uint64 instruction);
- std::string SBE(uint64 instruction);
- std::string SBX(uint64 instruction);
- std::string SC(uint64 instruction);
- std::string SCD(uint64 instruction);
- std::string SCDP(uint64 instruction);
- std::string SCE(uint64 instruction);
- std::string SCWP(uint64 instruction);
- std::string SCWPE(uint64 instruction);
- std::string SD_GP_(uint64 instruction);
- std::string SD_S9_(uint64 instruction);
- std::string SD_U12_(uint64 instruction);
- std::string SDBBP_16_(uint64 instruction);
- std::string SDBBP_32_(uint64 instruction);
- std::string SDC1_GP_(uint64 instruction);
- std::string SDC1_S9_(uint64 instruction);
- std::string SDC1_U12_(uint64 instruction);
- std::string SDC1X(uint64 instruction);
- std::string SDC1XS(uint64 instruction);
- std::string SDC2(uint64 instruction);
- std::string SDM(uint64 instruction);
- std::string SDPC_48_(uint64 instruction);
- std::string SDX(uint64 instruction);
- std::string SDXS(uint64 instruction);
- std::string SEB(uint64 instruction);
- std::string SEH(uint64 instruction);
- std::string SEL_D(uint64 instruction);
- std::string SEL_S(uint64 instruction);
- std::string SELEQZ_D(uint64 instruction);
- std::string SELEQZ_S(uint64 instruction);
- std::string SELNEZ_D(uint64 instruction);
- std::string SELNEZ_S(uint64 instruction);
- std::string SEQI(uint64 instruction);
- std::string SH_16_(uint64 instruction);
- std::string SH_GP_(uint64 instruction);
- std::string SH_S9_(uint64 instruction);
- std::string SH_U12_(uint64 instruction);
- std::string SHE(uint64 instruction);
- std::string SHILO(uint64 instruction);
- std::string SHILOV(uint64 instruction);
- std::string SHLL_PH(uint64 instruction);
- std::string SHLL_QB(uint64 instruction);
- std::string SHLL_S_PH(uint64 instruction);
- std::string SHLL_S_W(uint64 instruction);
- std::string SHLLV_PH(uint64 instruction);
- std::string SHLLV_QB(uint64 instruction);
- std::string SHLLV_S_PH(uint64 instruction);
- std::string SHLLV_S_W(uint64 instruction);
- std::string SHRA_PH(uint64 instruction);
- std::string SHRA_QB(uint64 instruction);
- std::string SHRA_R_PH(uint64 instruction);
- std::string SHRA_R_QB(uint64 instruction);
- std::string SHRA_R_W(uint64 instruction);
- std::string SHRAV_PH(uint64 instruction);
- std::string SHRAV_QB(uint64 instruction);
- std::string SHRAV_R_PH(uint64 instruction);
- std::string SHRAV_R_QB(uint64 instruction);
- std::string SHRAV_R_W(uint64 instruction);
- std::string SHRL_PH(uint64 instruction);
- std::string SHRL_QB(uint64 instruction);
- std::string SHRLV_PH(uint64 instruction);
- std::string SHRLV_QB(uint64 instruction);
- std::string SHX(uint64 instruction);
- std::string SHXS(uint64 instruction);
- std::string SIGRIE(uint64 instruction);
- std::string SLL_16_(uint64 instruction);
- std::string SLL_32_(uint64 instruction);
- std::string SLLV(uint64 instruction);
- std::string SLT(uint64 instruction);
- std::string SLTI(uint64 instruction);
- std::string SLTIU(uint64 instruction);
- std::string SLTU(uint64 instruction);
- std::string SOV(uint64 instruction);
- std::string SPECIAL2(uint64 instruction);
- std::string SQRT_D(uint64 instruction);
- std::string SQRT_S(uint64 instruction);
- std::string SRA(uint64 instruction);
- std::string SRAV(uint64 instruction);
- std::string SRL_16_(uint64 instruction);
- std::string SRL_32_(uint64 instruction);
- std::string SRLV(uint64 instruction);
- std::string SUB(uint64 instruction);
- std::string SUB_D(uint64 instruction);
- std::string SUB_S(uint64 instruction);
- std::string SUBQ_PH(uint64 instruction);
- std::string SUBQ_S_PH(uint64 instruction);
- std::string SUBQ_S_W(uint64 instruction);
- std::string SUBQH_PH(uint64 instruction);
- std::string SUBQH_R_PH(uint64 instruction);
- std::string SUBQH_R_W(uint64 instruction);
- std::string SUBQH_W(uint64 instruction);
- std::string SUBU_16_(uint64 instruction);
- std::string SUBU_32_(uint64 instruction);
- std::string SUBU_PH(uint64 instruction);
- std::string SUBU_QB(uint64 instruction);
- std::string SUBU_S_PH(uint64 instruction);
- std::string SUBU_S_QB(uint64 instruction);
- std::string SUBUH_QB(uint64 instruction);
- std::string SUBUH_R_QB(uint64 instruction);
- std::string SW_16_(uint64 instruction);
- std::string SW_4X4_(uint64 instruction);
- std::string SW_GP16_(uint64 instruction);
- std::string SW_GP_(uint64 instruction);
- std::string SW_S9_(uint64 instruction);
- std::string SW_SP_(uint64 instruction);
- std::string SW_U12_(uint64 instruction);
- std::string SWC1_GP_(uint64 instruction);
- std::string SWC1_S9_(uint64 instruction);
- std::string SWC1_U12_(uint64 instruction);
- std::string SWC1X(uint64 instruction);
- std::string SWC1XS(uint64 instruction);
- std::string SWC2(uint64 instruction);
- std::string SWE(uint64 instruction);
- std::string SWM(uint64 instruction);
- std::string SWPC_48_(uint64 instruction);
- std::string SWX(uint64 instruction);
- std::string SWXS(uint64 instruction);
- std::string SYNC(uint64 instruction);
- std::string SYNCI(uint64 instruction);
- std::string SYNCIE(uint64 instruction);
- std::string SYSCALL_16_(uint64 instruction);
- std::string SYSCALL_32_(uint64 instruction);
- std::string TEQ(uint64 instruction);
- std::string TLBGINV(uint64 instruction);
- std::string TLBGINVF(uint64 instruction);
- std::string TLBGP(uint64 instruction);
- std::string TLBGR(uint64 instruction);
- std::string TLBGWI(uint64 instruction);
- std::string TLBGWR(uint64 instruction);
- std::string TLBINV(uint64 instruction);
- std::string TLBINVF(uint64 instruction);
- std::string TLBP(uint64 instruction);
- std::string TLBR(uint64 instruction);
- std::string TLBWI(uint64 instruction);
- std::string TLBWR(uint64 instruction);
- std::string TNE(uint64 instruction);
- std::string TRUNC_L_D(uint64 instruction);
- std::string TRUNC_L_S(uint64 instruction);
- std::string TRUNC_W_D(uint64 instruction);
- std::string TRUNC_W_S(uint64 instruction);
- std::string UALDM(uint64 instruction);
- std::string UALH(uint64 instruction);
- std::string UALWM(uint64 instruction);
- std::string UASDM(uint64 instruction);
- std::string UASH(uint64 instruction);
- std::string UASWM(uint64 instruction);
- std::string UDI(uint64 instruction);
- std::string WAIT(uint64 instruction);
- std::string WRDSP(uint64 instruction);
- std::string WRPGPR(uint64 instruction);
- std::string XOR_16_(uint64 instruction);
- std::string XOR_32_(uint64 instruction);
- std::string XORI(uint64 instruction);
- std::string YIELD(uint64 instruction);
+ std::string ABS_D(uint64 instruction, Dis_info *info);
+ std::string ABS_S(uint64 instruction, Dis_info *info);
+ std::string ABSQ_S_PH(uint64 instruction, Dis_info *info);
+ std::string ABSQ_S_QB(uint64 instruction, Dis_info *info);
+ std::string ABSQ_S_W(uint64 instruction, Dis_info *info);
+ std::string ACLR(uint64 instruction, Dis_info *info);
+ std::string ADD(uint64 instruction, Dis_info *info);
+ std::string ADD_D(uint64 instruction, Dis_info *info);
+ std::string ADD_S(uint64 instruction, Dis_info *info);
+ std::string ADDIU_32_(uint64 instruction, Dis_info *info);
+ std::string ADDIU_48_(uint64 instruction, Dis_info *info);
+ std::string ADDIU_GP48_(uint64 instruction, Dis_info *info);
+ std::string ADDIU_GP_B_(uint64 instruction, Dis_info *info);
+ std::string ADDIU_GP_W_(uint64 instruction, Dis_info *info);
+ std::string ADDIU_NEG_(uint64 instruction, Dis_info *info);
+ std::string ADDIU_R1_SP_(uint64 instruction, Dis_info *info);
+ std::string ADDIU_R2_(uint64 instruction, Dis_info *info);
+ std::string ADDIU_RS5_(uint64 instruction, Dis_info *info);
+ std::string ADDIUPC_32_(uint64 instruction, Dis_info *info);
+ std::string ADDIUPC_48_(uint64 instruction, Dis_info *info);
+ std::string ADDQ_PH(uint64 instruction, Dis_info *info);
+ std::string ADDQ_S_PH(uint64 instruction, Dis_info *info);
+ std::string ADDQ_S_W(uint64 instruction, Dis_info *info);
+ std::string ADDQH_PH(uint64 instruction, Dis_info *info);
+ std::string ADDQH_R_PH(uint64 instruction, Dis_info *info);
+ std::string ADDQH_R_W(uint64 instruction, Dis_info *info);
+ std::string ADDQH_W(uint64 instruction, Dis_info *info);
+ std::string ADDSC(uint64 instruction, Dis_info *info);
+ std::string ADDU_16_(uint64 instruction, Dis_info *info);
+ std::string ADDU_32_(uint64 instruction, Dis_info *info);
+ std::string ADDU_4X4_(uint64 instruction, Dis_info *info);
+ std::string ADDU_PH(uint64 instruction, Dis_info *info);
+ std::string ADDU_QB(uint64 instruction, Dis_info *info);
+ std::string ADDU_S_PH(uint64 instruction, Dis_info *info);
+ std::string ADDU_S_QB(uint64 instruction, Dis_info *info);
+ std::string ADDUH_QB(uint64 instruction, Dis_info *info);
+ std::string ADDUH_R_QB(uint64 instruction, Dis_info *info);
+ std::string ADDWC(uint64 instruction, Dis_info *info);
+ std::string ALUIPC(uint64 instruction, Dis_info *info);
+ std::string AND_16_(uint64 instruction, Dis_info *info);
+ std::string AND_32_(uint64 instruction, Dis_info *info);
+ std::string ANDI_16_(uint64 instruction, Dis_info *info);
+ std::string ANDI_32_(uint64 instruction, Dis_info *info);
+ std::string APPEND(uint64 instruction, Dis_info *info);
+ std::string ASET(uint64 instruction, Dis_info *info);
+ std::string BALC_16_(uint64 instruction, Dis_info *info);
+ std::string BALC_32_(uint64 instruction, Dis_info *info);
+ std::string BALRSC(uint64 instruction, Dis_info *info);
+ std::string BBEQZC(uint64 instruction, Dis_info *info);
+ std::string BBNEZC(uint64 instruction, Dis_info *info);
+ std::string BC_16_(uint64 instruction, Dis_info *info);
+ std::string BC_32_(uint64 instruction, Dis_info *info);
+ std::string BC1EQZC(uint64 instruction, Dis_info *info);
+ std::string BC1NEZC(uint64 instruction, Dis_info *info);
+ std::string BC2EQZC(uint64 instruction, Dis_info *info);
+ std::string BC2NEZC(uint64 instruction, Dis_info *info);
+ std::string BEQC_16_(uint64 instruction, Dis_info *info);
+ std::string BEQC_32_(uint64 instruction, Dis_info *info);
+ std::string BEQIC(uint64 instruction, Dis_info *info);
+ std::string BEQZC_16_(uint64 instruction, Dis_info *info);
+ std::string BGEC(uint64 instruction, Dis_info *info);
+ std::string BGEIC(uint64 instruction, Dis_info *info);
+ std::string BGEIUC(uint64 instruction, Dis_info *info);
+ std::string BGEUC(uint64 instruction, Dis_info *info);
+ std::string BLTC(uint64 instruction, Dis_info *info);
+ std::string BLTIC(uint64 instruction, Dis_info *info);
+ std::string BLTIUC(uint64 instruction, Dis_info *info);
+ std::string BLTUC(uint64 instruction, Dis_info *info);
+ std::string BNEC_16_(uint64 instruction, Dis_info *info);
+ std::string BNEC_32_(uint64 instruction, Dis_info *info);
+ std::string BNEIC(uint64 instruction, Dis_info *info);
+ std::string BNEZC_16_(uint64 instruction, Dis_info *info);
+ std::string BPOSGE32C(uint64 instruction, Dis_info *info);
+ std::string BREAK_16_(uint64 instruction, Dis_info *info);
+ std::string BREAK_32_(uint64 instruction, Dis_info *info);
+ std::string BRSC(uint64 instruction, Dis_info *info);
+ std::string CACHE(uint64 instruction, Dis_info *info);
+ std::string CACHEE(uint64 instruction, Dis_info *info);
+ std::string CEIL_L_D(uint64 instruction, Dis_info *info);
+ std::string CEIL_L_S(uint64 instruction, Dis_info *info);
+ std::string CEIL_W_D(uint64 instruction, Dis_info *info);
+ std::string CEIL_W_S(uint64 instruction, Dis_info *info);
+ std::string CFC1(uint64 instruction, Dis_info *info);
+ std::string CFC2(uint64 instruction, Dis_info *info);
+ std::string CLASS_D(uint64 instruction, Dis_info *info);
+ std::string CLASS_S(uint64 instruction, Dis_info *info);
+ std::string CLO(uint64 instruction, Dis_info *info);
+ std::string CLZ(uint64 instruction, Dis_info *info);
+ std::string CMP_AF_D(uint64 instruction, Dis_info *info);
+ std::string CMP_AF_S(uint64 instruction, Dis_info *info);
+ std::string CMP_EQ_D(uint64 instruction, Dis_info *info);
+ std::string CMP_EQ_PH(uint64 instruction, Dis_info *info);
+ std::string CMP_EQ_S(uint64 instruction, Dis_info *info);
+ std::string CMP_LE_D(uint64 instruction, Dis_info *info);
+ std::string CMP_LE_PH(uint64 instruction, Dis_info *info);
+ std::string CMP_LE_S(uint64 instruction, Dis_info *info);
+ std::string CMP_LT_D(uint64 instruction, Dis_info *info);
+ std::string CMP_LT_PH(uint64 instruction, Dis_info *info);
+ std::string CMP_LT_S(uint64 instruction, Dis_info *info);
+ std::string CMP_NE_D(uint64 instruction, Dis_info *info);
+ std::string CMP_NE_S(uint64 instruction, Dis_info *info);
+ std::string CMP_OR_D(uint64 instruction, Dis_info *info);
+ std::string CMP_OR_S(uint64 instruction, Dis_info *info);
+ std::string CMP_SAF_D(uint64 instruction, Dis_info *info);
+ std::string CMP_SAF_S(uint64 instruction, Dis_info *info);
+ std::string CMP_SEQ_D(uint64 instruction, Dis_info *info);
+ std::string CMP_SEQ_S(uint64 instruction, Dis_info *info);
+ std::string CMP_SLE_D(uint64 instruction, Dis_info *info);
+ std::string CMP_SLE_S(uint64 instruction, Dis_info *info);
+ std::string CMP_SLT_D(uint64 instruction, Dis_info *info);
+ std::string CMP_SLT_S(uint64 instruction, Dis_info *info);
+ std::string CMP_SNE_D(uint64 instruction, Dis_info *info);
+ std::string CMP_SNE_S(uint64 instruction, Dis_info *info);
+ std::string CMP_SOR_D(uint64 instruction, Dis_info *info);
+ std::string CMP_SOR_S(uint64 instruction, Dis_info *info);
+ std::string CMP_SUEQ_D(uint64 instruction, Dis_info *info);
+ std::string CMP_SUEQ_S(uint64 instruction, Dis_info *info);
+ std::string CMP_SULE_D(uint64 instruction, Dis_info *info);
+ std::string CMP_SULE_S(uint64 instruction, Dis_info *info);
+ std::string CMP_SULT_D(uint64 instruction, Dis_info *info);
+ std::string CMP_SULT_S(uint64 instruction, Dis_info *info);
+ std::string CMP_SUN_D(uint64 instruction, Dis_info *info);
+ std::string CMP_SUN_S(uint64 instruction, Dis_info *info);
+ std::string CMP_SUNE_D(uint64 instruction, Dis_info *info);
+ std::string CMP_SUNE_S(uint64 instruction, Dis_info *info);
+ std::string CMP_UEQ_D(uint64 instruction, Dis_info *info);
+ std::string CMP_UEQ_S(uint64 instruction, Dis_info *info);
+ std::string CMP_ULE_D(uint64 instruction, Dis_info *info);
+ std::string CMP_ULE_S(uint64 instruction, Dis_info *info);
+ std::string CMP_ULT_D(uint64 instruction, Dis_info *info);
+ std::string CMP_ULT_S(uint64 instruction, Dis_info *info);
+ std::string CMP_UN_D(uint64 instruction, Dis_info *info);
+ std::string CMP_UN_S(uint64 instruction, Dis_info *info);
+ std::string CMP_UNE_D(uint64 instruction, Dis_info *info);
+ std::string CMP_UNE_S(uint64 instruction, Dis_info *info);
+ std::string CMPGDU_EQ_QB(uint64 instruction, Dis_info *info);
+ std::string CMPGDU_LE_QB(uint64 instruction, Dis_info *info);
+ std::string CMPGDU_LT_QB(uint64 instruction, Dis_info *info);
+ std::string CMPGU_EQ_QB(uint64 instruction, Dis_info *info);
+ std::string CMPGU_LE_QB(uint64 instruction, Dis_info *info);
+ std::string CMPGU_LT_QB(uint64 instruction, Dis_info *info);
+ std::string CMPU_EQ_QB(uint64 instruction, Dis_info *info);
+ std::string CMPU_LE_QB(uint64 instruction, Dis_info *info);
+ std::string CMPU_LT_QB(uint64 instruction, Dis_info *info);
+ std::string COP2_1(uint64 instruction, Dis_info *info);
+ std::string CTC1(uint64 instruction, Dis_info *info);
+ std::string CTC2(uint64 instruction, Dis_info *info);
+ std::string CVT_D_L(uint64 instruction, Dis_info *info);
+ std::string CVT_D_S(uint64 instruction, Dis_info *info);
+ std::string CVT_D_W(uint64 instruction, Dis_info *info);
+ std::string CVT_L_D(uint64 instruction, Dis_info *info);
+ std::string CVT_L_S(uint64 instruction, Dis_info *info);
+ std::string CVT_S_D(uint64 instruction, Dis_info *info);
+ std::string CVT_S_L(uint64 instruction, Dis_info *info);
+ std::string CVT_S_PL(uint64 instruction, Dis_info *info);
+ std::string CVT_S_PU(uint64 instruction, Dis_info *info);
+ std::string CVT_S_W(uint64 instruction, Dis_info *info);
+ std::string CVT_W_D(uint64 instruction, Dis_info *info);
+ std::string CVT_W_S(uint64 instruction, Dis_info *info);
+ std::string DADDIU_48_(uint64 instruction, Dis_info *info);
+ std::string DADDIU_NEG_(uint64 instruction, Dis_info *info);
+ std::string DADDIU_U12_(uint64 instruction, Dis_info *info);
+ std::string DADD(uint64 instruction, Dis_info *info);
+ std::string DADDU(uint64 instruction, Dis_info *info);
+ std::string DCLO(uint64 instruction, Dis_info *info);
+ std::string DCLZ(uint64 instruction, Dis_info *info);
+ std::string DDIV(uint64 instruction, Dis_info *info);
+ std::string DDIVU(uint64 instruction, Dis_info *info);
+ std::string DERET(uint64 instruction, Dis_info *info);
+ std::string DEXTM(uint64 instruction, Dis_info *info);
+ std::string DEXT(uint64 instruction, Dis_info *info);
+ std::string DEXTU(uint64 instruction, Dis_info *info);
+ std::string DINSM(uint64 instruction, Dis_info *info);
+ std::string DINS(uint64 instruction, Dis_info *info);
+ std::string DINSU(uint64 instruction, Dis_info *info);
+ std::string DI(uint64 instruction, Dis_info *info);
+ std::string DIV(uint64 instruction, Dis_info *info);
+ std::string DIV_D(uint64 instruction, Dis_info *info);
+ std::string DIV_S(uint64 instruction, Dis_info *info);
+ std::string DIVU(uint64 instruction, Dis_info *info);
+ std::string DLSA(uint64 instruction, Dis_info *info);
+ std::string DLUI_48_(uint64 instruction, Dis_info *info);
+ std::string DMFC0(uint64 instruction, Dis_info *info);
+ std::string DMFC1(uint64 instruction, Dis_info *info);
+ std::string DMFC2(uint64 instruction, Dis_info *info);
+ std::string DMFGC0(uint64 instruction, Dis_info *info);
+ std::string DMOD(uint64 instruction, Dis_info *info);
+ std::string DMODU(uint64 instruction, Dis_info *info);
+ std::string DMTC0(uint64 instruction, Dis_info *info);
+ std::string DMTC1(uint64 instruction, Dis_info *info);
+ std::string DMTC2(uint64 instruction, Dis_info *info);
+ std::string DMTGC0(uint64 instruction, Dis_info *info);
+ std::string DMT(uint64 instruction, Dis_info *info);
+ std::string DMUH(uint64 instruction, Dis_info *info);
+ std::string DMUHU(uint64 instruction, Dis_info *info);
+ std::string DMUL(uint64 instruction, Dis_info *info);
+ std::string DMULU(uint64 instruction, Dis_info *info);
+ std::string DPAQ_S_W_PH(uint64 instruction, Dis_info *info);
+ std::string DPAQ_SA_L_W(uint64 instruction, Dis_info *info);
+ std::string DPAQX_S_W_PH(uint64 instruction, Dis_info *info);
+ std::string DPAQX_SA_W_PH(uint64 instruction, Dis_info *info);
+ std::string DPAU_H_QBL(uint64 instruction, Dis_info *info);
+ std::string DPAU_H_QBR(uint64 instruction, Dis_info *info);
+ std::string DPA_W_PH(uint64 instruction, Dis_info *info);
+ std::string DPAX_W_PH(uint64 instruction, Dis_info *info);
+ std::string DPS_W_PH(uint64 instruction, Dis_info *info);
+ std::string DPSQ_SA_L_W(uint64 instruction, Dis_info *info);
+ std::string DPSQ_S_W_PH(uint64 instruction, Dis_info *info);
+ std::string DPSQX_SA_W_PH(uint64 instruction, Dis_info *info);
+ std::string DPSQX_S_W_PH(uint64 instruction, Dis_info *info);
+ std::string DPSU_H_QBL(uint64 instruction, Dis_info *info);
+ std::string DPSU_H_QBR(uint64 instruction, Dis_info *info);
+ std::string DPSX_W_PH(uint64 instruction, Dis_info *info);
+ std::string DROTR(uint64 instruction, Dis_info *info);
+ std::string DROTR32(uint64 instruction, Dis_info *info);
+ std::string DROTRV(uint64 instruction, Dis_info *info);
+ std::string DROTX(uint64 instruction, Dis_info *info);
+ std::string DSLL(uint64 instruction, Dis_info *info);
+ std::string DSLL32(uint64 instruction, Dis_info *info);
+ std::string DSLLV(uint64 instruction, Dis_info *info);
+ std::string DSRA(uint64 instruction, Dis_info *info);
+ std::string DSRA32(uint64 instruction, Dis_info *info);
+ std::string DSRAV(uint64 instruction, Dis_info *info);
+ std::string DSRL32(uint64 instruction, Dis_info *info);
+ std::string DSRL(uint64 instruction, Dis_info *info);
+ std::string DSRLV(uint64 instruction, Dis_info *info);
+ std::string DSUB(uint64 instruction, Dis_info *info);
+ std::string DSUBU(uint64 instruction, Dis_info *info);
+ std::string DVP(uint64 instruction, Dis_info *info);
+ std::string DVPE(uint64 instruction, Dis_info *info);
+ std::string EHB(uint64 instruction, Dis_info *info);
+ std::string EI(uint64 instruction, Dis_info *info);
+ std::string EMT(uint64 instruction, Dis_info *info);
+ std::string ERET(uint64 instruction, Dis_info *info);
+ std::string ERETNC(uint64 instruction, Dis_info *info);
+ std::string EVP(uint64 instruction, Dis_info *info);
+ std::string EVPE(uint64 instruction, Dis_info *info);
+ std::string EXT(uint64 instruction, Dis_info *info);
+ std::string EXTD(uint64 instruction, Dis_info *info);
+ std::string EXTD32(uint64 instruction, Dis_info *info);
+ std::string EXTP(uint64 instruction, Dis_info *info);
+ std::string EXTPDP(uint64 instruction, Dis_info *info);
+ std::string EXTPDPV(uint64 instruction, Dis_info *info);
+ std::string EXTPV(uint64 instruction, Dis_info *info);
+ std::string EXTR_RS_W(uint64 instruction, Dis_info *info);
+ std::string EXTR_R_W(uint64 instruction, Dis_info *info);
+ std::string EXTR_S_H(uint64 instruction, Dis_info *info);
+ std::string EXTR_W(uint64 instruction, Dis_info *info);
+ std::string EXTRV_R_W(uint64 instruction, Dis_info *info);
+ std::string EXTRV_RS_W(uint64 instruction, Dis_info *info);
+ std::string EXTRV_S_H(uint64 instruction, Dis_info *info);
+ std::string EXTRV_W(uint64 instruction, Dis_info *info);
+ std::string EXTW(uint64 instruction, Dis_info *info);
+ std::string FLOOR_L_D(uint64 instruction, Dis_info *info);
+ std::string FLOOR_L_S(uint64 instruction, Dis_info *info);
+ std::string FLOOR_W_D(uint64 instruction, Dis_info *info);
+ std::string FLOOR_W_S(uint64 instruction, Dis_info *info);
+ std::string FORK(uint64 instruction, Dis_info *info);
+ std::string HYPCALL(uint64 instruction, Dis_info *info);
+ std::string HYPCALL_16_(uint64 instruction, Dis_info *info);
+ std::string INS(uint64 instruction, Dis_info *info);
+ std::string INSV(uint64 instruction, Dis_info *info);
+ std::string IRET(uint64 instruction, Dis_info *info);
+ std::string JALRC_16_(uint64 instruction, Dis_info *info);
+ std::string JALRC_32_(uint64 instruction, Dis_info *info);
+ std::string JALRC_HB(uint64 instruction, Dis_info *info);
+ std::string JRC(uint64 instruction, Dis_info *info);
+ std::string LB_16_(uint64 instruction, Dis_info *info);
+ std::string LB_GP_(uint64 instruction, Dis_info *info);
+ std::string LB_S9_(uint64 instruction, Dis_info *info);
+ std::string LB_U12_(uint64 instruction, Dis_info *info);
+ std::string LBE(uint64 instruction, Dis_info *info);
+ std::string LBU_16_(uint64 instruction, Dis_info *info);
+ std::string LBU_GP_(uint64 instruction, Dis_info *info);
+ std::string LBU_S9_(uint64 instruction, Dis_info *info);
+ std::string LBU_U12_(uint64 instruction, Dis_info *info);
+ std::string LBUE(uint64 instruction, Dis_info *info);
+ std::string LBUX(uint64 instruction, Dis_info *info);
+ std::string LBX(uint64 instruction, Dis_info *info);
+ std::string LD_GP_(uint64 instruction, Dis_info *info);
+ std::string LD_S9_(uint64 instruction, Dis_info *info);
+ std::string LD_U12_(uint64 instruction, Dis_info *info);
+ std::string LDC1_GP_(uint64 instruction, Dis_info *info);
+ std::string LDC1_S9_(uint64 instruction, Dis_info *info);
+ std::string LDC1_U12_(uint64 instruction, Dis_info *info);
+ std::string LDC1X(uint64 instruction, Dis_info *info);
+ std::string LDC1XS(uint64 instruction, Dis_info *info);
+ std::string LDC2(uint64 instruction, Dis_info *info);
+ std::string LDM(uint64 instruction, Dis_info *info);
+ std::string LDPC_48_(uint64 instruction, Dis_info *info);
+ std::string LDX(uint64 instruction, Dis_info *info);
+ std::string LDXS(uint64 instruction, Dis_info *info);
+ std::string LH_16_(uint64 instruction, Dis_info *info);
+ std::string LH_GP_(uint64 instruction, Dis_info *info);
+ std::string LH_S9_(uint64 instruction, Dis_info *info);
+ std::string LH_U12_(uint64 instruction, Dis_info *info);
+ std::string LHE(uint64 instruction, Dis_info *info);
+ std::string LHU_16_(uint64 instruction, Dis_info *info);
+ std::string LHU_GP_(uint64 instruction, Dis_info *info);
+ std::string LHU_S9_(uint64 instruction, Dis_info *info);
+ std::string LHU_U12_(uint64 instruction, Dis_info *info);
+ std::string LHUE(uint64 instruction, Dis_info *info);
+ std::string LHUX(uint64 instruction, Dis_info *info);
+ std::string LHUXS(uint64 instruction, Dis_info *info);
+ std::string LHX(uint64 instruction, Dis_info *info);
+ std::string LHXS(uint64 instruction, Dis_info *info);
+ std::string LI_16_(uint64 instruction, Dis_info *info);
+ std::string LI_48_(uint64 instruction, Dis_info *info);
+ std::string LL(uint64 instruction, Dis_info *info);
+ std::string LLD(uint64 instruction, Dis_info *info);
+ std::string LLDP(uint64 instruction, Dis_info *info);
+ std::string LLE(uint64 instruction, Dis_info *info);
+ std::string LLWP(uint64 instruction, Dis_info *info);
+ std::string LLWPE(uint64 instruction, Dis_info *info);
+ std::string LSA(uint64 instruction, Dis_info *info);
+ std::string LUI(uint64 instruction, Dis_info *info);
+ std::string LW_16_(uint64 instruction, Dis_info *info);
+ std::string LW_4X4_(uint64 instruction, Dis_info *info);
+ std::string LWC1_GP_(uint64 instruction, Dis_info *info);
+ std::string LWC1_S9_(uint64 instruction, Dis_info *info);
+ std::string LWC1_U12_(uint64 instruction, Dis_info *info);
+ std::string LWC1X(uint64 instruction, Dis_info *info);
+ std::string LWC1XS(uint64 instruction, Dis_info *info);
+ std::string LWC2(uint64 instruction, Dis_info *info);
+ std::string LWE(uint64 instruction, Dis_info *info);
+ std::string LW_GP_(uint64 instruction, Dis_info *info);
+ std::string LW_GP16_(uint64 instruction, Dis_info *info);
+ std::string LWM(uint64 instruction, Dis_info *info);
+ std::string LWPC_48_(uint64 instruction, Dis_info *info);
+ std::string LW_S9_(uint64 instruction, Dis_info *info);
+ std::string LW_SP_(uint64 instruction, Dis_info *info);
+ std::string LW_U12_(uint64 instruction, Dis_info *info);
+ std::string LWU_GP_(uint64 instruction, Dis_info *info);
+ std::string LWU_S9_(uint64 instruction, Dis_info *info);
+ std::string LWU_U12_(uint64 instruction, Dis_info *info);
+ std::string LWUX(uint64 instruction, Dis_info *info);
+ std::string LWUXS(uint64 instruction, Dis_info *info);
+ std::string LWX(uint64 instruction, Dis_info *info);
+ std::string LWXS_16_(uint64 instruction, Dis_info *info);
+ std::string LWXS_32_(uint64 instruction, Dis_info *info);
+ std::string MADD_DSP_(uint64 instruction, Dis_info *info);
+ std::string MADDF_D(uint64 instruction, Dis_info *info);
+ std::string MADDF_S(uint64 instruction, Dis_info *info);
+ std::string MADDU_DSP_(uint64 instruction, Dis_info *info);
+ std::string MAQ_S_W_PHL(uint64 instruction, Dis_info *info);
+ std::string MAQ_S_W_PHR(uint64 instruction, Dis_info *info);
+ std::string MAQ_SA_W_PHL(uint64 instruction, Dis_info *info);
+ std::string MAQ_SA_W_PHR(uint64 instruction, Dis_info *info);
+ std::string MAX_D(uint64 instruction, Dis_info *info);
+ std::string MAX_S(uint64 instruction, Dis_info *info);
+ std::string MAXA_D(uint64 instruction, Dis_info *info);
+ std::string MAXA_S(uint64 instruction, Dis_info *info);
+ std::string MFC0(uint64 instruction, Dis_info *info);
+ std::string MFC1(uint64 instruction, Dis_info *info);
+ std::string MFC2(uint64 instruction, Dis_info *info);
+ std::string MFGC0(uint64 instruction, Dis_info *info);
+ std::string MFHC0(uint64 instruction, Dis_info *info);
+ std::string MFHC1(uint64 instruction, Dis_info *info);
+ std::string MFHC2(uint64 instruction, Dis_info *info);
+ std::string MFHGC0(uint64 instruction, Dis_info *info);
+ std::string MFHI_DSP_(uint64 instruction, Dis_info *info);
+ std::string MFHTR(uint64 instruction, Dis_info *info);
+ std::string MFLO_DSP_(uint64 instruction, Dis_info *info);
+ std::string MFTR(uint64 instruction, Dis_info *info);
+ std::string MIN_D(uint64 instruction, Dis_info *info);
+ std::string MIN_S(uint64 instruction, Dis_info *info);
+ std::string MINA_D(uint64 instruction, Dis_info *info);
+ std::string MINA_S(uint64 instruction, Dis_info *info);
+ std::string MOD(uint64 instruction, Dis_info *info);
+ std::string MODSUB(uint64 instruction, Dis_info *info);
+ std::string MODU(uint64 instruction, Dis_info *info);
+ std::string MOV_D(uint64 instruction, Dis_info *info);
+ std::string MOV_S(uint64 instruction, Dis_info *info);
+ std::string MOVE_BALC(uint64 instruction, Dis_info *info);
+ std::string MOVEP(uint64 instruction, Dis_info *info);
+ std::string MOVEP_REV_(uint64 instruction, Dis_info *info);
+ std::string MOVE(uint64 instruction, Dis_info *info);
+ std::string MOVN(uint64 instruction, Dis_info *info);
+ std::string MOVZ(uint64 instruction, Dis_info *info);
+ std::string MSUB_DSP_(uint64 instruction, Dis_info *info);
+ std::string MSUBF_D(uint64 instruction, Dis_info *info);
+ std::string MSUBF_S(uint64 instruction, Dis_info *info);
+ std::string MSUBU_DSP_(uint64 instruction, Dis_info *info);
+ std::string MTC0(uint64 instruction, Dis_info *info);
+ std::string MTC1(uint64 instruction, Dis_info *info);
+ std::string MTC2(uint64 instruction, Dis_info *info);
+ std::string MTGC0(uint64 instruction, Dis_info *info);
+ std::string MTHC0(uint64 instruction, Dis_info *info);
+ std::string MTHC1(uint64 instruction, Dis_info *info);
+ std::string MTHC2(uint64 instruction, Dis_info *info);
+ std::string MTHGC0(uint64 instruction, Dis_info *info);
+ std::string MTHI_DSP_(uint64 instruction, Dis_info *info);
+ std::string MTHLIP(uint64 instruction, Dis_info *info);
+ std::string MTHTR(uint64 instruction, Dis_info *info);
+ std::string MTLO_DSP_(uint64 instruction, Dis_info *info);
+ std::string MTTR(uint64 instruction, Dis_info *info);
+ std::string MUH(uint64 instruction, Dis_info *info);
+ std::string MUHU(uint64 instruction, Dis_info *info);
+ std::string MUL_32_(uint64 instruction, Dis_info *info);
+ std::string MUL_4X4_(uint64 instruction, Dis_info *info);
+ std::string MUL_D(uint64 instruction, Dis_info *info);
+ std::string MUL_PH(uint64 instruction, Dis_info *info);
+ std::string MUL_S(uint64 instruction, Dis_info *info);
+ std::string MUL_S_PH(uint64 instruction, Dis_info *info);
+ std::string MULEQ_S_W_PHL(uint64 instruction, Dis_info *info);
+ std::string MULEQ_S_W_PHR(uint64 instruction, Dis_info *info);
+ std::string MULEU_S_PH_QBL(uint64 instruction, Dis_info *info);
+ std::string MULEU_S_PH_QBR(uint64 instruction, Dis_info *info);
+ std::string MULQ_RS_PH(uint64 instruction, Dis_info *info);
+ std::string MULQ_RS_W(uint64 instruction, Dis_info *info);
+ std::string MULQ_S_PH(uint64 instruction, Dis_info *info);
+ std::string MULQ_S_W(uint64 instruction, Dis_info *info);
+ std::string MULSA_W_PH(uint64 instruction, Dis_info *info);
+ std::string MULSAQ_S_W_PH(uint64 instruction, Dis_info *info);
+ std::string MULT_DSP_(uint64 instruction, Dis_info *info);
+ std::string MULTU_DSP_(uint64 instruction, Dis_info *info);
+ std::string MULU(uint64 instruction, Dis_info *info);
+ std::string NEG_D(uint64 instruction, Dis_info *info);
+ std::string NEG_S(uint64 instruction, Dis_info *info);
+ std::string NOP_16_(uint64 instruction, Dis_info *info);
+ std::string NOP_32_(uint64 instruction, Dis_info *info);
+ std::string NOR(uint64 instruction, Dis_info *info);
+ std::string NOT_16_(uint64 instruction, Dis_info *info);
+ std::string OR_16_(uint64 instruction, Dis_info *info);
+ std::string OR_32_(uint64 instruction, Dis_info *info);
+ std::string ORI(uint64 instruction, Dis_info *info);
+ std::string PACKRL_PH(uint64 instruction, Dis_info *info);
+ std::string PAUSE(uint64 instruction, Dis_info *info);
+ std::string PICK_PH(uint64 instruction, Dis_info *info);
+ std::string PICK_QB(uint64 instruction, Dis_info *info);
+ std::string PRECEQ_W_PHL(uint64 instruction, Dis_info *info);
+ std::string PRECEQ_W_PHR(uint64 instruction, Dis_info *info);
+ std::string PRECEQU_PH_QBL(uint64 instruction, Dis_info *info);
+ std::string PRECEQU_PH_QBLA(uint64 instruction, Dis_info *info);
+ std::string PRECEQU_PH_QBR(uint64 instruction, Dis_info *info);
+ std::string PRECEQU_PH_QBRA(uint64 instruction, Dis_info *info);
+ std::string PRECEU_PH_QBL(uint64 instruction, Dis_info *info);
+ std::string PRECEU_PH_QBLA(uint64 instruction, Dis_info *info);
+ std::string PRECEU_PH_QBR(uint64 instruction, Dis_info *info);
+ std::string PRECEU_PH_QBRA(uint64 instruction, Dis_info *info);
+ std::string PRECR_QB_PH(uint64 instruction, Dis_info *info);
+ std::string PRECR_SRA_PH_W(uint64 instruction, Dis_info *info);
+ std::string PRECR_SRA_R_PH_W(uint64 instruction, Dis_info *info);
+ std::string PRECRQ_PH_W(uint64 instruction, Dis_info *info);
+ std::string PRECRQ_QB_PH(uint64 instruction, Dis_info *info);
+ std::string PRECRQ_RS_PH_W(uint64 instruction, Dis_info *info);
+ std::string PRECRQU_S_QB_PH(uint64 instruction, Dis_info *info);
+ std::string PREF_S9_(uint64 instruction, Dis_info *info);
+ std::string PREF_U12_(uint64 instruction, Dis_info *info);
+ std::string PREFE(uint64 instruction, Dis_info *info);
+ std::string PREPEND(uint64 instruction, Dis_info *info);
+ std::string RADDU_W_QB(uint64 instruction, Dis_info *info);
+ std::string RDDSP(uint64 instruction, Dis_info *info);
+ std::string RDHWR(uint64 instruction, Dis_info *info);
+ std::string RDPGPR(uint64 instruction, Dis_info *info);
+ std::string RECIP_D(uint64 instruction, Dis_info *info);
+ std::string RECIP_S(uint64 instruction, Dis_info *info);
+ std::string REPL_PH(uint64 instruction, Dis_info *info);
+ std::string REPL_QB(uint64 instruction, Dis_info *info);
+ std::string REPLV_PH(uint64 instruction, Dis_info *info);
+ std::string REPLV_QB(uint64 instruction, Dis_info *info);
+ std::string RESTORE_32_(uint64 instruction, Dis_info *info);
+ std::string RESTORE_JRC_16_(uint64 instruction, Dis_info *info);
+ std::string RESTORE_JRC_32_(uint64 instruction, Dis_info *info);
+ std::string RESTOREF(uint64 instruction, Dis_info *info);
+ std::string RINT_D(uint64 instruction, Dis_info *info);
+ std::string RINT_S(uint64 instruction, Dis_info *info);
+ std::string ROTR(uint64 instruction, Dis_info *info);
+ std::string ROTRV(uint64 instruction, Dis_info *info);
+ std::string ROTX(uint64 instruction, Dis_info *info);
+ std::string ROUND_L_D(uint64 instruction, Dis_info *info);
+ std::string ROUND_L_S(uint64 instruction, Dis_info *info);
+ std::string ROUND_W_D(uint64 instruction, Dis_info *info);
+ std::string ROUND_W_S(uint64 instruction, Dis_info *info);
+ std::string RSQRT_D(uint64 instruction, Dis_info *info);
+ std::string RSQRT_S(uint64 instruction, Dis_info *info);
+ std::string SAVE_16_(uint64 instruction, Dis_info *info);
+ std::string SAVE_32_(uint64 instruction, Dis_info *info);
+ std::string SAVEF(uint64 instruction, Dis_info *info);
+ std::string SB_16_(uint64 instruction, Dis_info *info);
+ std::string SB_GP_(uint64 instruction, Dis_info *info);
+ std::string SB_S9_(uint64 instruction, Dis_info *info);
+ std::string SB_U12_(uint64 instruction, Dis_info *info);
+ std::string SBE(uint64 instruction, Dis_info *info);
+ std::string SBX(uint64 instruction, Dis_info *info);
+ std::string SC(uint64 instruction, Dis_info *info);
+ std::string SCD(uint64 instruction, Dis_info *info);
+ std::string SCDP(uint64 instruction, Dis_info *info);
+ std::string SCE(uint64 instruction, Dis_info *info);
+ std::string SCWP(uint64 instruction, Dis_info *info);
+ std::string SCWPE(uint64 instruction, Dis_info *info);
+ std::string SD_GP_(uint64 instruction, Dis_info *info);
+ std::string SD_S9_(uint64 instruction, Dis_info *info);
+ std::string SD_U12_(uint64 instruction, Dis_info *info);
+ std::string SDBBP_16_(uint64 instruction, Dis_info *info);
+ std::string SDBBP_32_(uint64 instruction, Dis_info *info);
+ std::string SDC1_GP_(uint64 instruction, Dis_info *info);
+ std::string SDC1_S9_(uint64 instruction, Dis_info *info);
+ std::string SDC1_U12_(uint64 instruction, Dis_info *info);
+ std::string SDC1X(uint64 instruction, Dis_info *info);
+ std::string SDC1XS(uint64 instruction, Dis_info *info);
+ std::string SDC2(uint64 instruction, Dis_info *info);
+ std::string SDM(uint64 instruction, Dis_info *info);
+ std::string SDPC_48_(uint64 instruction, Dis_info *info);
+ std::string SDX(uint64 instruction, Dis_info *info);
+ std::string SDXS(uint64 instruction, Dis_info *info);
+ std::string SEB(uint64 instruction, Dis_info *info);
+ std::string SEH(uint64 instruction, Dis_info *info);
+ std::string SEL_D(uint64 instruction, Dis_info *info);
+ std::string SEL_S(uint64 instruction, Dis_info *info);
+ std::string SELEQZ_D(uint64 instruction, Dis_info *info);
+ std::string SELEQZ_S(uint64 instruction, Dis_info *info);
+ std::string SELNEZ_D(uint64 instruction, Dis_info *info);
+ std::string SELNEZ_S(uint64 instruction, Dis_info *info);
+ std::string SEQI(uint64 instruction, Dis_info *info);
+ std::string SH_16_(uint64 instruction, Dis_info *info);
+ std::string SH_GP_(uint64 instruction, Dis_info *info);
+ std::string SH_S9_(uint64 instruction, Dis_info *info);
+ std::string SH_U12_(uint64 instruction, Dis_info *info);
+ std::string SHE(uint64 instruction, Dis_info *info);
+ std::string SHILO(uint64 instruction, Dis_info *info);
+ std::string SHILOV(uint64 instruction, Dis_info *info);
+ std::string SHLL_PH(uint64 instruction, Dis_info *info);
+ std::string SHLL_QB(uint64 instruction, Dis_info *info);
+ std::string SHLL_S_PH(uint64 instruction, Dis_info *info);
+ std::string SHLL_S_W(uint64 instruction, Dis_info *info);
+ std::string SHLLV_PH(uint64 instruction, Dis_info *info);
+ std::string SHLLV_QB(uint64 instruction, Dis_info *info);
+ std::string SHLLV_S_PH(uint64 instruction, Dis_info *info);
+ std::string SHLLV_S_W(uint64 instruction, Dis_info *info);
+ std::string SHRA_PH(uint64 instruction, Dis_info *info);
+ std::string SHRA_QB(uint64 instruction, Dis_info *info);
+ std::string SHRA_R_PH(uint64 instruction, Dis_info *info);
+ std::string SHRA_R_QB(uint64 instruction, Dis_info *info);
+ std::string SHRA_R_W(uint64 instruction, Dis_info *info);
+ std::string SHRAV_PH(uint64 instruction, Dis_info *info);
+ std::string SHRAV_QB(uint64 instruction, Dis_info *info);
+ std::string SHRAV_R_PH(uint64 instruction, Dis_info *info);
+ std::string SHRAV_R_QB(uint64 instruction, Dis_info *info);
+ std::string SHRAV_R_W(uint64 instruction, Dis_info *info);
+ std::string SHRL_PH(uint64 instruction, Dis_info *info);
+ std::string SHRL_QB(uint64 instruction, Dis_info *info);
+ std::string SHRLV_PH(uint64 instruction, Dis_info *info);
+ std::string SHRLV_QB(uint64 instruction, Dis_info *info);
+ std::string SHX(uint64 instruction, Dis_info *info);
+ std::string SHXS(uint64 instruction, Dis_info *info);
+ std::string SIGRIE(uint64 instruction, Dis_info *info);
+ std::string SLL_16_(uint64 instruction, Dis_info *info);
+ std::string SLL_32_(uint64 instruction, Dis_info *info);
+ std::string SLLV(uint64 instruction, Dis_info *info);
+ std::string SLT(uint64 instruction, Dis_info *info);
+ std::string SLTI(uint64 instruction, Dis_info *info);
+ std::string SLTIU(uint64 instruction, Dis_info *info);
+ std::string SLTU(uint64 instruction, Dis_info *info);
+ std::string SOV(uint64 instruction, Dis_info *info);
+ std::string SPECIAL2(uint64 instruction, Dis_info *info);
+ std::string SQRT_D(uint64 instruction, Dis_info *info);
+ std::string SQRT_S(uint64 instruction, Dis_info *info);
+ std::string SRA(uint64 instruction, Dis_info *info);
+ std::string SRAV(uint64 instruction, Dis_info *info);
+ std::string SRL_16_(uint64 instruction, Dis_info *info);
+ std::string SRL_32_(uint64 instruction, Dis_info *info);
+ std::string SRLV(uint64 instruction, Dis_info *info);
+ std::string SUB(uint64 instruction, Dis_info *info);
+ std::string SUB_D(uint64 instruction, Dis_info *info);
+ std::string SUB_S(uint64 instruction, Dis_info *info);
+ std::string SUBQ_PH(uint64 instruction, Dis_info *info);
+ std::string SUBQ_S_PH(uint64 instruction, Dis_info *info);
+ std::string SUBQ_S_W(uint64 instruction, Dis_info *info);
+ std::string SUBQH_PH(uint64 instruction, Dis_info *info);
+ std::string SUBQH_R_PH(uint64 instruction, Dis_info *info);
+ std::string SUBQH_R_W(uint64 instruction, Dis_info *info);
+ std::string SUBQH_W(uint64 instruction, Dis_info *info);
+ std::string SUBU_16_(uint64 instruction, Dis_info *info);
+ std::string SUBU_32_(uint64 instruction, Dis_info *info);
+ std::string SUBU_PH(uint64 instruction, Dis_info *info);
+ std::string SUBU_QB(uint64 instruction, Dis_info *info);
+ std::string SUBU_S_PH(uint64 instruction, Dis_info *info);
+ std::string SUBU_S_QB(uint64 instruction, Dis_info *info);
+ std::string SUBUH_QB(uint64 instruction, Dis_info *info);
+ std::string SUBUH_R_QB(uint64 instruction, Dis_info *info);
+ std::string SW_16_(uint64 instruction, Dis_info *info);
+ std::string SW_4X4_(uint64 instruction, Dis_info *info);
+ std::string SW_GP16_(uint64 instruction, Dis_info *info);
+ std::string SW_GP_(uint64 instruction, Dis_info *info);
+ std::string SW_S9_(uint64 instruction, Dis_info *info);
+ std::string SW_SP_(uint64 instruction, Dis_info *info);
+ std::string SW_U12_(uint64 instruction, Dis_info *info);
+ std::string SWC1_GP_(uint64 instruction, Dis_info *info);
+ std::string SWC1_S9_(uint64 instruction, Dis_info *info);
+ std::string SWC1_U12_(uint64 instruction, Dis_info *info);
+ std::string SWC1X(uint64 instruction, Dis_info *info);
+ std::string SWC1XS(uint64 instruction, Dis_info *info);
+ std::string SWC2(uint64 instruction, Dis_info *info);
+ std::string SWE(uint64 instruction, Dis_info *info);
+ std::string SWM(uint64 instruction, Dis_info *info);
+ std::string SWPC_48_(uint64 instruction, Dis_info *info);
+ std::string SWX(uint64 instruction, Dis_info *info);
+ std::string SWXS(uint64 instruction, Dis_info *info);
+ std::string SYNC(uint64 instruction, Dis_info *info);
+ std::string SYNCI(uint64 instruction, Dis_info *info);
+ std::string SYNCIE(uint64 instruction, Dis_info *info);
+ std::string SYSCALL_16_(uint64 instruction, Dis_info *info);
+ std::string SYSCALL_32_(uint64 instruction, Dis_info *info);
+ std::string TEQ(uint64 instruction, Dis_info *info);
+ std::string TLBGINV(uint64 instruction, Dis_info *info);
+ std::string TLBGINVF(uint64 instruction, Dis_info *info);
+ std::string TLBGP(uint64 instruction, Dis_info *info);
+ std::string TLBGR(uint64 instruction, Dis_info *info);
+ std::string TLBGWI(uint64 instruction, Dis_info *info);
+ std::string TLBGWR(uint64 instruction, Dis_info *info);
+ std::string TLBINV(uint64 instruction, Dis_info *info);
+ std::string TLBINVF(uint64 instruction, Dis_info *info);
+ std::string TLBP(uint64 instruction, Dis_info *info);
+ std::string TLBR(uint64 instruction, Dis_info *info);
+ std::string TLBWI(uint64 instruction, Dis_info *info);
+ std::string TLBWR(uint64 instruction, Dis_info *info);
+ std::string TNE(uint64 instruction, Dis_info *info);
+ std::string TRUNC_L_D(uint64 instruction, Dis_info *info);
+ std::string TRUNC_L_S(uint64 instruction, Dis_info *info);
+ std::string TRUNC_W_D(uint64 instruction, Dis_info *info);
+ std::string TRUNC_W_S(uint64 instruction, Dis_info *info);
+ std::string UALDM(uint64 instruction, Dis_info *info);
+ std::string UALH(uint64 instruction, Dis_info *info);
+ std::string UALWM(uint64 instruction, Dis_info *info);
+ std::string UASDM(uint64 instruction, Dis_info *info);
+ std::string UASH(uint64 instruction, Dis_info *info);
+ std::string UASWM(uint64 instruction, Dis_info *info);
+ std::string UDI(uint64 instruction, Dis_info *info);
+ std::string WAIT(uint64 instruction, Dis_info *info);
+ std::string WRDSP(uint64 instruction, Dis_info *info);
+ std::string WRPGPR(uint64 instruction, Dis_info *info);
+ std::string XOR_16_(uint64 instruction, Dis_info *info);
+ std::string XOR_32_(uint64 instruction, Dis_info *info);
+ std::string XORI(uint64 instruction, Dis_info *info);
+ std::string YIELD(uint64 instruction, Dis_info *info);
static Pool P_SYSCALL[2];
static Pool P_RI[4];