永发信息网

inport、outport等函数的端口地址参数如何确定?

答案:4  悬赏:40  手机版
解决时间 2021-01-26 04:00
  • 提问者网友:温旧梦泪无声
  • 2021-01-26 00:19
看到有些代码使用inportb、outportb函数,其中portid这个参数直接使用了16进制地址(并且在注释中指明这个地址是计时器或扬声器什么的),那请问这个端口地址是如何确定的?

直接这样使用……难道所有的计算机都是这个值?制定了标准端口地址?

硬件决定的?那如何自己查询每个端口地址?
难道都得查那个什么表?那表是怎么出来的?

windows中“附件”“系统信息”查到的值太笼统。

小白第一次接触,要是问得有些幼稚,还请各位高手包涵~
最佳答案
  • 五星知识达人网友:北城痞子
  • 2021-01-26 01:25
题目中,提到了windows,看来楼主所说的计算机,是常用的PC机。

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,这些都是有规定的,就是你说的所谓的表。 表是人为规定的,大家都按照这个标准做就可以了。 做的多了,自然就记住了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯