16 lines
281 B
ArmAsm
16 lines
281 B
ArmAsm
|
.macro li32 reg val
|
||
|
lis \reg, \val@h
|
||
|
ori \reg, \reg, \val@l
|
||
|
.endm
|
||
|
|
||
|
.macro liDX reg val
|
||
|
.if -0x8000 <= \val && \val < 0x8000 || 0xffff8000 <= \val
|
||
|
li \reg, \val@l
|
||
|
.else
|
||
|
lis \reg, \val@h
|
||
|
.if \val&0xffff != 0
|
||
|
ori \reg, \reg, \val@l
|
||
|
.endif
|
||
|
.endif
|
||
|
.endm
|