Index: src/x64/disasm-x64.cc |
diff --git a/src/x64/disasm-x64.cc b/src/x64/disasm-x64.cc |
index 476eab2b42feeb0e2b64453c514b4342cbeb2620..0edc305cf43fc404d0a19753117f2442664bb155 100644 |
--- a/src/x64/disasm-x64.cc |
+++ b/src/x64/disasm-x64.cc |
@@ -1326,6 +1326,12 @@ int DisassemblerX64::TwoByteOpcodeInstruction(byte* data) { |
} else { |
AppendToBuffer(",%s,cl", NameOfCPURegister(regop)); |
} |
+ } else if (opcode == 0xBD) { |
+ AppendToBuffer("%s%c ", mnemonic, operand_size_code()); |
+ int mod, regop, rm; |
+ get_modrm(*current, &mod, ®op, &rm); |
+ AppendToBuffer("%s,", NameOfCPURegister(regop)); |
+ current += PrintRightOperand(current); |
} else { |
UnimplementedInstruction(); |
} |
@@ -1368,6 +1374,8 @@ const char* DisassemblerX64::TwoByteMnemonic(byte opcode) { |
return "movzxb"; |
case 0xB7: |
return "movzxw"; |
+ case 0xBD: |
+ return "bsr"; |
case 0xBE: |
return "movsxb"; |
case 0xBF: |