关于8086CPU给出物理地址的方法 汇编相关

8086CPU要访问地址为123C8H的内存单元,相关部件提供两个16位的地址,一个被称为段地址,一个被称为偏移地址,这个是怎么划分的?哪个是段地址,哪个是偏移地址?这两个地址跟123C8H有什么关系
123C8转化为16进制后是17位,那么这个寄存器高八位和低八位占满了会怎么样?再用一个寄存器吗?
新手,希望解答详细一点

物理地址
CPU访问内存单元时必须要给出内存单元的地址。所有的内存单元构成的存储空间是一个一维的线性空间。我们将这个唯一的地址称为物理地址。
注:一个内存单元为一个字节(Byte),即8位(bit)二进制位。
16位结构的CPU
概括的讲,16位结构描述了一个CPU具有以下几个方面特征:
1、运算器一次最多可以处理16位的数据。
2、寄存器的最大宽度为16位。
3、寄存器和运算器之间的通路是16位的。

作为16位结构的8086CPU给出物理地址的方法:

8086有20位外部地址总线,可传送20位地址,寻址能力为1MB。
8086内部地址总线为16位结构,它只能传送16位的地址,表现出的寻址能力却只有64KB。
注:
外部地址总线:CPU 与外部各器件(如内存、显存等)的通信线路集合。
内部地址总线:是CPU内部各器件(如寄存器、控制器、运算器等)的通信线路集合。
每一条通信线路可传达一个0或者1信号,因此,8086CPU外部总线能表示的最大二进制数据为1111 1111 1111 1111 1111。又由于内存单元的地址编号是从0开始的一元线性结构,因此外部地址总线能给出的最大的内存单元地址为2^20(2的20次方),因此,8086CPU寻址的最大范围是2^20Byte,即1MB.
同理,可知内部地址总线的寻址能力为64KB。
问题:那么,8086CPU如何用内部16位的数据转换成20位的地址呢?
答:8086CPU采用一种在内部用两个16位地址合成的方法来形成一个20位的物理地址~
8086CPU如何用内部16位的数据转换成20位的地址

8086CPU读写内存时,发生了这么一些事:
CPU中的相关部件提供两个16位的地址,一个称为段地址,另一个称为偏移地址;
段地址和偏移地址通过内部总线送入一个称为地址加法器的部件;
地址加法器将两个16位地址合并成一个20位的地址;追问

没写完。。。

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-08-03
占满后将无法正常运作,必须得要再用一个寄存器

关于8086CPU给出物理地址的方法 汇编相关
1、运算器一次最多可以处理16位的数据。2、寄存器的最大宽度为16位。3、寄存器和运算器之间的通路是16位的。作为16位结构的8086CPU给出物理地址的方法:8086有20位外部地址总线,可传送20位地址,寻址能力为1MB。8086内部地址总线为16位结构,它只能传送16位的地址,表现出的寻址能力却只有64KB。注:...

8086系统中的物理地址是如何得到的?假如Cs 200 IP 2100其物理地址应是...
【答案】:(1)物理地址是由逻辑地址变换得来的。当CPU需要访问存储器时,总线接口部件BIU的地址加法器自动完成如下的地址运算:段基址x 16+偏移地址,得到物理地址.(2)当CS=2000H, IP=2100H时,物理地址为02000H+2100H=04100H.

王爽8086汇编的问题,请指教
8086CPU的问题,该CPU是16位的,段地址16位,偏移地址16位,物理地址通过地址加法器后变20位,到底这个寻址是20位的还是16位的???--什么是《这个寻址》?=== 问:给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为——— 到———。起始地址: 00010H + 0000H = 00010H 终止...

8086\/8088存储器的物理地址是如何形成的?
8086寻址采用“段:偏移”的方式(如SS:BP),段地址寄存器和偏移地址寄存器都是16位长的,实际的线性地址是20位,由“(段 << 4) + 偏移”得到。32位CPU一般寻址空间也是32位线,直接产生32位的线性地址(不考虑描述符、分页等机制),因此不存在上述现象。另外,相关地,80286后就有了实模式与保护...

8086如何计算的物理地址
8086中含有存储器。存储器中每一个单元的地址可以用两种方法表示:1.逻辑地址:其表达形式为“段地址:段内偏移地址”。2.物理地址:CPU与存储器进行数据交换时在地址总线上提供的20位地址信息称为物理地址。物理地址=段地址×10H+段内偏移量 注:H为16进制,CS :代码段寄存器,...

在8086里 什么是物理地址,逻辑地址
存储器中每一个单元的地址可以用两种方法表示:1.逻辑地址:其表达形式为“段地址:段内偏移地址”。2.物理地址:CPU与存储器进行数据交换时在地址总线上 提供的20位地址信息称为物理地址。物理地址=段地址×10H+段内偏移量 CPU一次处理的数据是16位,地址总线实际上代表CPU的寻址能力,地址线为20条...

简述8086cpu取数据时是如何产生物理地址的,举例说明
发现16位二进制序列是用4位16进制数表示的,那么20位就是用5位16进制数表示,问题就变成了如何把两个4位16进制数合成一个5位16进制数,发现把某个地址左移一位不就出来20位地址了么?这个方法绝对可行,但如何实现,于是地址加法器就被设计出来了,如此一来,cpu可算跨入寻址到M级别的内存空间了,...

8086CPU怎么将逻辑地址转换成物理地址
如果逻辑地址:1500H 化为2进制 0001 0101 0000 0000 左移四位就是0001 0401 0000 0000 0000,即15000H 若偏移地址为1000H 则物理地址就是16000H 还有个简单的方法就是错位相加,1500 + 1000 160000

8086如何计算的物理地址
8086中含有存储器。存储器中每一个单元的地址可以用两种方法表示: \\x0d\\x0a1.逻辑地址:其表达形式为“段地址:段内偏移地址”。 \\x0d\\x0a2.物理地址:CPU与存储器进行数据交换时在地址总线上提供的20位地址信息称为物理地址。 \\x0d\\x0a物理地址=段地址×10H+段内偏移量\\x0d\\x0a注:...

请说明8086cpu逻辑地址变换为物理地址的变换方法
在8086cpu中,逻辑地址通常写成 xxxxH:yyyyH 的形式 其中,xxxxH 是段基地址,yyyyH 是偏移地址 (H表示xxxx和yyyy为16进制数)物理地址=段基地址×16 + 偏移地址 = xxxx0+yyyy

相似回答