2013-04-03 34 views
5

我想更深入地了解操作系统。所以,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是标签吗?所以一旦它在另一个和平的代码中被调用,它会被调用吗?我试图谷歌了解ldgpcall_pal符号,但我什么也没找到。最后,我在c文件中发现switch_to_osf_pal这样叫switch_to_osf_pal(2, pcb_va, pcb_pa, VPTB);这个函数是用这个params调用汇编函数的吗?

很抱歉,如果有一个得多的问题,但我没有找到任何明确的文档

+0

这是Alpha架构的代码?如果你想探索linux引导加载程序,你可能会更容易地找到信息,如果你探索一个更常见的架构 – msam

+0

@msam我认为它确实是一个Alpha架构。我应该探索什么样的建筑? – Newben

+1

x86和胳膊浮现在脑海中... – msam

回答

相关问题