我试图更深入地理解。因此,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
符号,但我什么也没找到。最后,我在c文件中发现switch_to_osf_pal
以这种方式被调用switch_to_osf_pal(2, pcb_va, pcb_pa, VPTB);
这个函数是用这个参数调用汇编函数的吗?
很抱歉,如果有很多问题,但我没有找到任何明确的文档
答案 0 :(得分:3)