summaryrefslogtreecommitdiffstatshomepage
path: root/tests/inlineasm
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2015-03-02 14:31:00 +0000
committerDamien George <damien.p.george@gmail.com>2015-03-02 14:31:00 +0000
commit96e37d3bb814073ec4f43e467684c75b982663b5 (patch)
treed26c9a6a5a232cd53219ab9ae52e1c85573d449e /tests/inlineasm
parent9f142f0c8411d422f689c9cafdf890d7dc599da8 (diff)
downloadmicropython-96e37d3bb814073ec4f43e467684c75b982663b5.tar.gz
micropython-96e37d3bb814073ec4f43e467684c75b982663b5.zip
tests: Add tests for inline assembler beq_n and beq_w ops.
Diffstat (limited to 'tests/inlineasm')
-rw-r--r--tests/inlineasm/asmbcc.py27
-rw-r--r--tests/inlineasm/asmbcc.py.exp4
2 files changed, 31 insertions, 0 deletions
diff --git a/tests/inlineasm/asmbcc.py b/tests/inlineasm/asmbcc.py
new file mode 100644
index 0000000000..540fa6591f
--- /dev/null
+++ b/tests/inlineasm/asmbcc.py
@@ -0,0 +1,27 @@
+# test bcc instructions
+# at the moment only tests beq, narrow and wide versions
+
+@micropython.asm_thumb
+def f(r0):
+ mov(r1, r0)
+
+ mov(r0, 10)
+ cmp(r1, 1)
+ beq(end)
+
+ mov(r0, 20)
+ cmp(r1, 2)
+ beq_n(end)
+
+ mov(r0, 30)
+ cmp(r1, 3)
+ beq_w(end)
+
+ mov(r0, 0)
+
+ label(end)
+
+print(f(0))
+print(f(1))
+print(f(2))
+print(f(3))
diff --git a/tests/inlineasm/asmbcc.py.exp b/tests/inlineasm/asmbcc.py.exp
new file mode 100644
index 0000000000..39da7d1a99
--- /dev/null
+++ b/tests/inlineasm/asmbcc.py.exp
@@ -0,0 +1,4 @@
+0
+10
+20
+30