80x86 I/O端口数

jyicai 2009-03-17 10:20:03
80x86中,可直接由指令指定的I/O端口数?怎么不是256*256呢?
...全文
439 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnzdgs 2009-03-19
  • 打赏
  • 举报
回复
端口立即寻址用1字节的立即数表示地址,1字节能表示的范围是0~255,一共256个。
jxc25 2009-03-18
  • 打赏
  • 举报
回复
8位是标准运算不能少,16位不是标准运算可以少
80x86已经做到了
BAYNPU 2009-03-18
  • 打赏
  • 举报
回复
255是端口号不是指令,怎么算出来:00H~FFH=255个端口号(D).
jyicai 2009-03-18
  • 打赏
  • 举报
回复
我想问的是256怎么算出来的,不是指令啊。大家能不能讲具休点,直接寻址怎么只能是00h-ffh.
BAYNPU 2009-03-18
  • 打赏
  • 举报
回复
输入指令IN
IN AL,I8;字节输入AL<-I/O端口I8
IN AX,I8;字输入AL<-I/O端口I8,AH<-I/O端口I8+1
IN AL,DX;字节输入AL<-I/O端口[DX]
IN AX,DX;字输入AL<-I/O端口[DX],AH<-I/O端口[DX+1]
jyicai 2009-03-18
  • 打赏
  • 举报
回复
寻址前256个端口时,输出/输出指令可以用直接寻址,其范围为00~FF,为什么啊?直接寻址用的是哪个寄存器。
BAYNPU 2009-03-18
  • 打赏
  • 举报
回复
8086用于寻址外设端口的地址线为16条,可以分配的端口最多为2^16=65536个(64K),端口为0000H~FFFFH,每个端口用于传送外设的一个字节数据,寻址前256个端口时,输出/输出指令可以用直接寻址,其范围为00~FF;当寻址大于256的外设端口时,只能使用DX寄存器作为间接寻址,其为范围:0000H~FFFFH.
cnzdgs 2009-03-17
  • 打赏
  • 举报
回复
255一下的端口可以立即寻址;255以上的端口需要用DX寄存器间址。
jxc25 2009-03-17
  • 打赏
  • 举报
回复
是256个,我错了.
jxc25 2009-03-17
  • 打赏
  • 举报
回复
是64k个啊.

21,497

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧