Lines Matching full:data
299 static void get_modrm(byte data, int* mod, int* regop, int* rm) { in get_modrm() argument
300 *mod = (data >> 6) & 3; in get_modrm()
301 *regop = (data & 0x38) >> 3; in get_modrm()
302 *rm = data & 7; in get_modrm()
306 static void get_sib(byte data, int* scale, int* index, int* base) { in get_sib() argument
307 *scale = (data >> 6) & 3; in get_sib()
308 *index = (data >> 3) & 7; in get_sib()
309 *base = data & 7; in get_sib()
318 int PrintOperands(const char* mnem, OperandOrder op_order, byte* data);
319 int PrintImmediateOp(byte* data);
320 int F7Instruction(byte* data);
321 int D1D3C1Instruction(byte* data);
322 int JumpShort(byte* data);
323 int JumpConditional(byte* data, const char* comment);
324 int JumpConditionalShort(byte* data, const char* comment);
325 int SetCC(byte* data);
326 int CMov(byte* data);
327 int FPUInstruction(byte* data);
456 // Returns number of bytes used including the current *data.
460 byte* data) { in PrintOperands() argument
461 byte modrm = *data; in PrintOperands()
468 advance = PrintRightOperand(data); in PrintOperands()
473 advance = PrintRightOperand(data); in PrintOperands()
485 // Returns number of bytes used by machine instruction, including *data byte.
487 int DisassemblerX87::PrintImmediateOp(byte* data) { in PrintImmediateOp() argument
488 bool sign_extension_bit = (*data & 0x02) != 0; in PrintImmediateOp()
489 byte modrm = *(data+1); in PrintImmediateOp()
504 int count = PrintRightOperand(data+1); in PrintImmediateOp()
506 AppendToBuffer(",0x%x", *(data + 1 + count)); in PrintImmediateOp()
509 AppendToBuffer(",0x%x", *reinterpret_cast<int32_t*>(data + 1 + count)); in PrintImmediateOp()
515 // Returns number of bytes used, including *data.
516 int DisassemblerX87::F7Instruction(byte* data) { in F7Instruction() argument
517 DCHECK_EQ(0xF7, *data); in F7Instruction()
518 byte modrm = *++data; in F7Instruction()
548 int count = PrintRightOperand(data); in F7Instruction()
550 AppendToBuffer(",0x%x", *reinterpret_cast<int32_t*>(data + count)); in F7Instruction()
557 int DisassemblerX87::D1D3C1Instruction(byte* data) { in D1D3C1Instruction() argument
558 byte op = *data; in D1D3C1Instruction()
560 byte modrm = *++data; in D1D3C1Instruction()
591 int count = PrintRightOperand(data); in D1D3C1Instruction()
595 imm8 = *(data + 1); in D1D3C1Instruction()
609 // Returns number of bytes used, including *data.
610 int DisassemblerX87::JumpShort(byte* data) { in JumpShort() argument
611 DCHECK_EQ(0xEB, *data); in JumpShort()
612 byte b = *(data+1); in JumpShort()
613 byte* dest = data + static_cast<int8_t>(b) + 2; in JumpShort()
619 // Returns number of bytes used, including *data.
620 int DisassemblerX87::JumpConditional(byte* data, const char* comment) { in JumpConditional() argument
621 DCHECK_EQ(0x0F, *data); in JumpConditional()
622 byte cond = *(data+1) & 0x0F; in JumpConditional()
623 byte* dest = data + *reinterpret_cast<int32_t*>(data+2) + 6; in JumpConditional()
633 // Returns number of bytes used, including *data.
634 int DisassemblerX87::JumpConditionalShort(byte* data, const char* comment) { in JumpConditionalShort() argument
635 byte cond = *data & 0x0F; in JumpConditionalShort()
636 byte b = *(data+1); in JumpConditionalShort()
637 byte* dest = data + static_cast<int8_t>(b) + 2; in JumpConditionalShort()
647 // Returns number of bytes used, including *data.
648 int DisassemblerX87::SetCC(byte* data) { in SetCC() argument
649 DCHECK_EQ(0x0F, *data); in SetCC()
650 byte cond = *(data+1) & 0x0F; in SetCC()
653 PrintRightByteOperand(data+2); in SetCC()
658 // Returns number of bytes used, including *data.
659 int DisassemblerX87::CMov(byte* data) { in CMov() argument
660 DCHECK_EQ(0x0F, *data); in CMov()
661 byte cond = *(data + 1) & 0x0F; in CMov()
663 int op_size = PrintOperands(mnem, REG_OPER_OP_ORDER, data + 2); in CMov()
668 // Returns number of bytes used, including *data.
669 int DisassemblerX87::FPUInstruction(byte* data) { in FPUInstruction() argument
670 byte escape_opcode = *data; in FPUInstruction()
672 byte modrm_byte = *(data+1); in FPUInstruction()
677 return MemoryFPUInstruction(escape_opcode, modrm_byte, data+1); in FPUInstruction()
940 byte* data = instr; in InstructionDecode() local
944 if (*data == 0x3E /*ds*/) { in InstructionDecode()
946 data++; in InstructionDecode()
947 } else if (*data == 0x2E /*cs*/) { in InstructionDecode()
949 data++; in InstructionDecode()
950 } else if (*data == 0xF0 /*lock*/) { in InstructionDecode()
952 data++; in InstructionDecode()
957 const InstructionDesc& idesc = instruction_table_->Get(*data); in InstructionDecode()
961 data++; in InstructionDecode()
965 data++; in InstructionDecode()
966 data += PrintOperands(idesc.mnem, idesc.op_order_, data); in InstructionDecode()
970 data += JumpConditionalShort(data, branch_hint); in InstructionDecode()
974 AppendToBuffer("%s %s", idesc.mnem, NameOfCPURegister(*data & 0x07)); in InstructionDecode()
975 data++; in InstructionDecode()
979 byte* addr = reinterpret_cast<byte*>(*reinterpret_cast<int32_t*>(data+1)); in InstructionDecode()
981 NameOfCPURegister(*data & 0x07), in InstructionDecode()
983 data += 5; in InstructionDecode()
988 byte* addr = data + *reinterpret_cast<int32_t*>(data+1) + 5; in InstructionDecode()
990 data += 5; in InstructionDecode()
995 byte* addr = reinterpret_cast<byte*>(*reinterpret_cast<int32_t*>(data+1)); in InstructionDecode()
997 data += 5; in InstructionDecode()
1002 AppendToBuffer("%s al,0x%x", idesc.mnem, data[1]); in InstructionDecode()
1003 data += 2; in InstructionDecode()
1016 switch (*data) { in InstructionDecode()
1018 AppendToBuffer("ret 0x%x", *reinterpret_cast<uint16_t*>(data+1)); in InstructionDecode()
1019 data += 3; in InstructionDecode()
1023 data++; in InstructionDecode()
1024 data += PrintOperands("imul", REG_OPER_OP_ORDER, data); in InstructionDecode()
1025 AppendToBuffer(",%d", *data); in InstructionDecode()
1026 data++; in InstructionDecode()
1030 data++; in InstructionDecode()
1031 data += PrintOperands("imul", REG_OPER_OP_ORDER, data); in InstructionDecode()
1032 AppendToBuffer(",%d", *reinterpret_cast<int32_t*>(data)); in InstructionDecode()
1033 data += 4; in InstructionDecode()
1038 { data++; in InstructionDecode()
1040 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1043 data += PrintRightByteOperand(data); in InstructionDecode()
1044 int32_t imm = *data; in InstructionDecode()
1046 data++; in InstructionDecode()
1055 data += PrintImmediateOp(data); in InstructionDecode()
1059 { byte f0byte = data[1]; in InstructionDecode()
1062 data += 2; in InstructionDecode()
1064 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1067 data += PrintRightOperand(data); in InstructionDecode()
1068 } else if (f0byte == 0x1F && data[2] == 0) { in InstructionDecode()
1070 data += 3; in InstructionDecode()
1071 } else if (f0byte == 0x1F && data[2] == 0x40 && data[3] == 0) { in InstructionDecode()
1073 data += 4; in InstructionDecode()
1074 } else if (f0byte == 0x1F && data[2] == 0x44 && data[3] == 0 && in InstructionDecode()
1075 data[4] == 0) { in InstructionDecode()
1077 data += 5; in InstructionDecode()
1078 } else if (f0byte == 0x1F && data[2] == 0x80 && data[3] == 0 && in InstructionDecode()
1079 data[4] == 0 && data[5] == 0 && data[6] == 0) { in InstructionDecode()
1081 data += 7; in InstructionDecode()
1082 } else if (f0byte == 0x1F && data[2] == 0x84 && data[3] == 0 && in InstructionDecode()
1083 data[4] == 0 && data[5] == 0 && data[6] == 0 && in InstructionDecode()
1084 data[7] == 0) { in InstructionDecode()
1086 data += 8; in InstructionDecode()
1089 data += 2; in InstructionDecode()
1091 data += 2; in InstructionDecode()
1093 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1097 data++; in InstructionDecode()
1115 data += 2; in InstructionDecode()
1117 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1121 data += PrintRightXMMOperand(data); in InstructionDecode()
1123 data += 2; in InstructionDecode()
1125 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1129 data++; in InstructionDecode()
1132 data += 2; in InstructionDecode()
1134 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1135 int8_t imm8 = static_cast<int8_t>(data[1]); in InstructionDecode()
1140 data += 2; in InstructionDecode()
1142 data += JumpConditional(data, branch_hint); in InstructionDecode()
1145 data += 2; in InstructionDecode()
1146 data += PrintOperands(f0mnem, REG_OPER_OP_ORDER, data); in InstructionDecode()
1148 data += SetCC(data); in InstructionDecode()
1150 data += CMov(data); in InstructionDecode()
1153 data += 2; in InstructionDecode()
1156 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1157 int8_t imm8 = static_cast<int8_t>(data[1]); in InstructionDecode()
1158 data += 2; in InstructionDecode()
1163 data += 2; in InstructionDecode()
1166 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1167 data += PrintRightOperand(data); in InstructionDecode()
1175 data += 2; in InstructionDecode()
1178 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1179 data += PrintRightOperand(data); in InstructionDecode()
1183 data += 2; in InstructionDecode()
1184 data += PrintOperands(f0mnem, OPER_REG_OP_ORDER, data); in InstructionDecode()
1186 data += 2; in InstructionDecode()
1188 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1190 data += PrintRightOperand(data); in InstructionDecode()
1192 data += 2; in InstructionDecode()
1194 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1196 data += PrintRightOperand(data); in InstructionDecode()
1204 { data++; in InstructionDecode()
1206 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1209 data += PrintRightOperand(data); in InstructionDecode()
1215 { data++; in InstructionDecode()
1217 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1228 data += PrintRightOperand(data); in InstructionDecode()
1234 { bool is_byte = *data == 0xC6; in InstructionDecode()
1235 data++; in InstructionDecode()
1238 data += PrintRightByteOperand(data); in InstructionDecode()
1239 int32_t imm = *data; in InstructionDecode()
1241 data++; in InstructionDecode()
1244 data += PrintRightOperand(data); in InstructionDecode()
1245 int32_t imm = *reinterpret_cast<int32_t*>(data); in InstructionDecode()
1247 data += 4; in InstructionDecode()
1253 { data++; in InstructionDecode()
1255 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1263 data += PrintRightByteOperand(data); in InstructionDecode()
1264 int32_t imm = *data; in InstructionDecode()
1266 data++; in InstructionDecode()
1272 { bool is_byte = *data == 0x88; in InstructionDecode()
1274 data++; in InstructionDecode()
1275 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1278 data += PrintRightByteOperand(data); in InstructionDecode()
1282 data += PrintRightOperand(data); in InstructionDecode()
1289 while (*data == 0x66) data++; in InstructionDecode()
1290 if (*data == 0xf && data[1] == 0x1f) { in InstructionDecode()
1292 } else if (*data == 0x39) { in InstructionDecode()
1293 data++; in InstructionDecode()
1294 data += PrintOperands("cmpw", OPER_REG_OP_ORDER, data); in InstructionDecode()
1295 } else if (*data == 0x3B) { in InstructionDecode()
1296 data++; in InstructionDecode()
1297 data += PrintOperands("cmpw", REG_OPER_OP_ORDER, data); in InstructionDecode()
1298 } else if (*data == 0x81) { in InstructionDecode()
1299 data++; in InstructionDecode()
1301 data += PrintRightOperand(data); in InstructionDecode()
1302 int imm = *reinterpret_cast<int16_t*>(data); in InstructionDecode()
1304 data += 2; in InstructionDecode()
1305 } else if (*data == 0x87) { in InstructionDecode()
1306 data++; in InstructionDecode()
1308 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1310 data += PrintRightOperand(data); in InstructionDecode()
1311 } else if (*data == 0x89) { in InstructionDecode()
1312 data++; in InstructionDecode()
1314 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1316 data += PrintRightOperand(data); in InstructionDecode()
1318 } else if (*data == 0x8B) { in InstructionDecode()
1319 data++; in InstructionDecode()
1320 data += PrintOperands("mov_w", REG_OPER_OP_ORDER, data); in InstructionDecode()
1321 } else if (*data == 0x90) { in InstructionDecode()
1323 } else if (*data == 0xC7) { in InstructionDecode()
1324 data++; in InstructionDecode()
1326 data += PrintRightOperand(data); in InstructionDecode()
1327 int imm = *reinterpret_cast<int16_t*>(data); in InstructionDecode()
1329 data += 2; in InstructionDecode()
1330 } else if (*data == 0xF7) { in InstructionDecode()
1331 data++; in InstructionDecode()
1333 data += PrintRightOperand(data); in InstructionDecode()
1334 int imm = *reinterpret_cast<int16_t*>(data); in InstructionDecode()
1336 data += 2; in InstructionDecode()
1337 } else if (*data == 0x0F) { in InstructionDecode()
1338 data++; in InstructionDecode()
1339 if (*data == 0x38) { in InstructionDecode()
1340 data++; in InstructionDecode()
1341 if (*data == 0x17) { in InstructionDecode()
1342 data++; in InstructionDecode()
1344 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1348 data++; in InstructionDecode()
1349 } else if (*data == 0x2A) { in InstructionDecode()
1355 } else if (*data == 0x3A) { in InstructionDecode()
1356 data++; in InstructionDecode()
1357 if (*data == 0x0B) { in InstructionDecode()
1358 data++; in InstructionDecode()
1360 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1361 int8_t imm8 = static_cast<int8_t>(data[1]); in InstructionDecode()
1366 data += 2; in InstructionDecode()
1367 } else if (*data == 0x16) { in InstructionDecode()
1368 data++; in InstructionDecode()
1370 get_modrm(*data, &mod, &rm, ®op); in InstructionDecode()
1371 int8_t imm8 = static_cast<int8_t>(data[1]); in InstructionDecode()
1376 data += 2; in InstructionDecode()
1377 } else if (*data == 0x17) { in InstructionDecode()
1378 data++; in InstructionDecode()
1380 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1381 int8_t imm8 = static_cast<int8_t>(data[1]); in InstructionDecode()
1386 data += 2; in InstructionDecode()
1387 } else if (*data == 0x22) { in InstructionDecode()
1388 data++; in InstructionDecode()
1390 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1391 int8_t imm8 = static_cast<int8_t>(data[1]); in InstructionDecode()
1396 data += 2; in InstructionDecode()
1400 } else if (*data == 0x2E || *data == 0x2F) { in InstructionDecode()
1401 const char* mnem = (*data == 0x2E) ? "ucomisd" : "comisd"; in InstructionDecode()
1402 data++; in InstructionDecode()
1404 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1409 data++; in InstructionDecode()
1412 data += PrintRightOperand(data); in InstructionDecode()
1414 } else if (*data == 0x50) { in InstructionDecode()
1415 data++; in InstructionDecode()
1417 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1421 data++; in InstructionDecode()
1422 } else if (*data == 0x54) { in InstructionDecode()
1423 data++; in InstructionDecode()
1425 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1429 data++; in InstructionDecode()
1430 } else if (*data == 0x56) { in InstructionDecode()
1431 data++; in InstructionDecode()
1433 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1437 data++; in InstructionDecode()
1438 } else if (*data == 0x57) { in InstructionDecode()
1439 data++; in InstructionDecode()
1441 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1445 data++; in InstructionDecode()
1446 } else if (*data == 0x6E) { in InstructionDecode()
1447 data++; in InstructionDecode()
1449 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1451 data += PrintRightOperand(data); in InstructionDecode()
1452 } else if (*data == 0x6F) { in InstructionDecode()
1453 data++; in InstructionDecode()
1455 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1457 data += PrintRightXMMOperand(data); in InstructionDecode()
1458 } else if (*data == 0x70) { in InstructionDecode()
1459 data++; in InstructionDecode()
1461 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1462 int8_t imm8 = static_cast<int8_t>(data[1]); in InstructionDecode()
1467 data += 2; in InstructionDecode()
1468 } else if (*data == 0x76) { in InstructionDecode()
1469 data++; in InstructionDecode()
1471 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1475 data++; in InstructionDecode()
1476 } else if (*data == 0x90) { in InstructionDecode()
1477 data++; in InstructionDecode()
1479 } else if (*data == 0xF3) { in InstructionDecode()
1480 data++; in InstructionDecode()
1482 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1486 data++; in InstructionDecode()
1487 } else if (*data == 0x73) { in InstructionDecode()
1488 data++; in InstructionDecode()
1490 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1491 int8_t imm8 = static_cast<int8_t>(data[1]); in InstructionDecode()
1497 data += 2; in InstructionDecode()
1498 } else if (*data == 0xD3) { in InstructionDecode()
1499 data++; in InstructionDecode()
1501 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1505 data++; in InstructionDecode()
1506 } else if (*data == 0x7F) { in InstructionDecode()
1508 data++; in InstructionDecode()
1510 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1511 data += PrintRightXMMOperand(data); in InstructionDecode()
1513 } else if (*data == 0x7E) { in InstructionDecode()
1514 data++; in InstructionDecode()
1516 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1518 data += PrintRightOperand(data); in InstructionDecode()
1520 } else if (*data == 0xDB) { in InstructionDecode()
1521 data++; in InstructionDecode()
1523 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1527 data++; in InstructionDecode()
1528 } else if (*data == 0xE7) { in InstructionDecode()
1529 data++; in InstructionDecode()
1531 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1538 } else if (*data == 0xEF) { in InstructionDecode()
1539 data++; in InstructionDecode()
1541 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1545 data++; in InstructionDecode()
1546 } else if (*data == 0xEB) { in InstructionDecode()
1547 data++; in InstructionDecode()
1549 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1553 data++; in InstructionDecode()
1554 } else if (*data == 0xB1) { in InstructionDecode()
1555 data++; in InstructionDecode()
1556 data += PrintOperands("cmpxchg_w", OPER_REG_OP_ORDER, data); in InstructionDecode()
1566 { data++; in InstructionDecode()
1568 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1571 data += PrintRightOperand(data); in InstructionDecode()
1579 AppendToBuffer("push 0x%x", *reinterpret_cast<int32_t*>(data+1)); in InstructionDecode()
1580 data += 5; in InstructionDecode()
1584 AppendToBuffer("push 0x%x", *reinterpret_cast<int8_t*>(data + 1)); in InstructionDecode()
1585 data += 2; in InstructionDecode()
1589 AppendToBuffer("test al,0x%x", *reinterpret_cast<uint8_t*>(data+1)); in InstructionDecode()
1590 data += 2; in InstructionDecode()
1594 AppendToBuffer("test eax,0x%x", *reinterpret_cast<int32_t*>(data+1)); in InstructionDecode()
1595 data += 5; in InstructionDecode()
1601 data += D1D3C1Instruction(data); in InstructionDecode()
1612 data += FPUInstruction(data); in InstructionDecode()
1616 data += JumpShort(data); in InstructionDecode()
1620 if (*(data+1) == 0x0F) { in InstructionDecode()
1621 byte b2 = *(data+2); in InstructionDecode()
1624 data += 3; in InstructionDecode()
1626 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1627 data += PrintRightXMMOperand(data); in InstructionDecode()
1630 data += 3; in InstructionDecode()
1632 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1634 data += PrintRightXMMOperand(data); in InstructionDecode()
1636 data += 3; in InstructionDecode()
1638 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1640 data += PrintRightXMMOperand(data); in InstructionDecode()
1653 data += 3; in InstructionDecode()
1655 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1658 data += PrintRightOperand(data); in InstructionDecode()
1661 data += PrintRightXMMOperand(data); in InstructionDecode()
1675 pseudo_op[data[1]], in InstructionDecode()
1678 data += 2; in InstructionDecode()
1681 data += PrintRightXMMOperand(data); in InstructionDecode()
1690 if (*(data+1) == 0x0F) { in InstructionDecode()
1691 byte b2 = *(data+2); in InstructionDecode()
1694 data += 3; in InstructionDecode()
1696 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1697 data += PrintRightXMMOperand(data); in InstructionDecode()
1700 data += 3; in InstructionDecode()
1702 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1704 data += PrintRightXMMOperand(data); in InstructionDecode()
1706 data += 3; in InstructionDecode()
1708 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1710 data += PrintRightXMMOperand(data); in InstructionDecode()
1712 data += 3; in InstructionDecode()
1714 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1716 data += PrintRightXMMOperand(data); in InstructionDecode()
1718 data += 3; in InstructionDecode()
1720 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1722 data += PrintRightXMMOperand(data); in InstructionDecode()
1725 data += 3; in InstructionDecode()
1727 get_modrm(*data, &mod, ®op, &rm); in InstructionDecode()
1728 data += PrintRightXMMOperand(data); in InstructionDecode()
1733 } else if (*(data+1) == 0xA5) { in InstructionDecode()
1734 data += 2; in InstructionDecode()
1736 } else if (*(data+1) == 0xAB) { in InstructionDecode()
1737 data += 2; in InstructionDecode()
1745 data += F7Instruction(data); in InstructionDecode()
1757 int instr_len = data - instr; in InstructionDecode()
1759 printf("%02x", *data); in InstructionDecode()
1765 for (byte* bp = instr; bp < data; bp++) { in InstructionDecode()