summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/inlineasm/asmdata.py16
-rw-r--r--tests/inlineasm/asmdata.py.exp5
2 files changed, 21 insertions, 0 deletions
diff --git a/tests/inlineasm/asmdata.py b/tests/inlineasm/asmdata.py
new file mode 100644
index 000000000..bbd20c918
--- /dev/null
+++ b/tests/inlineasm/asmdata.py
@@ -0,0 +1,16 @@
+# test the "data" directive
+
+
+@micropython.asm_thumb
+def ret_num(r0) -> uint:
+ lsl(r0, r0, 2)
+ mov(r1, pc)
+ add(r0, r0, r1)
+ ldr(r0, [r0, 4])
+ b(HERE)
+ data(4, 0x12345678, 0x20000000, 0x40000000, 0x7FFFFFFF + 1, (1 << 32) - 2)
+ label(HERE)
+
+
+for i in range(5):
+ print(hex(ret_num(i)))
diff --git a/tests/inlineasm/asmdata.py.exp b/tests/inlineasm/asmdata.py.exp
new file mode 100644
index 000000000..502c04f99
--- /dev/null
+++ b/tests/inlineasm/asmdata.py.exp
@@ -0,0 +1,5 @@
+0x12345678
+0x20000000
+0x40000000
+0x80000000
+0xfffffffe