about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorserpilliere <serpilliere@users.noreply.github.com>2024-08-20 17:12:43 +0200
committerGitHub <noreply@github.com>2024-08-20 17:12:43 +0200
commit243e4f0c54c8583918851ef3f001f84a89473744 (patch)
tree77915eb7bf897abd1e1c2fe00bdf7880dba15dce
parent7ffe28628ac4d6c9758c63220de0070727996277 (diff)
parent360981951c9032450b58be71e1b0aa7aa3ab91ca (diff)
downloadfocaccia-miasm-243e4f0c54c8583918851ef3f001f84a89473744.tar.gz
focaccia-miasm-243e4f0c54c8583918851ef3f001f84a89473744.zip
Merge pull request #1496 from AeonLucid/fix/aarch64_immhi_page
Fix typo in aarch64_immhi_page decode
-rw-r--r--miasm/arch/aarch64/arch.py2
-rw-r--r--test/arch/aarch64/arch.py5
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"),
 ]