在阅读Linux源代码时,你可能碰到一些汇编语言片段,有些汇编语言出现在以.S为扩展名的汇编文件中,在这种文件中,整个程序全部由汇编语言组成。有些汇编命令出现在以.c为扩展名的C文件中,在这种文件中,既有C语言,也有汇编语言,我们把出现在C代码中的汇编语言叫所“嵌入式”汇编。不管这些汇编代码出现在哪里,它在一定程度上都成为阅读源代码的拦路虎。 尽管C语言已经成为编写操作系统的主要语言,但是,在操作系统与硬件打交道的过程中,在需要频繁调用的函数中以及某些特殊的场合中,C语言显得力不从心,这时,繁琐但又高效的汇编语言必须粉墨登场。因此,在了解一些硬件的基础上,必须对相关的汇编语言知识也所有了解。 读者可能有过在DOS操作系统下编写汇编程序的经历,也具备一定的汇编知识。但是,在Linux的源代码中,你可能看到了与Intel的汇编语言格式不一样的形式,这就是AT&T的386汇编语言。
猜您喜欢
评论