在uboot的920T中有如下一段代码:<br /> mov r0, #0<br /> ldr r1, uboot_ram_base_addr<br /> mov r2, #0x400 @ compare first 4-K bytes<br />1001: ldr r3, [r0], #4<br /> ldr r4, [r1], #4<br /> teq r3, r4<br /> bne 1002f @ not matched<br /> subs r2, r2, #4<br /> beq 1003f<br /> b 1001b<br /><br />1002:<br /> ldr r0, =GPFDAT<br /> ldr r1, =0x30<br /> str r1,[r0]<br /><br /><br />1: b 1b<br /><br />1003:<br /><br /> ldr r0, =GPFDAT<br /> ldr r1, =0x40<br /> str r1,[r0]<br /><br /><br /> @ jump to ram<br /> ldr r0, uboot_ram_base_addr<br /> add pc, r10, r0 /* fake ^^; return here. */<br /><br />copy_myself_failed:<br />1: b 1b<br /><br />这里面为什么每个跳转(比如1001,1002,1003)后面都带一个字母呢?如(1001f,1002f,1003b)等,理解为二进制或者十六进制似乎不妥。请教各位,有没有更好的解释? |
|