您的位置 首页 php

汇编语言 学习小结——端口

友情提醒各位捧场的朋友一句:

在你收藏夹里面的顶多算你的文档,在你脑子你的才算你的知识!

世间还是充斥着各种喧嚣,“珍爱生命,快用python”,“php是世界上最好的语言~”…

也总还有些人仍然坚信,“不会汇编的码农,不是一个好的程序猿!”

不闹,言回正传,上干货 ^-^

1.在PC机系统中,和CPU通过总线( 地址总线 数据总线 、控制总线)相连的芯片除各种存储器外,还有以下三种芯片。

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

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

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

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

1)都和CPU的总线相连

2)CPU对它们读写的时候都是通过控制总线向它们所在的芯片发出端口读写命令

从CPU的角度,这些芯片上的寄存器就是端口,对它们进行统一编址,从而建立一个统一的 地址 空间。每个端口在地址空间中都有地址。

2.CPU可以直接读写一下3个地方:

1)CPU内部的寄存器

2)内存单元

3)端口

3.在访问端口时,CPU通过端口地址来定位端口。端口地址通过地址总线传送,在PC系统中,CPU最多可以定位64kB个不同的端口。端口范围为0~65535。

4.端口读写指令有两条:in和out,分别用于从端口读取数据和往端口写入数据。

5.访问内存:

mov ax,ds:[8];假设(ds)=0

执行过程:

1)CPU通过地址线将地址信息8发出

2)CPU通过控制线发出内存读命令,选中存储器芯片,并通知它,将从中读取数据

3)存储器将8号单元中的数据通过数据线送入CPU

访问端口:

in al,60h

执行过程:

1)CPU通过地址线将地址信息60h发出

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

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

注意在in和out指令中,只能使用ax和al来存放从端口读入的数据或要发送到端口的数据。访问8位端口用al,访问16位端口时用ax。

6.CMOS RAM 芯片特点:

1)包含一个实时钟和一个由128个存储单元的RAM存储器

2)该芯片靠电池供电。所以,关机后其内部的实时钟仍然可以正常工作,RAM中的信息不丢失。

3)128个字节的RAM中,内部实时钟占0~0dh单元来保持时间信息,其余大部分单元用于保存系统配置信息,共系统启动 BIOS 程序读取。BIOS也提供了相关的程序,使我们可以在开机的时候配置CMOS RAM中的系统信息

4)改芯片内部有两个端口地址没70h和71h。CPU通过这两个端口来读写CMOS RAM

5)70h为地址端口,存放CMOS RAM单元的地址;71h为数据端口,存放从CMOS RAM单元中读取的数据,或要写入到其中的数据。

7.CMOS RAM中,存放着当前的时间:年、月、日、时、分、秒。这6个信息的长度都位1个字节,存放单元为:

这些数据已 BCD码 的方式存放。

以上是最近学习的一些要点总结,精彩持续更新中,不 喜可 喷哦~

文章来源:智云一二三科技

文章标题:汇编语言 学习小结——端口

文章地址:https://www.zhihuclub.com/151796.shtml

关于作者: 智云科技

热门文章

网站地图