8086/8088有20条地址线,它的直接寻址能力为1MB。也就是在一个系统中可以有多达1MB的存储器,地址从00000H—FFFFFH。给定任意一个20位物理地址,就可以从中取出需要的指令和操作数。但是8086/8088CPU只能进行16位运算。与地址有关的寄存器SP、IP、BP、SI、DI也都是16位的,所以对地址的运算也只能是16位的。对于8086/8088来说,无论采用哪种寻址方式,寻找操作数的范围最大是2^16,也就是64K。如何才能形成20位的物理地址呢。系统先将1MB存储器以64KB为范围分成若干段。在寻址一个具体物理地址时,由一个基本地址再加上由SP或IP等可由CPU处理的16位偏移量来形成20位物理地址。
当系统需要产生一个20位地址的时候,一个段寄存器会自动被选择。且自动左移4位再与一个16位地址偏移量相加产生所需的20位地址 [1] 。
例如:数据段DS寄存器的值=0088H
偏移地址=22H
那么生成的20位物理地址等于 00880H+22H=008A2H
1M等于2^20bytes
1M=1024KB,1KB=1024Bytes,故1M=1024*1024=2^20Bytes。
数据存储是以“字节”(Byte)为单位,bai数据传输大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是最小一级的信息单位。
该字节大小历来依赖于硬件,也没有明确的标准,存在这一任务的大小。而事实上的标准的八位是一个方便的两个电源允许通过一个255字节的值0。许多类型的应用程序使用的变量在八个或更少位表示的,与处理器设计优化这一共同使用。
扩展资料: 其他的存储容量单位换算如下:
1、1GB(Gigabyte,吉字节,十亿字节,又称“千兆”)=1024MB= 10^9 B;
2、1TB(Terabyte,万亿字节,太字节)=1024GB= 10^12 B;
3、1PB(Petabyte,千万亿字节,拍字节)=1024TB= 10^15 B;
4、1EB(Exabyte,百亿亿字节,艾字节)=1024PB= 10^18 B;
5、1ZB(Zettabyte,十万亿亿字节,泽字节)= 1024EB= 10^21 B;
6、1YB(Yottabyte,一亿亿亿字节,尧字节)= 1024ZB= 10^24 B;
7、1BB(Brontobyte,一千亿亿亿字节)= 1024YB= 10^27 B;
8、1NB(NonaByte,一百万亿亿亿字节) = 1024BB = 10^30B;
9、1DB(DoggaByte,十亿亿亿亿字节) = 1024 NB = 10^33 B。