1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
|
@micropython.asm_xtensa
def lsl1(a2):
slli(a2, a2, 1)
print(hex(lsl1(0x123)))
@micropython.asm_xtensa
def lsl23(a2):
slli(a2, a2, 23)
print(hex(lsl23(1)))
@micropython.asm_xtensa
def lsr1(a2):
srli(a2, a2, 1)
print(hex(lsr1(0x123)))
@micropython.asm_xtensa
def lsr15(a2):
srli(a2, a2, 15)
print(hex(lsr15(0x80000000)))
@micropython.asm_xtensa
def asr1(a2):
srai(a2, a2, 1)
print(hex(asr1(0x123)))
@micropython.asm_xtensa
def asr31(a2):
srai(a2, a2, 31)
print(hex(asr31(0x80000000)))
@micropython.asm_xtensa
def lsl1r(a2):
movi(a3, 1)
ssl(a3)
sll(a2, a2)
print(hex(lsl1r(0x123)))
@micropython.asm_xtensa
def lsr1r(a2):
movi(a3, 1)
ssr(a3)
srl(a2, a2)
print(hex(lsr1r(0x123)))
@micropython.asm_xtensa
def asr1r(a2):
movi(a3, 1)
ssr(a3)
sra(a2, a2)
print(hex(asr1r(0x123)))
@micropython.asm_xtensa
def sll9(a2):
ssai(9)
sll(a2, a2)
print(hex(sll9(1)))
@micropython.asm_xtensa
def srlr(a2, a3):
ssa8l(a3)
srl(a2, a2)
print(hex(srlr(0x12340000, 2)))
@micropython.asm_xtensa
def sllr(a2, a3):
ssa8b(a3)
sll(a2, a2)
print(hex(sllr(0x1234, 2)))
@micropython.asm_xtensa
def srcr(a2, a3, a4):
ssr(a4)
src(a2, a2, a3)
print(hex(srcr(0x00000001, 0x80000000, 2)))
@micropython.asm_xtensa
def srai24(a2):
srai(a2, a2, 24)
print(hex(srai24(0x12345678)))
@micropython.asm_xtensa
def nsar(a2, a3):
nsa(a2, a3)
print(nsar(0x12345678, 0))
print(nsar(0x12345678, -1))
@micropython.asm_xtensa
def nsaur(a2, a3):
nsau(a2, a3)
print(nsaur(0x12345678, 0))
|