diff options
| author | serpilliere <serpilliere@users.noreply.github.com> | 2019-10-31 22:27:28 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-10-31 22:27:28 +0100 |
| commit | 83e54bd2de945a36ab5ccd4cc5b94817d7cb0112 (patch) | |
| tree | 56bafd9e42ed08a113970f456a60c058916ee5bf | |
| parent | 6303723ecf1f42bf5026d5b5e72ce06b93b66078 (diff) | |
| parent | 2507258df533b58a9967296a3b675a09bb1e5eaa (diff) | |
| download | miasm-83e54bd2de945a36ab5ccd4cc5b94817d7cb0112.tar.gz miasm-83e54bd2de945a36ab5ccd4cc5b94817d7cb0112.zip | |
Merge pull request #1084 from serpilliere/fix_aarch64
Aarch64: add ldarb
| -rw-r--r-- | miasm/arch/aarch64/arch.py | 2 | ||||
| -rw-r--r-- | miasm/arch/aarch64/sem.py | 2 | ||||
| -rw-r--r-- | test/arch/aarch64/arch.py | 2 |
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"), |