OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <assert.h> | 5 #include <assert.h> |
6 #include <stdarg.h> | 6 #include <stdarg.h> |
7 #include <stdio.h> | 7 #include <stdio.h> |
8 | 8 |
9 #if V8_TARGET_ARCH_IA32 | 9 #if V8_TARGET_ARCH_IA32 |
10 | 10 |
(...skipping 1603 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1614 AppendToBuffer("mov_w "); | 1614 AppendToBuffer("mov_w "); |
1615 data += PrintRightOperand(data); | 1615 data += PrintRightOperand(data); |
1616 AppendToBuffer(",%s", NameOfCPURegister(regop)); | 1616 AppendToBuffer(",%s", NameOfCPURegister(regop)); |
1617 } else if (*data == 0xC7) { | 1617 } else if (*data == 0xC7) { |
1618 data++; | 1618 data++; |
1619 AppendToBuffer("%s ", "mov_w"); | 1619 AppendToBuffer("%s ", "mov_w"); |
1620 data += PrintRightOperand(data); | 1620 data += PrintRightOperand(data); |
1621 int imm = *reinterpret_cast<int16_t*>(data); | 1621 int imm = *reinterpret_cast<int16_t*>(data); |
1622 AppendToBuffer(",0x%x", imm); | 1622 AppendToBuffer(",0x%x", imm); |
1623 data += 2; | 1623 data += 2; |
| 1624 } else if (*data == 0xF7) { |
| 1625 data++; |
| 1626 AppendToBuffer("%s ", "test_w"); |
| 1627 data += PrintRightOperand(data); |
| 1628 int imm = *reinterpret_cast<int16_t*>(data); |
| 1629 AppendToBuffer(",0x%x", imm); |
| 1630 data += 2; |
1624 } else if (*data == 0x0F) { | 1631 } else if (*data == 0x0F) { |
1625 data++; | 1632 data++; |
1626 if (*data == 0x38) { | 1633 if (*data == 0x38) { |
1627 data++; | 1634 data++; |
1628 if (*data == 0x17) { | 1635 if (*data == 0x17) { |
1629 data++; | 1636 data++; |
1630 int mod, regop, rm; | 1637 int mod, regop, rm; |
1631 get_modrm(*data, &mod, ®op, &rm); | 1638 get_modrm(*data, &mod, ®op, &rm); |
1632 AppendToBuffer("ptest %s,%s", | 1639 AppendToBuffer("ptest %s,%s", |
1633 NameOfXMMRegister(regop), | 1640 NameOfXMMRegister(regop), |
(...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2272 fprintf(f, " "); | 2279 fprintf(f, " "); |
2273 } | 2280 } |
2274 fprintf(f, " %s\n", buffer.start()); | 2281 fprintf(f, " %s\n", buffer.start()); |
2275 } | 2282 } |
2276 } | 2283 } |
2277 | 2284 |
2278 | 2285 |
2279 } // namespace disasm | 2286 } // namespace disasm |
2280 | 2287 |
2281 #endif // V8_TARGET_ARCH_IA32 | 2288 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |