看到有些代码使用inportb、outportb函数,其中portid这个参数直接使用了16进制地址(并且在注释中指明这个地址是计时器或扬声器什么的),那请问这个端口地址是如何确定的?
直接这样使用……难道所有的计算机都是这个值?制定了标准端口地址?
硬件决定的?那如何自己查询每个端口地址?
难道都得查那个什么表?那表是怎么出来的?
windows中“附件”“系统信息”查到的值太笼统。
小白第一次接触,要是问得有些幼稚,还请各位高手包涵~
inport、outport等函数的端口地址参数如何确定?
答案:4 悬赏:40 手机版
解决时间 2021-01-26 04:00
- 提问者网友:温旧梦泪无声
- 2021-01-26 00:19
最佳答案
- 五星知识达人网友:北城痞子
- 2021-01-26 01:25
题目中,提到了windows,看来楼主所说的计算机,是常用的PC机。
PC机,是80年代初期由 IBM 公司开发的硬件系统,微软开发的软件系统。
PC机内部的端口地址,都是 IBM 公司设计的,并向外公开了这些数据(就是楼主说的什么表)。
此后,其它公司相继开发了自己品牌的PC机,其中的端口地址,都和 IBM 的相同,这就叫“兼容”机。
目前,常见的各个品牌的兼容 PC 机,其端口地址都是兼容 IBM 的。
如果这些技术数据,和 IBM 设计的不同,就不是兼容机。
PC机,是80年代初期由 IBM 公司开发的硬件系统,微软开发的软件系统。
PC机内部的端口地址,都是 IBM 公司设计的,并向外公开了这些数据(就是楼主说的什么表)。
此后,其它公司相继开发了自己品牌的PC机,其中的端口地址,都和 IBM 的相同,这就叫“兼容”机。
目前,常见的各个品牌的兼容 PC 机,其端口地址都是兼容 IBM 的。
如果这些技术数据,和 IBM 设计的不同,就不是兼容机。
全部回答
- 1楼网友:三千妖杀
- 2021-01-26 04:55
列的 这些 函数 不是 dos下 的吧?
和 windows 下 不一样 哦
- 2楼网友:酒醒三更
- 2021-01-26 03:24
你好!
inportb、outportb这两个函数只能在dos下用,windows nt下不允许直接访问端口的。
在dos下很多端口都是标准的,是确定的,可以直接用。操作之前你必须事先知道硬件的端口地址。
如有疑问,请追问。
- 3楼网友:神鬼未生
- 2021-01-26 02:21
看具体情况了。
比如串口,汇编中可以直接使用sbuf,计算机上地址一般都是0x3F8或0x2F8,这些都是有规定的,就是你说的所谓的表。
表是人为规定的,大家都按照这个标准做就可以了。
做的多了,自然就记住了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯