• Home
  • Raw
  • Download

Lines Matching refs:instr

164                                          RegFile dst_reg_file, const uint8_t** instr,  in DumpAddress()  argument
169 *address_bits = *reinterpret_cast<const uint32_t*>(*instr); in DumpAddress()
172 address << StringPrintf("[RIP + 0x%x]", *reinterpret_cast<const uint32_t*>(*instr)); in DumpAddress()
174 (*instr) += 4; in DumpAddress()
176 uint8_t sib = **instr; in DumpAddress()
177 (*instr)++; in DumpAddress()
209 address << StringPrintf(" + %d", *reinterpret_cast<const int32_t*>(*instr)); in DumpAddress()
212 *address_bits = *reinterpret_cast<const uint32_t*>(*instr); in DumpAddress()
215 (*instr) += 4; in DumpAddress()
218 address << StringPrintf(" + %d", *reinterpret_cast<const int8_t*>(*instr)); in DumpAddress()
219 (*instr)++; in DumpAddress()
221 address << StringPrintf(" + %d", *reinterpret_cast<const int32_t*>(*instr)); in DumpAddress()
222 (*instr) += 4; in DumpAddress()
235 address << StringPrintf(" + %d", *reinterpret_cast<const int8_t*>(*instr)); in DumpAddress()
236 (*instr)++; in DumpAddress()
238 address << StringPrintf(" + %d", *reinterpret_cast<const int32_t*>(*instr)); in DumpAddress()
239 (*instr) += 4; in DumpAddress()
247 size_t DisassemblerX86::DumpNops(std::ostream& os, const uint8_t* instr) { in DumpNops() argument
263 if (memcmp(instr, kNops[i], i) == 0) { in DumpNops()
264 os << FormatInstructionPointer(instr) in DumpNops()
265 << StringPrintf(": %22s \t nop \n", DumpCodeHex(instr, instr + i).c_str()); in DumpNops()
273 size_t DisassemblerX86::DumpInstruction(std::ostream& os, const uint8_t* instr) { in DumpInstruction() argument
274 size_t nop_size = DumpNops(os, instr); in DumpInstruction()
279 const uint8_t* begin_instr = instr; in DumpInstruction()
283 switch (*instr) { in DumpInstruction()
288 prefix[0] = *instr; in DumpInstruction()
297 prefix[1] = *instr; in DumpInstruction()
301 prefix[2] = *instr; in DumpInstruction()
305 prefix[3] = *instr; in DumpInstruction()
312 instr++; in DumpInstruction()
315 uint8_t rex = (supports_rex_ && (*instr >= 0x40) && (*instr <= 0x4F)) ? *instr : 0; in DumpInstruction()
317 instr++; in DumpInstruction()
343 switch (*instr) { in DumpInstruction()
407 opcode_tmp = StringPrintf("unknown opcode '%02X'", *instr); in DumpInstruction()
422 opcode2 = condition_codes[*instr & 0xF]; in DumpInstruction()
429 byte_operand = (*instr == 0x86); in DumpInstruction()
438 instr++; in DumpInstruction()
439 switch (*instr) { in DumpInstruction()
455 load = *instr == 0x10; in DumpInstruction()
467 load = *instr == 0x12; in DumpInstruction()
479 load = *instr == 0x16; in DumpInstruction()
491 load = *instr == 0x28; in DumpInstruction()
560 instr++; in DumpInstruction()
562 switch (*instr) { in DumpInstruction()
655 opcode_tmp = StringPrintf("unknown opcode '0F 38 %02X'", *instr); in DumpInstruction()
659 opcode_tmp = StringPrintf("unknown opcode '0F 38 %02X'", *instr); in DumpInstruction()
664 instr++; in DumpInstruction()
666 switch (*instr) { in DumpInstruction()
710 opcode_tmp = StringPrintf("unknown opcode '0F 3A %02X'", *instr); in DumpInstruction()
714 opcode_tmp = StringPrintf("unknown opcode '0F 3A %02X'", *instr); in DumpInstruction()
721 opcode2 = condition_codes[*instr & 0xF]; in DumpInstruction()
727 switch (*instr) { in DumpInstruction()
802 switch (*instr) { in DumpInstruction()
824 switch (*instr) { in DumpInstruction()
876 opcode_tmp = StringPrintf("unknown opcode '0F %02X'", *instr); in DumpInstruction()
937 switch (*instr) { in DumpInstruction()
954 opcode_tmp = StringPrintf("unknown opcode '0F %02X'", *instr); in DumpInstruction()
992 opcode2 = condition_codes[*instr & 0xF]; in DumpInstruction()
998 opcode2 = condition_codes[*instr & 0xF]; in DumpInstruction()
1037 uint8_t reg_or_opcode = (instr[1] >> 3) & 7; in DumpInstruction()
1132 opcode_tmp = StringPrintf("unknown opcode '0F %02X'", *instr); in DumpInstruction()
1193 opcode_tmp = StringPrintf("unknown opcode '0F %02X'", *instr); in DumpInstruction()
1217 switch (*instr) { in DumpInstruction()
1276 switch (*instr) { in DumpInstruction()
1292 opcode_tmp = StringPrintf("unknown opcode '0F %02X'", *instr); in DumpInstruction()
1303 byte_operand = (*instr & 1) == 0; in DumpInstruction()
1304 immediate_bytes = *instr == 0x81 ? 4 : 1; in DumpInstruction()
1310 byte_operand = (*instr & 1) == 0; in DumpInstruction()
1327 if (instr[1] == 0xDF && instr[2] == 0xE0) { in DumpInstruction()
1329 instr += 2; in DumpInstruction()
1331 opcode_tmp = StringPrintf("unknown opcode '%02X'", *instr); in DumpInstruction()
1370 immediate_bytes = ((*instr & 0xf0) == 0xc0) ? 1 : 0; in DumpInstruction()
1371 cx = (*instr == 0xD2) || (*instr == 0xD3); in DumpInstruction()
1372 byte_operand = (*instr == 0xC0); in DumpInstruction()
1398 if (instr[1] == 0xF8) { in DumpInstruction()
1400 instr++; in DumpInstruction()
1411 if (instr[1] == 0xE9) { in DumpInstruction()
1413 instr++; in DumpInstruction()
1415 opcode_tmp = StringPrintf("unknown opcode '%02X'", *instr); in DumpInstruction()
1460 immediate_bytes = ((instr[1] & 0x38) == 0) ? (instr[0] == 0xF7 ? 4 : 1) : 0; in DumpInstruction()
1471 const uint8_t opcode_digit = (instr[1] >> 3) & 7; in DumpInstruction()
1479 opcode_tmp = StringPrintf("unknown opcode '%02X'", *instr); in DumpInstruction()
1491 DumpOpcodeReg(args, rex_w, *instr & 0x7, byte_operand, prefix[2]); in DumpInstruction()
1493 instr++; in DumpInstruction()
1496 uint8_t modrm = *instr; in DumpInstruction()
1497 instr++; in DumpInstruction()
1503 &instr, &address_bits); in DumpInstruction()
1548 args << StringPrintf("%d", *reinterpret_cast<const int8_t*>(instr)); in DumpInstruction()
1549 instr++; in DumpInstruction()
1552 args << StringPrintf("%d", *reinterpret_cast<const int16_t*>(instr)); in DumpInstruction()
1553 instr += 2; in DumpInstruction()
1555 args << StringPrintf("%d", *reinterpret_cast<const int32_t*>(instr)); in DumpInstruction()
1556 instr += 4; in DumpInstruction()
1560 args << StringPrintf("%" PRId64, *reinterpret_cast<const int64_t*>(instr)); in DumpInstruction()
1561 instr += 8; in DumpInstruction()
1567 displacement = *reinterpret_cast<const int8_t*>(instr); in DumpInstruction()
1568 instr++; in DumpInstruction()
1571 displacement = *reinterpret_cast<const int32_t*>(instr); in DumpInstruction()
1572 instr += 4; in DumpInstruction()
1575 << FormatInstructionPointer(instr + displacement) in DumpInstruction()
1595 << StringPrintf(": %22s \t%-7s%s%s%s%s%s ", DumpCodeHex(begin_instr, instr).c_str(), in DumpInstruction()
1598 return instr - begin_instr; in DumpInstruction()