我正在尝试更深入地了解操作系统。所以,linux引导必须处理一个汇编文件。我知道,mov, push, pop,
但在这里我很迷茫:
.globl __start
.ent __start
__start:
br $29,2f
2: ldgp $29,0($29)
jsr $26,start_kernel
call_pal PAL_halt
.end __start
switch_to_osf_pal:
subq $30,128,$30
...
如果我说那__start
是一个标签,我是对的吗?那么一旦在其他代码和平中调用它就会被调用吗?我试图用谷歌搜索以了解ldgp
, 或call_pal
符号,但我一无所获。switch_to_osf_pal
最后,我在以这种方式调用的c文件中找到了switch_to_osf_pal(2, pcb_va, pcb_pa, VPTB);
这个带这个参数的函数调用汇编函数吗?
抱歉,如果有太多问题,但我没有找到任何明确的文档