diff options
Diffstat (limited to 'tests/inlineasm')
| -rw-r--r-- | tests/inlineasm/asmrettype.py | 21 | ||||
| -rw-r--r-- | tests/inlineasm/asmrettype.py.exp | 4 |
2 files changed, 25 insertions, 0 deletions
diff --git a/tests/inlineasm/asmrettype.py b/tests/inlineasm/asmrettype.py new file mode 100644 index 000000000..f1918696e --- /dev/null +++ b/tests/inlineasm/asmrettype.py @@ -0,0 +1,21 @@ +# test return type of inline asm + +@micropython.asm_thumb +def ret_obj(r0) -> object: + pass +ret_obj(print)(1) + +@micropython.asm_thumb +def ret_bool(r0) -> bool: + pass +print(ret_bool(0), ret_bool(1)) + +@micropython.asm_thumb +def ret_int(r0) -> int: + lsl(r0, r0, 29) +print(ret_int(0), hex(ret_int(1)), hex(ret_int(2)), hex(ret_int(4))) + +@micropython.asm_thumb +def ret_uint(r0) -> uint: + lsl(r0, r0, 29) +print(ret_uint(0), hex(ret_uint(1)), hex(ret_uint(2)), hex(ret_uint(4))) diff --git a/tests/inlineasm/asmrettype.py.exp b/tests/inlineasm/asmrettype.py.exp new file mode 100644 index 000000000..cbb49d247 --- /dev/null +++ b/tests/inlineasm/asmrettype.py.exp @@ -0,0 +1,4 @@ +1 +False True +0 0x20000000 0x40000000 -0x80000000 +0 0x20000000 0x40000000 0x80000000 |
