diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2019-01-25 21:41:15 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2019-01-25 21:41:15 (GMT) |
commit | 7370350b82305afe200c34ed91027a55f543bf98 (patch) | |
tree | cddda25dffb1cc17c2a1fb2c194c0564cd17d940 /plugins/arm | |
parent | 62da8564d257af381acb606e98fc712d87f7f5cb (diff) |
Fixed some Thumb decodings for ARMv7 branch instructions.
Diffstat (limited to 'plugins/arm')
-rw-r--r-- | plugins/arm/v7/opdefs/A8818_b.d | 4 | ||||
-rw-r--r-- | plugins/arm/v7/opdefs/A8825_bl.d | 8 |
2 files changed, 9 insertions, 3 deletions
diff --git a/plugins/arm/v7/opdefs/A8818_b.d b/plugins/arm/v7/opdefs/A8818_b.d index d10b297..e60aad6 100644 --- a/plugins/arm/v7/opdefs/A8818_b.d +++ b/plugins/arm/v7/opdefs/A8818_b.d @@ -138,7 +138,9 @@ @conv { - imm32 = SignExtend(S:J2:J1:imm10:imm11:'0', 32, 24) + I1 = NOT(J1 EOR S) + I2 = NOT(J2 EOR S) + imm32 = SignExtend(S:I1:I2:imm10:imm11:'0', 32, 24) } diff --git a/plugins/arm/v7/opdefs/A8825_bl.d b/plugins/arm/v7/opdefs/A8825_bl.d index 221bbc5..adf3c20 100644 --- a/plugins/arm/v7/opdefs/A8825_bl.d +++ b/plugins/arm/v7/opdefs/A8825_bl.d @@ -41,7 +41,9 @@ @conv { - imm32 = SignExtend(S:J2:J1:imm10:imm11:'0', 32, 24) + I1 = NOT(J1 EOR S) + I2 = NOT(J2 EOR S) + imm32 = SignExtend(S:I1:I2:imm10:imm11:'0', 32, 24) } @@ -69,7 +71,9 @@ @conv { - imm32 = SignExtend(S:J1:J2:imm10H:imm10L:'00', 32, 24) + I1 = NOT(J1 EOR S) + I2 = NOT(J2 EOR S) + imm32 = SignExtend(S:I1:I2:imm10H:imm10L:'00', 32, 24) } |