28 lines
323 B
ArmAsm
28 lines
323 B
ArmAsm
.define .los
|
|
|
|
.sect .text
|
|
|
|
.los: LDMFD R12<,{R0,R1}
|
|
CMP R0, #8
|
|
BGE 2F
|
|
CMP R0,#1
|
|
LDR.EQ.B R2,[R1]
|
|
CMP R0,#4
|
|
LDR.EQ R2,[R1]
|
|
CMP R0,#2
|
|
BNE 1F
|
|
LDR.EQ.B R2,[R1]
|
|
LDR.EQ.B R3,[R1,#1]
|
|
ADD R2,R2,R3,LSL #8
|
|
1:
|
|
STMFD R12<,{R2}
|
|
BAL 3F
|
|
2:
|
|
SUB R0,R0,#4
|
|
LDR R11,[R1,R0]
|
|
STMFD R12<,{R11}
|
|
CMP R0,#0
|
|
BNE 2B
|
|
3:
|
|
MOV R15,R14
|