From fc3fef823d2385d4bded0d8113b618773017a9cd Mon Sep 17 00:00:00 2001 From: ghidorahrex Date: Thu, 15 Apr 2021 07:34:45 -0400 Subject: [PATCH] Restored unpackSRL macro to return instructions. --- Ghidra/Processors/PIC/data/languages/PIC24.sinc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Ghidra/Processors/PIC/data/languages/PIC24.sinc b/Ghidra/Processors/PIC/data/languages/PIC24.sinc index bf99abc914..12bc3ec197 100644 --- a/Ghidra/Processors/PIC/data/languages/PIC24.sinc +++ b/Ghidra/Processors/PIC/data/languages/PIC24.sinc @@ -7066,6 +7066,8 @@ define pcodeop pwrsavOp; @else W15 = W15 - 4; local tmp = *[ram]:4 W15; + tmpSRL:1 = tmp(1); + unpackSRL( tmpSRL >> 8 ); CORCON_IPL3 = (tmp & 0x00800000) != 0; return [tmp & 0x7FFFFF]; @endif @@ -7102,6 +7104,8 @@ define pcodeop pwrsavOp; @else W15 = W15 - 4; local tmp = *[ram]:4 W15; + tmpSRL:1 = tmp(1); + unpackSRL( tmpSRL >> 8 ); CORCON_IPL3 = (tmp & 0x00800000) != 0; CORCON_SFA = (tmp & 0x1) != 0; return [tmp & 0x7FFFFE]; @@ -7139,6 +7143,8 @@ define pcodeop pwrsavOp; @else W15 = W15 - 4; local tmp = *[ram]:4 W15; + tmpSRL:1 = tmp(1); + unpackSRL( tmpSRL >> 8 ); CORCON_IPL3 = (tmp & 0x00800000) != 0; Wn_t = k10_t; return [tmp & 0x7FFFFF]; @@ -7174,6 +7180,8 @@ define pcodeop pwrsavOp; @else W15 = W15 - 4; local tmp = *[ram]:4 W15; + tmpSRL:1 = tmp(1); + unpackSRL( tmpSRL >> 8 ); CORCON_IPL3 = (tmp & 0x00800000) != 0; Wnbyte_t = k10byte_t; return [tmp & 0x7FFFFF]; @@ -7214,6 +7222,8 @@ define pcodeop pwrsavOp; @else W15 = W15 - 4; local tmp = *[ram]:4 W15; + tmpSRL:1 = tmp(1); + unpackSRL( tmpSRL >> 8 ); CORCON_IPL3 = (tmp & 0x00800000) != 0; CORCON_SFA = (tmp & 0x1) != 0; Wn_t = k10_t; @@ -7253,6 +7263,8 @@ define pcodeop pwrsavOp; @else W15 = W15 - 4; local tmp = *[ram]:4 W15; + tmpSRL:1 = tmp(1); + unpackSRL( tmpSRL >> 8 ); CORCON_IPL3 = (tmp & 0x00800000) != 0; CORCON_SFA = (tmp & 0x1) != 0; Wnbyte_t = k10byte_t;