kopia lustrzana https://github.com/micropython/micropython
qemu-arm: Add tests for freezing viper and asm_thumb code.
Signed-off-by: Damien George <damien@micropython.org>pull/8191/head
rodzic
0a2895b099
commit
414b59d39c
|
@ -0,0 +1,29 @@
|
||||||
|
# Test freezing inline-asm code.
|
||||||
|
|
||||||
|
import micropython
|
||||||
|
|
||||||
|
|
||||||
|
@micropython.asm_thumb
|
||||||
|
def asm_add(r0, r1):
|
||||||
|
add(r0, r0, r1)
|
||||||
|
|
||||||
|
|
||||||
|
@micropython.asm_thumb
|
||||||
|
def asm_add1(r0) -> object:
|
||||||
|
lsl(r0, r0, 1)
|
||||||
|
add(r0, r0, 3)
|
||||||
|
|
||||||
|
|
||||||
|
@micropython.asm_thumb
|
||||||
|
def asm_cast_bool(r0) -> bool:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@micropython.asm_thumb
|
||||||
|
def asm_shift_int(r0) -> int:
|
||||||
|
lsl(r0, r0, 29)
|
||||||
|
|
||||||
|
|
||||||
|
@micropython.asm_thumb
|
||||||
|
def asm_shift_uint(r0) -> uint:
|
||||||
|
lsl(r0, r0, 29)
|
|
@ -0,0 +1,8 @@
|
||||||
|
# Test freezing viper code.
|
||||||
|
|
||||||
|
import micropython
|
||||||
|
|
||||||
|
|
||||||
|
@micropython.viper
|
||||||
|
def viper_add(x, y):
|
||||||
|
print(x + y)
|
|
@ -0,0 +1,7 @@
|
||||||
|
import frozen_asm
|
||||||
|
|
||||||
|
print(frozen_asm.asm_add(1, 2))
|
||||||
|
print(frozen_asm.asm_add1(3))
|
||||||
|
print(frozen_asm.asm_cast_bool(0), frozen_asm.asm_cast_bool(3))
|
||||||
|
print(frozen_asm.asm_shift_int(4))
|
||||||
|
print(frozen_asm.asm_shift_uint(4))
|
|
@ -0,0 +1,5 @@
|
||||||
|
3
|
||||||
|
4
|
||||||
|
False True
|
||||||
|
-2147483648
|
||||||
|
2147483648
|
|
@ -0,0 +1,3 @@
|
||||||
|
import frozen_viper
|
||||||
|
|
||||||
|
frozen_viper.viper_add(1, 2)
|
|
@ -0,0 +1 @@
|
||||||
|
3
|
Ładowanie…
Reference in New Issue