about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorserpilliere <serpilliere@users.noreply.github.com>2015-01-24 18:04:00 +0100
committerserpilliere <serpilliere@users.noreply.github.com>2015-01-24 18:04:00 +0100
commitbd49d610cc67b7d36cd331700314fd36967fdcbb (patch)
tree1a0aff0e920385a86f015018dae4467cacf0eed8
parent3af62274b68f13fc6eba680ef1524e5f215e5c8b (diff)
parent8001e8f6f7d5d085ef9f8a3d7ac998094f44d488 (diff)
downloadmiasm-bd49d610cc67b7d36cd331700314fd36967fdcbb.tar.gz
miasm-bd49d610cc67b7d36cd331700314fd36967fdcbb.zip
Merge pull request #46 from laanwj/2015_01_umlal
arm: Add instruction umlal
-rw-r--r--miasm2/arch/arm/arch.py2
-rw-r--r--test/arch/arm/arch.py2
2 files changed, 4 insertions, 0 deletions
diff --git a/miasm2/arch/arm/arch.py b/miasm2/arch/arm/arch.py
index f0e32834..f6b2e1cf 100644
--- a/miasm2/arch/arm/arch.py
+++ b/miasm2/arch/arm/arch.py
@@ -1449,6 +1449,8 @@ armop("mul", [bs('000000'), bs('0'), scc, rd,
       bs('0000'), rs, bs('1001'), rm], [rd, rm, rs])
 armop("umull", [bs('000010'),
       bs('0'), scc, rd, rdl, rs, bs('1001'), rm], [rdl, rd, rm, rs])
+armop("umlal", [bs('000010'),
+      bs('1'), scc, rd, rdl, rs, bs('1001'), rm], [rdl, rd, rm, rs])
 armop("smull", [bs('000011'), bs('0'), scc, rd,
       rdl, rs, bs('1001'), rm], [rdl, rd, rm, rs])
 armop("smlal", [bs('000011'), bs('1'), scc, rd,
diff --git a/test/arch/arm/arch.py b/test/arch/arm/arch.py
index 5e3feb1d..19b1236e 100644
--- a/test/arch/arm/arch.py
+++ b/test/arch/arm/arch.py
@@ -191,6 +191,8 @@ reg_tests_arm = [
 
     ("0002F5B0    UMULL      R2, R3, R3, R2",
      "932283E0"),
+    ("0002F5B4    UMLAL      R3, R4, R5, LR",
+     "953EA4E0"),
     ("C045D260    SMULL      R3, R2, LR, R2",
      "9E32C2E0"),
     ("C03E6440    SMLAL      R2, R0, R1, R0",