summaryrefslogtreecommitdiffstatshomepage
path: root/tests/inlineasm/asmshift.py
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2015-10-19 14:26:19 +0100
committerDamien George <damien.p.george@gmail.com>2015-10-19 14:26:19 +0100
commit096d1e4512d6a8fb99e2de3c0c23e2cb88cc2d7a (patch)
tree62326722511c7582061dc07508619fd269939e6f /tests/inlineasm/asmshift.py
parent949c5c91804655fe257f2444cd7ed5a5e5d9bfa7 (diff)
downloadmicropython-096d1e4512d6a8fb99e2de3c0c23e2cb88cc2d7a.tar.gz
micropython-096d1e4512d6a8fb99e2de3c0c23e2cb88cc2d7a.zip
py: Add lsl/lsr/asr opcode support to inline Thumb2 assembler.
Diffstat (limited to 'tests/inlineasm/asmshift.py')
-rw-r--r--tests/inlineasm/asmshift.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/inlineasm/asmshift.py b/tests/inlineasm/asmshift.py
new file mode 100644
index 0000000000..0df2187347
--- /dev/null
+++ b/tests/inlineasm/asmshift.py
@@ -0,0 +1,29 @@
+@micropython.asm_thumb
+def lsl1(r0):
+ lsl(r0, r0, 1)
+print(hex(lsl1(0x123)))
+
+@micropython.asm_thumb
+def lsl23(r0):
+ lsl(r0, r0, 23)
+print(hex(lsl23(1)))
+
+@micropython.asm_thumb
+def lsr1(r0):
+ lsr(r0, r0, 1)
+print(hex(lsr1(0x123)))
+
+@micropython.asm_thumb
+def lsr31(r0):
+ lsr(r0, r0, 31)
+print(hex(lsr31(0x80000000)))
+
+@micropython.asm_thumb
+def asr1(r0):
+ asr(r0, r0, 1)
+print(hex(asr1(0x123)))
+
+@micropython.asm_thumb
+def asr31(r0):
+ asr(r0, r0, 31)
+print(hex(asr31(0x80000000)))