在linux内核中有这样的一段程序,查了资料才看懂的,赶快就记下来了:
使用的是GNU as汇编语言:(这个汇编真的很烦人)
movb $0x36,%al;
movl $0x43,$edx;
outb %al,%dx;
movb $latch,%eax;
movl $0x40,$edx;
outb %al,%dx;
movb %al,%ah;
outb %al,%dx;
上面的一段程序的前三句是
选择计数器
0
工作于方式
3
,
二进制计数方式;(0x43是端口地址,0x36转换成二进制是00110110)
下面的四句是: 设置
计数初值为latch
,控制寄存器读写指示位设定的是:先读写低字节,后读写高字节