8086汇编 端口 以及外部中断

PC机端口与中断机制
本文详细介绍了PC机系统中端口的概念及其工作原理,包括端口地址空间的分配和访问方式。此外还深入探讨了中断机制的作用及其实现过程。

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

1,各种接口卡(网卡,显卡)上的接口芯片

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

3,其他芯片,用来储存相关的系统信息

这些芯片中,都是一组可以由CPU读写的寄存器。这些芯片上的寄存器就是端口。

从CPU角度来看,将这些寄存器(三组芯片中的)都当做端口,对它们进行统一编址,从而建立了一个统一的端口地址空间,每个端口在空间中都有一个地址。

在PC中,端口地址范围为0~65535,可以最多定义64K个不同的端口。

CPU可以直接读写三个地方上的数据:

CPU内部的寄存器、内存单元、端口

 

 

由于端口是一个独立的存在,他们有他们的端口地址空间,所以对端口的访问,我们不能还是通过mov这样的指令了,我们通过 in , out 指令。比如:

in al, 60h; 就是我们从60h这个端口读取一个字节到al寄存器中去。

注意:只能使用al,或者ax从储存从端口获取的内容。

 

 

shl , shr 指令:

移位,进位的那位储存在CF中,补位为0

 

 

现在考虑一个问题,比如我们通过键盘输入一个字符进入PC,那么CPU是如何知道我们输入了的呢?

这里就是中断起作用了,CPU在每执行完一个指令后,会检查IF标志位,如果是1,则表明了有一个外部中断来了,然后cpu开始处理外部中断了,这和前面讲的处理内部中断一样,这也为什么前面讲的要将IF清0了。

我们总结下,当一个外设接收到一个数据了,它将这个数据存放在一个寄存器里,也就是端口中,然后外设发送中断请求,CPU判断中断源,并进行相应的中断处理。最后我们再中断处理程序中,去端口获取这个数据,然后处理,最后返回。

 

 

 

 

转载于:https://my.oschina.net/u/178323/blog/33603

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值