diff options
| -rw-r--r-- | miasm/arch/aarch64/arch.py | 2 | ||||
| -rw-r--r-- | test/arch/aarch64/arch.py | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/miasm/arch/aarch64/arch.py b/miasm/arch/aarch64/arch.py index c642d201..5246d920 100644 --- a/miasm/arch/aarch64/arch.py +++ b/miasm/arch/aarch64/arch.py @@ -1424,7 +1424,7 @@ class aarch64_immhi_page(aarch64_imm_32): def encode(self): v = int(self.expr) if v & (1 << 63): - v &= (1 << 33) - 1 + v &= (1 << 21) - 1 self.parent.immlo.value = v & 3 v >>= 2 if v > (1 << 19) - 1: diff --git a/test/arch/aarch64/arch.py b/test/arch/aarch64/arch.py index 4156e054..7d81e45e 100644 --- a/test/arch/aarch64/arch.py +++ b/test/arch/aarch64/arch.py @@ -1846,7 +1846,10 @@ reg_tests_aarch64 = [ ("XXXXXXXX TLBI 0x0, c7, 0x0, XZR", "1F8708D5"), ("XXXXXXXX YIELD ", - "3F2003D5") + "3F2003D5"), + + ("XXXXXXXX ADR X29, 0xFFFFFFFFFFFFFAC8", + "5DD6FF10"), ] |