about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorFabrice Desclaux <fabrice.desclaux@cea.fr>2019-10-31 19:22:59 +0100
committerFabrice Desclaux <fabrice.desclaux@cea.fr>2019-10-31 21:12:08 +0100
commit2507258df533b58a9967296a3b675a09bb1e5eaa (patch)
tree140b8158b8bc7b9aec6b504a439bfb126e365dc7
parent9c48643d56884fdfe0c19cce9a4857dd8b246a74 (diff)
downloadmiasm-2507258df533b58a9967296a3b675a09bb1e5eaa.tar.gz
miasm-2507258df533b58a9967296a3b675a09bb1e5eaa.zip
Aarch64: add ldarb
-rw-r--r--miasm/arch/aarch64/arch.py2
-rw-r--r--miasm/arch/aarch64/sem.py2
-rw-r--r--test/arch/aarch64/arch.py2
3 files changed, 5 insertions, 1 deletions
diff --git a/miasm/arch/aarch64/arch.py b/miasm/arch/aarch64/arch.py
index d12fbe72..33c1d427 100644
--- a/miasm/arch/aarch64/arch.py
+++ b/miasm/arch/aarch64/arch.py
@@ -2152,7 +2152,7 @@ aarch64op("ldxp", [bs('1'), sf, bs('001000'), bs('0'), bs('1'), bs('1'), bs('111
 
 # load acquire/store release p.141
 aarch64op("ldar", [bs('1'), sf, bs('001000'), bs('1'), bs('1'), bs('0'), bs('11111'), bs('1'), bs('11111'), rn64_deref_nooff, rt], [rt, rn64_deref_nooff])
-aarch64op("ldarb",[bs('0'), bs('0'), bs('001000'), bs('1'), bs('1'), bs('0'), bs('11111'), bs('1'), bs('11111'), rn64_deref_nooff, rt], [rt, rn64_deref_nooff])
+aarch64op("ldarb",[bs('0'), bs('0'), bs('001000'), bs('1'), bs('1'), bs('0'), bs('11111'), bs('1'), bs('11111'), rn64_deref_nooff, rt32], [rt32, rn64_deref_nooff])
 aarch64op("ldarh",[bs('0'), bs('1'), bs('001000'), bs('0'), bs('1'), bs('0'), bs('11111'), bs('1'), bs('11111'), rn64_deref_nooff, rt], [rt, rn64_deref_nooff])
 aarch64op("ldaxp",[bs('1'), sf, bs('001000'), bs('0'), bs('1'), bs('1'), bs('11111'), bs('1'), bs('11111'), rn64_deref_nooff, rt], [rt, rn64_deref_nooff])
 aarch64op("ldaxr",[bs('1'), sf, bs('001000'), bs('0'), bs('1'), bs('0'), bs('11111'), bs('1'), bs('11111'), rn64_deref_nooff, rt], [rt, rn64_deref_nooff])
diff --git a/miasm/arch/aarch64/sem.py b/miasm/arch/aarch64/sem.py
index ce77aa2c..e7db4782 100644
--- a/miasm/arch/aarch64/sem.py
+++ b/miasm/arch/aarch64/sem.py
@@ -1341,6 +1341,8 @@ mnemo_func.update({
     'ldrsh': ldrsh,
     'ldrsw': ldrsw,
 
+    'ldarb': ldrb,
+
     'ldaxrb': ldaxrb,
     'stlxrb': stlxrb,
 
diff --git a/test/arch/aarch64/arch.py b/test/arch/aarch64/arch.py
index 70a44053..9fc6ee8e 100644
--- a/test/arch/aarch64/arch.py
+++ b/test/arch/aarch64/arch.py
@@ -1763,6 +1763,8 @@ reg_tests_aarch64 = [
      "8DFE5F88"),
     ("0046FA7C    LDAXR      X17, [X16]",
      "11FE5FC8"),
+    ("XXXXXXXX    LDARB      W0, [X20]",
+     "80FEDF08"),
     ("00464090    STLXR      W14, W2, [X20]",
      "82FE0E88"),