--端口--

目录

一、端口的读写

二、shl和shr指令


 

         我们在之前所讲过,各种存储器都和CPU的地址线、数据线、控制线相连。CPU在操控它们的时候,把它们当做内存来看待,把它们总地看做一个由若干存储单元组成的逻辑存储器,这个逻辑存储器我们称为内存地址空间。

        在PC机系统中,和CPU通过地址总线相连的芯片除各种存储器外,还有以下三中国芯片:
(1)各种接口卡上的接口芯片,它们控制接口卡进行工作。

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

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

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

(1)都和CPU的总线相连。

(2)CPU对它们进行读或写的时候都通过控制线向它们所在的芯片发出端口读写指令。

        CPU可以直接读写以下三个地方的数据:
(1)CPU内部存储器。

(2)内存单元。

(3)端口。

一、端口的读写

1.在访问端口的时候,CPU通过端口地址来定位端口。因为端口所在的芯片和CPU通过总线相连,所以端口地址和内存地址一样。通过地址总线来传送。在PC系统中,CPU最多可以定位64KB个不同的端口。

2.端口的读写指令有两条:in和out。

3.访问端口:
in al,60h;  从20h端口读入一个字节。

执行时与总线相关的操作如下:
(1)CPU通过地址总线将地执信息60h发出。

(2)CPU通过控制线发出端口读命令,选中端口所在芯片,并通知它,将要从中读取数据。

(3)端口所在芯片将60h端口中数据通过数据线送入CPU。

二、shl和shr指令

1.shl和shr是逻辑移位指令。

2.shl是逻辑左移指令,它的功能为:
(1)将一个寄存器或内存单元中的数据向左移位。

(2)将最后移出的一位写入CF中。

(3)最低位用0补充。

3.指令:
mov al,01001000b

shl al,1;将al中的数据左移一位。

执行后(al)=1001000b,CF=0.

4.shr是逻辑右移指令,它和shl所进行的操作刚好相反。

(1)将一个寄存器或内存单元中的数据向右移位。

(2)将最后移出的一位写入CF中。

(3)最高位用0补充。

5.指令:

mov al,10000001b

shr al,l;将al中的数据右移一位。

 

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

*ppsuc*

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

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

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

打赏作者

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

抵扣说明:

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

余额充值