为什么8086CPU的地址线有20根而最大可寻址的存储空间只有1MB?

WBOY
发布: 2024-01-19 20:12:23
转载
1117 人浏览过

为什么8086CPU的地址线有20根而最大可寻址的存储空间只有1MB?

为什么8086CPU的地址线有20根而最大可寻址的存储空间只有1MB?

答:8086 CPU的寻址范围为1MB。这是因为8086 CPU的地址线有20条,2^20等于1024KB,即1MB。然而,在8086系统中,指令只提供了16位的地址,与寻址相关的寄存器也只有16位长。因此,寻址范围仅有64KB。为了能够寻址1MB的内存空间,8086 CPU将内存划分为四个逻辑段。当CPU访问内存时,段寄存器的内容(段基址)会自动左移4位(以二进制表示),然后与段内的16位地址偏移量相加,从而形成20位的物理地址。

在分段结构的存储器中,每个逻辑地址由16位的段基址和偏移地址组成。

物理地址:存储器的绝对地址,从00000H~FFFFFH,是CPU访问存储器的实际寻址地址(也称为绝对地址)

16位的段基址左移4位(相当于在段基址最低位后添4个“0”),与偏移地址相加获得物理地址。

物理地址=段基址*16+偏移地址

?

在分段结构的存储器中,每个逻辑地址由16位的段基址和偏移地址组成。

物理地址:存储器的绝对地址,从00000H~FFFFFH,是CPU访问存储器的实际寻址地址(也称为绝对地址)

16位的段基址左移4位(相当于在段基址最低位后添4个“0”),与偏移地址相加获得物理地址。

物理地址=段基址*16+偏移地址

12汇编语言。一 80868088CPU允许的最大存储空间为其物

(1/2)汇编语言。一,8086/8088CPU允许的最大存储空间为(1MB+65520),其物理地址编号从(00000)到(ffff0+ffff+1=10FFF0)H。二、十进制数-46的十六进制数表示为(0FFD2h或0D2H)

十进制数46的十六进制数表示为2EH

Microsoft Windows XP [版本 5.1.2600]

(C) 版权所有 1985-2001 Microsoft Corp.

C:Documents and SettingsAdministrator>debug

-a

0AFE:0100 mov ax,2e

0AFE:0103 xor bx,bx

0AFE:0105 sub bx,ax

0AFE:0107

-t

AX=002E BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=0AFE ES=0AFE SS=0AFE CS=0AFE IP=0103 NV UP EI PL NZ NA PO NC

0AFE:0103 31DB XOR BX,BX

-t

AX=002E BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=0AFE ES=0AFE SS=0AFE CS=0AFE IP=0105 NV UP EI PL ZR NA PE NC

0AFE:0105 29C3 SUB BX,AX

-t

AX=002E BX=FFD2 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=0AFE ES=0AFE SS=0AFE CS=0AFE IP=0107 NV UP EI NG NZ AC PE CY

0AFE:0107 0029 ADD [BX+DI],CH DS:FFD2=00

-

在8086系统中有几个可寻址空间?各有多大

寄存器是16位的,例如AX,BX,SI,DI都是16位的,它们能表示的地址码所以只有16位的。2的16次方等于64K,这是我们作为程序编写者能通过寄存器直接访问的内存空间。而8086/8088CPU提供的地址总线有20位,2的20次方等于1M,这是CPU它自己能访问的最大内存空间。

这就有个矛盾了:CPU能访问1M内存,而寄存器却只能表示64K内存大小。所以就引入段地址和偏移地址的概念。把这1M 的内存空间分成64K大小的一段段,指定哪一段,然后再在这个段的开始加上“偏移地址”,这不就可以访问1M内存的任意空间了?

段地址怎么得到的问题:

比如在汇编数据段某处声明了某个字符变量 STR

MOV DX,SEG STR

通过SEG 语句则可把STR所在段地址取出来,送给DX.

一上内容希望对你有帮助!

以上是为什么8086CPU的地址线有20根而最大可寻址的存储空间只有1MB?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:docexcel.net
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!