2.4 8086微处理器的存储器管理
1.存储单元的地址和内容
计算机存储信息的基本单位是一个二进制位(bit)。一位可存储一个二进制数:0或1,每8位组成一个字节。
微机中常用的数据类型有:
·字节:存储器中存取信息的基本单位。我们常说某存储器容量是64MB,就是说该存储器有64M(1M=220)个字节。其位编号如图2.5(1)所示。
·字:一个字16位,占用两个字节,8086的字长就是16位的。一个字的位编号如图2.5(2)所示。
·双字:一个双字32位,由4个字节组成。其位编号如图2.5(3)所示。
·四字:一个四字64位,由8个字节组成。其位编号如图2.5(4)所示。
图2.5
数据类型

在存储器里以字节为编址单位,也就是说给每个字节分配一个地址号,地址从0开始编号,依次递增1。地址在机器中用无符号二进制数表示,可简写为十六进制数的形式。一个存储单元中存放的信息称为该单元的内容。例如,2号单元中存放了一个数据8,则表示为:(2)=8。
对于字、双字、四字数据类型,其低地址中存放低位字节数据,高地址中存放高位字节数据。在读写数据时只需给出最低单元的地址号即可,然后依次存取后续字节。
例如,存储器现存有以下数据(后缀H表示是十六进制数):
地址:
|
9
|
8
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
内容:
|
0EH
|
0DH
|
0CH
|
0BH
|
0AH
|
89H
|
67H
|
45H
|
23H
|
01H
|
对于不同的数据类型,取地址为2的数据分别是:
(2)字节=45H
(2)字 =6745H
(2)双字=0A896745H
(2)4字=0E0D0C0B0A896745H
可以看出,同一个地址既可看作字节单元的地址,又可看作字单元、双字单元或4字单元的地址,这要根据使用时的情况来确定。而且多字节数据在存储器中是"逆序存放"的。
字单元的地址可以是偶数,也可以是奇数。但是,在8086中,访问存储器(要求取数或存数)都是以字为单位进行的,也就是说,机器是以偶地址访问存储器的。这样,对于奇地址的字单元,要取一个字需要访问二次存储器,这就需要花费较多的时间。
如上所述,如果用X表示某存储单元的地址,则X单元的内容可以表示为(X);假如X单元中存放着Y,而Y又是一个地址,则可用(Y)=((X))来表示Y单元的内容。