LinuxARMC语⾔中调⽤汇编函数在系统启动移植的分析过程中的,会遇到⼏处C语⾔中调⽤汇编的函数,我们来⼀起看下。 1、lookup_processor_type函数
春天里 农民工
在启动分析的时候,从start_kernel -> setup_arch -> setup_processor -> lookup_processor_type
/*
* This provides a C-API version of __lookup_processor_type
*/49未知天命
ENTRY(lookup_processor_type)
stmfd sp!, {r4 - r6, r9, lr}
mov r9, r0
bl __lookup_processor_type
mov r0, r5
ldmfd sp!, {r4 - r6, r9, pc}
ENDPROC(lookup_processor_type)
超前位
2、printascii 函数
ENTRY(printascii)
addruart_current r3, r1, r2
石像
b 2f
1: waituart r2, r3
senduart r1, r3
busyuart r2, r3
teq r1, #'\n'
moveq r1, #'\r'
beq 1b
2: teq r0, #0
郑樟林ldrneb r1, [r0], #1
丁二酸酐teqne r1, #0
bne 1b
mov pc, lr
ENDPROC(printascii)