Support dec_b instruction in ia32 and x64 disassembler.
Review URL: http://codereview.chromium.org/3412028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
740aba98fb
commit
5e572e4622
@ -1194,12 +1194,12 @@ int DisassemblerIA32::InstructionDecode(v8::internal::Vector<char> out_buffer,
|
||||
{ data++;
|
||||
int mod, regop, rm;
|
||||
get_modrm(*data, &mod, ®op, &rm);
|
||||
if (mod == 3 && regop == ecx) {
|
||||
AppendToBuffer("dec_b %s", NameOfCPURegister(rm));
|
||||
if (regop == ecx) {
|
||||
AppendToBuffer("dec_b ");
|
||||
data += PrintRightOperand(data);
|
||||
} else {
|
||||
UnimplementedInstruction();
|
||||
}
|
||||
data++;
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -1450,12 +1450,12 @@ int DisassemblerX64::InstructionDecode(v8::internal::Vector<char> out_buffer,
|
||||
data++;
|
||||
int mod, regop, rm;
|
||||
get_modrm(*data, &mod, ®op, &rm);
|
||||
if (mod == 3 && regop == 1) {
|
||||
AppendToBuffer("decb %s", NameOfCPURegister(rm));
|
||||
if (regop == 1) {
|
||||
AppendToBuffer("decb ");
|
||||
data += PrintRightOperand(data);
|
||||
} else {
|
||||
UnimplementedInstruction();
|
||||
}
|
||||
data++;
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -165,6 +165,8 @@ TEST(DisasmIa320) {
|
||||
__ mov(Operand(ebx, ecx, times_4, 10000), edx);
|
||||
__ nop();
|
||||
__ dec_b(edx);
|
||||
__ dec_b(Operand(eax, 10));
|
||||
__ dec_b(Operand(ebx, ecx, times_4, 10000));
|
||||
__ dec(edx);
|
||||
__ cdq();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user