summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-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