汇编语言端口

本文介绍了CPU如何通过端口与外部设备进行通信,包括端口的引入、读写操作,以CMOS RAM芯片为例阐述端口读写的步骤,并讲解了汇编语言中的shl和shr指令在数据移位中的作用。
摘要由CSDN通过智能技术生成

端口


1.端口的引入

在PC机系统中,和CPU通过总线相连的芯片除各种存储器外,还有以下3种芯片:

  1. 各种接口卡(比如,网卡、显卡)上的接口芯片,它们控制接口卡进行工作

  2. 主板上的接口芯片,CPU通过它们对部分外设进行访问

  3. 其他芯片,用来存储相关的系统信息,或进行相关的输入输出处理

在这些芯片中,都有一组可以由CPU读写的寄存器。这些寄存器,它们在物理上可能处于不同的芯片中,但是它们在以下两点上相同:

  1. 都和CPU的总线相连,这种连接是通过它们所在的芯片进行的
  2. CPU对它们进行读或写的时候都通过控制线向它们所在的芯片发出端口读写命令

从CPU的角度,将这些寄存器都当作端口,对它们进行统一编址,从而建立了一个统一的端口地址空间,每一个端口在地址空间中都有一个地址。在访问端口的时候,CPU通过端口地址来定位端口。因为端口所在的芯片和CPU通过总线相连,CPU可以直接读写以下3个地方的数据:

  1. CPU内部的寄存器
  2. 内存单元
  3. 端口

2.端口的读写

  1. 端口地址和内存地址一样,通过地址总线来传送。在PC系统中,CPU最多可以定位64KB个不同的端口。则端口地址的范围为0-65535
  2. 端口的读写指令只有两条:inout,分别用于从端口读取数据和往端口写入数据
  3. 在in和out指令中,只能使用ax或al来存放从端口中读入的数据或要发送到端口中的数据
;0~255以内的端口进行读写时:    
in
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值