Revision: 4822
Author: [email protected]
Date: Tue Jun 8 05:44:24 2010
Log: Add test_b(Operand, imm8) to ia32 disassembler.
Review URL: http://codereview.chromium.org/2765001
http://code.google.com/p/v8/source/detail?r=4822
Modified:
/branches/bleeding_edge/src/ia32/disasm-ia32.cc
/branches/bleeding_edge/test/cctest/test-disasm-ia32.cc
=======================================
--- /branches/bleeding_edge/src/ia32/disasm-ia32.cc Fri Jun 4 04:30:55 2010
+++ /branches/bleeding_edge/src/ia32/disasm-ia32.cc Tue Jun 8 05:44:24 2010
@@ -924,14 +924,18 @@
break;
case 0xF6:
- { int mod, regop, rm;
- get_modrm(*(data+1), &mod, ®op, &rm);
- if (mod == 3 && regop == eax) {
- AppendToBuffer("test_b %s,%d", NameOfCPURegister(rm),
*(data+2));
+ { data++;
+ int mod, regop, rm;
+ get_modrm(*data, &mod, ®op, &rm);
+ if (regop == eax) {
+ AppendToBuffer("test_b ");
+ data += PrintRightOperand(data);
+ int32_t imm = *data;
+ AppendToBuffer(",0x%x", imm);
+ data++;
} else {
UnimplementedInstruction();
}
- data += 3;
}
break;
=======================================
--- /branches/bleeding_edge/test/cctest/test-disasm-ia32.cc Mon May 17
07:14:34 2010
+++ /branches/bleeding_edge/test/cctest/test-disasm-ia32.cc Tue Jun 8
05:44:24 2010
@@ -244,6 +244,9 @@
__ test(edx, Immediate(12345));
__ test(edx, Operand(ebx, ecx, times_8, 10000));
+ __ test(Operand(esi, edi, times_1, -20000000), Immediate(300000000));
+ __ test_b(edx, Operand(ecx, ebx, times_2, 1000));
+ __ test_b(Operand(eax, -20), 0x9A);
__ nop();
__ xor_(edx, 12345);
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev