diff options
author | Damien George <damien.p.george@gmail.com> | 2016-03-16 08:24:07 +0000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2016-03-16 08:24:07 +0000 |
commit | 664f03f4664807ca6e441b0af1b280cf42d96714 (patch) | |
tree | ff3be43510851d7cd1e400806e2ea1124a2b5ea5 | |
parent | 9a58316de235fed23566f9898de43b57fab85d7d (diff) | |
download | micropython-664f03f4664807ca6e441b0af1b280cf42d96714.tar.gz micropython-664f03f4664807ca6e441b0af1b280cf42d96714.zip |
tests: Add a test for argument passing to inline-asm functions.
-rw-r--r-- | tests/inlineasm/asmargs.py | 29 | ||||
-rw-r--r-- | tests/inlineasm/asmargs.py.exp | 5 |
2 files changed, 34 insertions, 0 deletions
diff --git a/tests/inlineasm/asmargs.py b/tests/inlineasm/asmargs.py new file mode 100644 index 0000000000..047d9ed420 --- /dev/null +++ b/tests/inlineasm/asmargs.py @@ -0,0 +1,29 @@ +# test passing arguments + +@micropython.asm_thumb +def arg0(): + mov(r0, 1) +print(arg0()) + +@micropython.asm_thumb +def arg1(r0): + add(r0, r0, 1) +print(arg1(1)) + +@micropython.asm_thumb +def arg2(r0, r1): + add(r0, r0, r1) +print(arg2(1, 2)) + +@micropython.asm_thumb +def arg3(r0, r1, r2): + add(r0, r0, r1) + add(r0, r0, r2) +print(arg3(1, 2, 3)) + +@micropython.asm_thumb +def arg4(r0, r1, r2, r3): + add(r0, r0, r1) + add(r0, r0, r2) + add(r0, r0, r3) +print(arg4(1, 2, 3, 4)) diff --git a/tests/inlineasm/asmargs.py.exp b/tests/inlineasm/asmargs.py.exp new file mode 100644 index 0000000000..e33a6964f4 --- /dev/null +++ b/tests/inlineasm/asmargs.py.exp @@ -0,0 +1,5 @@ +1 +2 +3 +6 +10 |