py: Add lsl/lsr/asr opcode support to inline Thumb2 assembler.

This commit is contained in:
Damien George
2015-10-19 14:26:19 +01:00
parent 949c5c9180
commit 096d1e4512
4 changed files with 65 additions and 1 deletions

View File

@@ -0,0 +1,29 @@
@micropython.asm_thumb
def lsl1(r0):
lsl(r0, r0, 1)
print(hex(lsl1(0x123)))
@micropython.asm_thumb
def lsl23(r0):
lsl(r0, r0, 23)
print(hex(lsl23(1)))
@micropython.asm_thumb
def lsr1(r0):
lsr(r0, r0, 1)
print(hex(lsr1(0x123)))
@micropython.asm_thumb
def lsr31(r0):
lsr(r0, r0, 31)
print(hex(lsr31(0x80000000)))
@micropython.asm_thumb
def asr1(r0):
asr(r0, r0, 1)
print(hex(asr1(0x123)))
@micropython.asm_thumb
def asr31(r0):
asr(r0, r0, 31)
print(hex(asr31(0x80000000)))

View File

@@ -0,0 +1,6 @@
0x246
0x800000
0x91
0x1
0x91
-0x1