在TC2中塌型激,asm是一个关键字(key word)用来在程租扒序中嵌入汇编语言。使用asm关键字的格式为:
asm {
汇编程序语句块
}
因为asm是TC2的关键字,所以用asm嵌入汇编程序不需要特殊的头文件。
在你的程序中,函数iowrite 和 ioread是利用嵌入汇编程序团袜实现的。按常规方法向函数传入参数,调用,获取返回值。也就是说,用汇编实现的函数与常规函数没有什么差异。
1. 这是内核源码的头文件,一般人不敢说都熟悉滴。2. 以linux开头的的头文件,如<linux/file.h>对应源码目录树的include/linux/file.h
3. 以asm开头的头文件,如<asm/file.h>对应源码目录树的arch/***/include/asm/file.h, 其中***对应某个具体的清仔平台。
4. 仔细研读并读懂过linux源码1/10的人,绝对是高手中的高手,不会出现在这里回答问题。
5. 我是菜鸟,春正源码只看了一点。
6. 劝楼主答森汪别浮躁,想学内核驱动,要能静的下来,认真看书。
1、C/C++中只能在_asm{}标识符对中嵌入汇编代码。2、不调用 *** 作系统的函数(如:MessageBox)、库函数(如:strcpy)就不需要加入头文件。
31、mov dx,ABCDEFG表示将一个立即数转移到dx中
32、in al,dx表示从端口[dx]中读取一个字节数据到al中
33、CLC表示清除CF位(进位标志)
34、JNC $+2表示当CF=0才跳转的条件(是没有进位则跳转)
$+2表示从当前指令结束位置向后偏移2个字节地址
$表示当前行被汇编后的地址
$$表示程序节的开始地址
35、mov Status,al表示将al中的内容转移到Status(估计轿渗饥是个寄存器别名)中。
4、整体的意思就是从某个端口中读个数据,强制清除进位标志,跳转到该段尾部喊嫌位置。闭返
具体业务上为何意思,没有完全猜测出来。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)