OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 // A Disassembler object is used to disassemble a block of code instruction by | 5 // A Disassembler object is used to disassemble a block of code instruction by |
6 // instruction. The default implementation of the NameConverter object can be | 6 // instruction. The default implementation of the NameConverter object can be |
7 // overriden to modify register names or to do symbol lookup on addresses. | 7 // overriden to modify register names or to do symbol lookup on addresses. |
8 // | 8 // |
9 // The example below will disassemble a block of code and print it to stdout. | 9 // The example below will disassemble a block of code and print it to stdout. |
10 // | 10 // |
(...skipping 622 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
633 break; | 633 break; |
634 case TMLL: | 634 case TMLL: |
635 Format(instr, "tmll\t'r1,'i1"); | 635 Format(instr, "tmll\t'r1,'i1"); |
636 break; | 636 break; |
637 case STM: | 637 case STM: |
638 Format(instr, "stm\t'r1,'r2,'d1('r3)"); | 638 Format(instr, "stm\t'r1,'r2,'d1('r3)"); |
639 break; | 639 break; |
640 case LM: | 640 case LM: |
641 Format(instr, "lm\t'r1,'r2,'d1('r3)"); | 641 Format(instr, "lm\t'r1,'r2,'d1('r3)"); |
642 break; | 642 break; |
| 643 case CS: |
| 644 Format(instr, "cs\t'r1,'r2,'d1('r3)"); |
| 645 break; |
643 case SLL: | 646 case SLL: |
644 Format(instr, "sll\t'r1,'d1('r3)"); | 647 Format(instr, "sll\t'r1,'d1('r3)"); |
645 break; | 648 break; |
646 case SRL: | 649 case SRL: |
647 Format(instr, "srl\t'r1,'d1('r3)"); | 650 Format(instr, "srl\t'r1,'d1('r3)"); |
648 break; | 651 break; |
649 case SLA: | 652 case SLA: |
650 Format(instr, "sla\t'r1,'d1('r3)"); | 653 Format(instr, "sla\t'r1,'d1('r3)"); |
651 break; | 654 break; |
652 case SRA: | 655 case SRA: |
(...skipping 548 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1201 break; | 1204 break; |
1202 case LOC: | 1205 case LOC: |
1203 Format(instr, "loc\t'm2,'r1,'d2('r3)"); | 1206 Format(instr, "loc\t'm2,'r1,'d2('r3)"); |
1204 break; | 1207 break; |
1205 case LMY: | 1208 case LMY: |
1206 Format(instr, "lmy\t'r1,'r2,'d2('r3)"); | 1209 Format(instr, "lmy\t'r1,'r2,'d2('r3)"); |
1207 break; | 1210 break; |
1208 case LMG: | 1211 case LMG: |
1209 Format(instr, "lmg\t'r1,'r2,'d2('r3)"); | 1212 Format(instr, "lmg\t'r1,'r2,'d2('r3)"); |
1210 break; | 1213 break; |
| 1214 case CSY: |
| 1215 Format(instr, "csy\t'r1,'r2,'d2('r3)"); |
| 1216 break; |
| 1217 case CSG: |
| 1218 Format(instr, "csg\t'r1,'r2,'d2('r3)"); |
| 1219 break; |
1211 case STMY: | 1220 case STMY: |
1212 Format(instr, "stmy\t'r1,'r2,'d2('r3)"); | 1221 Format(instr, "stmy\t'r1,'r2,'d2('r3)"); |
1213 break; | 1222 break; |
1214 case STMG: | 1223 case STMG: |
1215 Format(instr, "stmg\t'r1,'r2,'d2('r3)"); | 1224 Format(instr, "stmg\t'r1,'r2,'d2('r3)"); |
1216 break; | 1225 break; |
1217 case LT: | 1226 case LT: |
1218 Format(instr, "lt\t'r1,'d2('r2d,'r3)"); | 1227 Format(instr, "lt\t'r1,'d2('r2d,'r3)"); |
1219 break; | 1228 break; |
1220 case LTG: | 1229 case LTG: |
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1555 byte* prev_pc = pc; | 1564 byte* prev_pc = pc; |
1556 pc += d.InstructionDecode(buffer, pc); | 1565 pc += d.InstructionDecode(buffer, pc); |
1557 v8::internal::PrintF(f, "%p %08x %s\n", static_cast<void*>(prev_pc), | 1566 v8::internal::PrintF(f, "%p %08x %s\n", static_cast<void*>(prev_pc), |
1558 *reinterpret_cast<int32_t*>(prev_pc), buffer.start()); | 1567 *reinterpret_cast<int32_t*>(prev_pc), buffer.start()); |
1559 } | 1568 } |
1560 } | 1569 } |
1561 | 1570 |
1562 } // namespace disasm | 1571 } // namespace disasm |
1563 | 1572 |
1564 #endif // V8_TARGET_ARCH_S390 | 1573 #endif // V8_TARGET_ARCH_S390 |
OLD | NEW |