From 829047ecdb7f9f6ecb1d0665f73f93af3d68e6d0 Mon Sep 17 00:00:00 2001 From: Eladash Date: Mon, 29 Jul 2019 17:51:19 +0300 Subject: [PATCH] ppu disasm: Improve ORI and ORIS disassembly --- rpcs3/Emu/Cell/PPUDisAsm.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rpcs3/Emu/Cell/PPUDisAsm.cpp b/rpcs3/Emu/Cell/PPUDisAsm.cpp index cbf42f3be3..6d2e842581 100644 --- a/rpcs3/Emu/Cell/PPUDisAsm.cpp +++ b/rpcs3/Emu/Cell/PPUDisAsm.cpp @@ -1030,13 +1030,14 @@ void PPUDisAsm::RLWNM(ppu_opcode_t op) void PPUDisAsm::ORI(ppu_opcode_t op) { if (op.rs == 0 && op.ra == 0 && op.uimm16 == 0) return Write("nop"); - DisAsm_R2_IMM("ori", op.rs, op.ra, op.uimm16); + if (op.uimm16 == 0) return DisAsm_R2("mr", op.ra, op.rs); + DisAsm_R2_IMM("ori", op.ra, op.rs, op.uimm16); } void PPUDisAsm::ORIS(ppu_opcode_t op) { if (op.rs == 0 && op.ra == 0 && op.uimm16 == 0) return Write("nop"); - DisAsm_R2_IMM("oris", op.rs, op.ra, op.uimm16); + DisAsm_R2_IMM("oris", op.ra, op.rs, op.uimm16); } void PPUDisAsm::XORI(ppu_opcode_t op)