X86代码段概念||寄存器

一. X86段,代码段概念

(X86有20根地址线,寻址能力为1MB,CPU为16位,一次处理16位二进制数,采用物理地址=段地址X16+偏移地址的方式寻址。)

编程需要时,可以将内存空间的一段连续的地址定义为一个段。

其中段地址一定是16的倍数,即一个个位为0的16进制5位数。段的最大长度受到偏移地址寻址能力的制约,X86偏移地址寻址能力为64KB。

存放代码的段内存称之为代码段,将一段内存看作代码段,只是编程考虑,与硬件CPU等无关。

二. 寄存器

地址单元:内存的最小单元的地址,每个单元8位。连续,0,1,2,3,4……

地址字单元:内存的最小字单元地址,每个单元两个地址单元,16位,存一个字,间隔,0,2,4,6……

DS 和 [address] 

DS寄存器:存放要访问的数据的段地址,

读取10000H地址的数据:

mov bx,1000H

mov ds,bx

mov al,[0]    //将一个内存单元中的值送到寄存器中。

格式:

mov 寄存器名,内存单元地址

[address]表示一个内存单元,其中的address表示内存单元的偏移地址。

执行时,CPU自动取ds寄存器中的值作为内存单元的首地址。

注意:
X86不支持直接将数据送入段寄存器(硬件设计),只能用一个寄存器(例子中bx)进行中转。

猜你喜欢

转载自blog.csdn.net/lgq0409/article/details/83962677
今日推荐