From 4d2aa982fbfdaf9a8ae41e17bfaa431b0007de9d Mon Sep 17 00:00:00 2001 From: chenzitai Date: Sat, 28 Aug 2021 01:29:07 +0100 Subject: [PATCH] Fix bug in movml.l instruction of superh.sinc When rn_imm_08_11 is 15, it should load the value pointed by r15 to pr instead of read the value in pr to r15 pointer. --- Ghidra/Processors/SuperH/data/languages/superh.sinc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ghidra/Processors/SuperH/data/languages/superh.sinc b/Ghidra/Processors/SuperH/data/languages/superh.sinc index 8455dde2f4..39060815a1 100644 --- a/Ghidra/Processors/SuperH/data/languages/superh.sinc +++ b/Ghidra/Processors/SuperH/data/languages/superh.sinc @@ -681,7 +681,7 @@ MovMLReg2_14: rm_imm_08_11 is MovMLReg2_13load & rm_imm_08_11 & rm_08_11=14 MovMLReg2_14load: is MovMLReg2_13load & rm_imm_08_11 { build MovMLReg2_13load; loadRegister(r14,r15); } MovMLReg2_15: MovMLReg2_14 is MovMLReg2_14 { r0 = r0; } -MovMLReg2_15: rm_imm_08_11 is MovMLReg2_14load & rm_imm_08_11 & rm_08_11=15 { build MovMLReg2_14load; storeRegister(pr,r15); } +MovMLReg2_15: rm_imm_08_11 is MovMLReg2_14load & rm_imm_08_11 & rm_08_11=15 { build MovMLReg2_14load; loadRegister(pr,r15); } MovMLReg2: MovMLReg2_15 is MovMLReg2_15 { build MovMLReg2_15;