今天还看到:
__lookup_processor_type:
adr r3, __lookup_processor_type_data
ldmia r3, {r4 - r6}
sub r3, r3, r4 @ get offset between virt&phys
add r5, r5, r3 @ convert virt addresses to
add r6, r6, r3 @ physical address space
1: ldmia r5, {r3, r4} @ value, mask
and r4, r4, r9 @ mask wanted bits
teq r3, r4
beq 2f
add r5, r5, #PROC_INFO_SZ @ sizeof(proc_info_list)
cmp r5, r6
blo 1b
mov r5, #0 @ unknown processor
2: ret lr
有时候,我们看到跳转标签用1f,1b等,比如上面代码中的2f,1b,其实很好理解:
beq 2f ,向前跳转到标签2处,2f中的f其实是forward的意思;blo 1b,向后跳转到标签1处,1b中的b是backward的意思。
|