- 物理地址:CPU访问内存单元时,要给出内存单元的地址。所有的内存单元构成的存储空间是一个一维的线性空间,每一个内存单元在这个空间中都有唯一的地址,我们将这个唯一的地址称为物理地址。
- 16位结构的CPU:
- 运算器一次最多可以处理16位的数据;
- 寄存器的最大宽度为16位;
- 寄存器和运算器之间的通路为16位。
也就是说,在8086内部,能够一次性处理、传输、暂时存储的信息的最大长度是16位的。内存单元的地址在送上地址总线之前,必须在CPU中处理、传输、暂时存放,对于16位CPU,能一次性处理、传输、暂时存储16位的地址。
-
8086CPU有20位地址总线,可以传送20位地址,达到1MB寻址能力。
-
8086CPU是16位结构,在内部一次性处理、传输、暂时存储的地址为16位,表现出的寻址能力只有64KB。
-
8086CPU采用一种在内部用两个16位地址合成的方法来形成一个20位的物理地址。
- 物理地址 = 段地址x16+偏移地址。
-
物理地址 = 段地址x16+偏移地址的本质含义:CPU在访问内存时,用一个基础地址(段地址x16)和一个相对于基础地址的偏移地址相加,给出内存单元的物理地址。
- 在编程时可以根据需要,将若干个地址连续的内存单元看做一个段,用段地址x16定位段的起始地址(基础地址),用偏移地址定位段中的内存单元。有两点需要注意:
- 段地址x16必然是16的倍数,所以一个段的起始地址也一定是16的倍数。
- 偏移地址为16位,16位地址的寻址能力为64KB,所以一个段的长度最大为64KB。
转载请注明:guanjianhe的博客 » 汇编笔记02