Linux内核
文章平均质量分 78
smallgeneral
这个作者很懒,什么都没留下…
展开
-
AT&T语法
<br />.6.2 AT&T汇编语言的相关知识<br /> 在Linux源代码中,以.S为扩展名的文件是“纯”汇编语言的文件。这里,我们结合具体的例子再介绍一些AT&T汇编语言的相关知识。<br /> 1.GNU汇编程序GAS(GNU Assembly和连接程序<br />当你编写了一个程序后,就需要对其进行汇编(assembly)和连接。在Linux下有两种方式,一种是使用汇编程序GAS和连接程序ld,一种是使用gcc。我们先来看一下GAS和ld:<br />GAS把汇编语言源文件(.o)转换为原创 2011-04-07 18:42:00 · 943 阅读 · 0 评论 -
内核的创建流程与代码分析
<br />1. 顶层Makefile分析<br />核心代码:<br />all: vmlinux<br />vmlinux: $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) vmlinux.o $(kallsyms.o) FORCE<br /># vmlinux is built from the objects selected by $(vmlinux-init) and(vmlinux-main)<br />vmlinux-init := $(h原创 2011-04-10 16:07:00 · 1256 阅读 · 0 评论 -
jmp指令
最近看链接器源码中,对位置无关代码PIC(共享库)的链接问题,发现对call和jmp很多不常用的用法,这里试验并总结了一下各种用法。<br />我们最常用的jmp形式,就是 jmp后面跟个标签!这个没什么可说的! 假如标签叫做mylabel,它的地址是0x8048377,而且有个全局变量b,b存储的内容就是mylabel的地址,而b的地址是0x80494A8。即有这样的赋值(加载)语句:movl$mylabel,%eax//把mylabel的地址加载到eax寄存器中<br />movl%eax,b//把my转载 2011-04-11 00:59:00 · 17044 阅读 · 0 评论 -
内联汇编
我爱南开站 -- ziyuan的个人文集 发信人: Thunder (小正哥), 信区: LinuxDev标 题: Linux 中 x86 的内联汇编 ZZ发信站: 我爱南开站 (2004年02月23日01:39:24 星期一), 站内信件http://www-900.ibm.com/developerWorks/cn/linux/sdk/assemble/inline/index.shtml Linux 中 x86 的内联汇编将各个部分组合起来 Bharata转载 2011-05-06 20:22:00 · 666 阅读 · 0 评论