Index: src/x64/disasm-x64.cc |
diff --git a/src/x64/disasm-x64.cc b/src/x64/disasm-x64.cc |
index 3b2f6032743da654718f88cd48ab94f21ef5dd59..5dacdd7c3241f109c74e4d57bfe095d38fcf0fb6 100644 |
--- a/src/x64/disasm-x64.cc |
+++ b/src/x64/disasm-x64.cc |
@@ -1824,6 +1824,12 @@ int DisassemblerX64::TwoByteOpcodeInstruction(byte* data) { |
} else { |
AppendToBuffer(",%s,cl", NameOfCPURegister(regop)); |
} |
+ } else if (opcode == 0xBC) { |
+ 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 if (opcode == 0xBD) { |
AppendToBuffer("%s%c ", mnemonic, operand_size_code()); |
int mod, regop, rm; |
@@ -1878,6 +1884,8 @@ const char* DisassemblerX64::TwoByteMnemonic(byte opcode) { |
return "movzxb"; |
case 0xB7: |
return "movzxw"; |
+ case 0xBC: |
+ return "bsf"; |
case 0xBD: |
return "bsr"; |
case 0xBE: |