汇编12--端口

12.1端口的读写
CPU可以直接读写以下3个地方的数据:
(1)CPU内部的寄存器
(2)内存单口
(3)端口

对端口的读写不能用mov、push、pop等内存读写指令。端口的读写指令只有两条:in 和 out ,分别用于从端口读取数据和往端口写入数据。
访问端口:
in 寄存器,端口号(存放端口号的寄存器) //从该端口号读取一字节数据到寄存器
out 端口号(存放端口号的寄存器),寄存器 //将寄存器的数据写入指定端口
eg:
int al,60h ; //从60h号端口读入一个字节

在in和out指令中,只能使用ax或al来存放从端口中读入的数据或者要发送到端口中的数据。访问8位端口时用al,访问16位端口时用ax。
不能用立即数和端口号表示
out 71h,2 这样写是错的,汇编指令操作数一定要包含寄存器

in al,20h //从20h端口读入一个字节
out 20h,al //从20h端口写入一个字节

12.2CMOS RAM芯片
特点:
(1)包含一个实时钟和一个128个存储单元的RAM存储器
(2)该芯片靠电池供电。所以关机后其内部的实时钟仍可继续工作,RAM中的信息不丢失。
(3)内部实时钟占用0-0dh单元来保存时间信息。
(4)该芯片内部有两个端口,端口地址为70h和71h。CPU通过这两个端口来读写CMOS RAM。
(5)70h为地址端口,存放要访问的CMOS RAM单元的地址;71h为数据端口,存放从选定的CMOS RAM单元中读取的数据,或要写入到其中的数据。

eg:读取CMOS RAM的2号单元的内容
mov al,2
out

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值