本帖最后由 yjmwxwx 于 2019-12-24 15:21 编辑
胡乱写个程序做个试验,数太长,没仔细看,你自己对比下看看行不行。
ldr r0, = 0x20000500
movs r1, # 10
bl __yi_wei
bkpt # 2
__yi_wei:
[url=home.php?mod=space&uid=72445]@[/url] r0=地址 r1=长度
push {r4-r7,lr}
mov r12, sp
lsls r1, r1, # 5
adds r1, r1, r0
mov r11, r1
__xun_huan:
mov sp, r0
pop {r0-r7}
adcs r0, r0, r0
adcs r1, r1, r1
adcs r2, r2, r2
adcs r3, r3, r3
adcs r4, r4, r4
adcs r5, r5, r5
adcs r6, r6, r6
adcs r7, r7, r7
push {r0-r7}
mov r0, sp
adds r0, r0, # 0x20
cmp r0, r11
bne __xun_huan
mov sp, r12
pop {r4-r7,pc}
运行前
运行后
|