Module: PSX::Disasm
- Defined in:
- lib/psx/disasm.rb
Constant Summary collapse
- REG_NAMES =
%w[ zero at v0 v1 a0 a1 a2 a3 t0 t1 t2 t3 t4 t5 t6 t7 s0 s1 s2 s3 s4 s5 s6 s7 t8 t9 k0 k1 gp sp fp ra ].freeze
- COP0_NAMES =
{ 3 => "BPC", 5 => "BDA", 6 => "JUMPDEST", 7 => "DCIC", 8 => "BadVAddr", 9 => "BDAM", 11 => "BPCM", 12 => "SR", 13 => "CAUSE", 14 => "EPC", 15 => "PRId" }.freeze
Class Method Summary collapse
Class Method Details
.disassemble(pc, instruction) ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/psx/disasm.rb', line 19 def disassemble(pc, instruction) return format("%08X: %08X nop", pc, instruction) if instruction == 0 opcode = (instruction >> 26) & 0x3F text = decode(pc, instruction, opcode) format("%08X: %08X %s", pc, instruction, text) end |