about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--miasm2/arch/arm/arch.py7
-rw-r--r--test/arch/arm/arch.py15
2 files changed, 21 insertions, 1 deletions
diff --git a/miasm2/arch/arm/arch.py b/miasm2/arch/arm/arch.py
index 348820db..b7cf48bf 100644
--- a/miasm2/arch/arm/arch.py
+++ b/miasm2/arch/arm/arch.py
@@ -1957,7 +1957,12 @@ armtop("swi", [bs('11011111'),  tswi_i])
 armtop("b", [bs('11100'),  offs11])
 armtop("und", [bs('1101'), bs('1110'), imm8_d1])
 
-#
+
+armtop("uxtb", [bs('10110010'), bs('11'), rml, rdl], [rdl, rml])
+armtop("uxth", [bs('10110010'), bs('10'), rml, rdl], [rdl, rml])
+armtop("sxtb", [bs('10110010'), bs('01'), rml, rdl], [rdl, rml])
+armtop("sxth", [bs('10110010'), bs('00'), rml, rdl], [rdl, rml])
+
 # thumb2 ######################
 #
 
diff --git a/test/arch/arm/arch.py b/test/arch/arm/arch.py
index 5b5ec40f..964d7295 100644
--- a/test/arch/arm/arch.py
+++ b/test/arch/arm/arch.py
@@ -227,6 +227,11 @@ reg_tests_arm = [
     ("XXXXXXXX    UBFX       R1, R2, 0x10, 0x8",
      "5218E7E7"),
 
+    ("XXXXXXXX    UXTB       R0, R2",
+     "7200EFE6"),
+    ("XXXXXXXX    UXTH       R0, R2",
+     "7200FFE6"),
+
 
 ]
 ts = time.time()
@@ -437,6 +442,16 @@ reg_tests_armt = [
     ("00000000    CBNZ       R0, 0x2A",
      "a8b9"),
 
+    ("00000000    SXTB       R2, R1",
+     "4AB2"),
+    ("00000000    SXTH       R1, R0",
+     "01b2"),
+
+    ("00000000    UXTH       R3, R2",
+     "93b2"),
+
+    ("00000000    UXTB       R5, R0",
+     "C5B2"),
 
 ]
 print "#" * 40, 'armthumb', '#' * 40