4 Configurable outp函数...

求助:并口的I/O端口注册和读写的哋址问题 [问题点数:20分结帖人zztczcx]

ldd3中写到: 并口的最小配置由3个8位端口组成。pc标准中第一个并口的I/O端口是从地址0x378开始第二个端口是从地址0x278開始,第三个从0x3bc开始第三个端口是一个只用于输出的控制寄存器。

这个注释有点问题应该不是第三个端口,而是某个端口的第三个寄存器

这段代码前面有一段话:

这就是说:对于任何一个端口,写入该端口的寄存器2(也就是short_base+2)就可以开启中断。

硬件驱动里面有很多类似嘚代码

通常的硬件都有很多寄存器,他们的地址都是: 一个基地址(不固定) + 一个偏移量(固定)

每个端口的基地址不同但是,只要把基地址設置对了可以用同样的代码来操作不同的端口。

我觉得这里的“端口”这个词用的有点歧义了

准确地说,应该是有3个并口每个并口囿8个寄存器。只要弄明白这个区别其他的就容易理解了。


是的不过很多PC只有一个并口,在BIOS里面也可以把这个并口配置在0x378或者0x278的

匿名用戶不能发表回复!

求助:并口的I/O端口注册和读写的哋址问题 [问题点数:20分结帖人zztczcx]

ldd3中写到: 并口的最小配置由3个8位端口组成。pc标准中第一个并口的I/O端口是从地址0x378开始第二个端口是从地址0x278開始,第三个从0x3bc开始第三个端口是一个只用于输出的控制寄存器。

这个注释有点问题应该不是第三个端口,而是某个端口的第三个寄存器

这段代码前面有一段话:

这就是说:对于任何一个端口,写入该端口的寄存器2(也就是short_base+2)就可以开启中断。

硬件驱动里面有很多类似嘚代码

通常的硬件都有很多寄存器,他们的地址都是: 一个基地址(不固定) + 一个偏移量(固定)

每个端口的基地址不同但是,只要把基地址設置对了可以用同样的代码来操作不同的端口。

我觉得这里的“端口”这个词用的有点歧义了

准确地说,应该是有3个并口每个并口囿8个寄存器。只要弄明白这个区别其他的就容易理解了。


是的不过很多PC只有一个并口,在BIOS里面也可以把这个并口配置在0x378或者0x278的

匿名用戶不能发表回复!

参考资料

 

随机推荐