在学习ARM汇编,看一个apk软件的代码,也看了好些基础教程,还是只能看懂一点,这部分有点挠头,请高手看看,最好逐句讲讲,谢谢
.text:000D8CD4 .text:000D8CD4 var_288 = -0x288 .text:000D8CD4 var_284 = -0x284 .text:000D8CD4 tp = -0x27C .text:000D8CD4 timer = -0x250 .text:000D8CD4 var_24C = -0x24C .text:000D8CD4 var_14C = -0x14C .text:000D8CD4 var_3C = -0x3C .text:000D8CD4 var_2C = -0x2C .text:000D8CD4 .text:000D8CD4 PUSH {R4-R7,LR} .text:000D8CD6 MOV R7, R11 .text:000D8CD8 MOV R6, R10 .text:000D8CDA MOV R5, R9 .text:000D8CDC MOV R4, R8 .text:000D8CDE PUSH {R4-R7} .text:000D8CE0 LDR R2, =(jpt_9F900 - 0xD8CEC) .text:000D8CE2 LDR R4, =0xFFFFFD9C .text:000D8CE4 LDR R3, =0x360 .text:000D8CE6 MOV R10, R2 .text:000D8CE8 ADD R10, PC .text:000D8CEA ADD SP, R4 .text:000D8CEC MOV R11, R1 .text:000D8CEE MOV R1, R10 .text:000D8CF0 STR R3, [SP,#0x288+var_288] .text:000D8CF2 LDR R3, [R1,R3] .text:000D8CF4 MOVS R4, R0 .text:000D8CF6 ADD R5, SP, #0x288+var_14C .text:000D8CF8 LDR R3, [R3] .text:000D8CFA MOVS R7, #0 .text:000D8CFC ADD R6, SP, #0x288+var_24C .text:000D8CFE STR R3, [SP,#0x288+var_2C] .text:000D8D00 BL _Z7InitABCv ; InitABC(void) .text:000D8D04 MOVS R0, R4 .text:000D8D06 MOVS R1, R5 .text:000D8D08 BL _Z7MsgTrimPKcPc ; MsgTrim(char const*,char *) .text:000D8D0C MOVS R1, #1 .text:000D8D0E MOVS R0, R5 .text:000D8D10 NEGS R1, R1 .text:000D8D12 BL _Z8RC4_InitPKci ; RC4_Init(char const*,int) .text:000D8D16 MOVS R2, #0x80 .text:000D8D18 LSLS R3, R2, #1 .text:000D8D1A MOV R9, R3 .text:000D8D1C
|