diff options
Diffstat (limited to 'tests/inlineasm/thumb/asmpushpop.py')
| -rw-r--r-- | tests/inlineasm/thumb/asmpushpop.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/inlineasm/thumb/asmpushpop.py b/tests/inlineasm/thumb/asmpushpop.py new file mode 100644 index 000000000..99566a755 --- /dev/null +++ b/tests/inlineasm/thumb/asmpushpop.py @@ -0,0 +1,21 @@ +@micropython.asm_thumb +def f(r0, r1, r2): + push({r0}) + push({r1, r2}) + pop({r0}) + pop({r1, r2}) + + +@micropython.asm_thumb +def g(): + b(START) + label(SUBROUTINE) + push({lr}) # push return address + mov(r0, 7) + pop({pc}) # return + label(START) + bl(SUBROUTINE) + + +print(f(0, 1, 2)) +print(g()) |
