您的位置 首页 > 科技

寄存器寻址指令 8086可以对寄存器 位寻址吗?

寄存器寻址指令

寄存器寻址指令 8086可以对寄存器 位寻址吗?

8086可以对寄存器 位寻址吗?

8086可以对寄存器 位寻址吗?

寻址模式是找到指令或操作数的存储地址的方法。8086提供了八种操作模式,理解这八种寻址模式需要结合8086微处理器的结构来研究。

寻址就是找到指令或操作数的存储地址,也就是找到操作数。最直接的寻址是立即寻址,操作数直接在指令中。

例如:movax,1234h;十六进制数1234H直接存储在寄存器AX中。

也可以访问内存,8位为一个字节,内存中的每个字节都有编号。这是地址。只要知道地址,是可行的。地址可以直接给出(直接寻址)或计算得出。

例:MOV AX,[5634H]用括号括起来表示取内容为地址(偏移地址),需要通过加法器将段寄存器中的地址相加得到20位物理地址。

8086微处理器可以在寄存器之间进行操作,其操作是在CPU内部完成的。即寄存器寻址模式。

例子:movax,bx;Ax和bx是寄存器。

还有一种寄存器间接寻址模式,它将寄存器的内容作为偏移量。

例如:movax,[bx];用括号将BX括起来,表示将BX的值作为地址。

基址变址寻址其有效地址由基址寄存器和变址寄存器的决定,不能都是变址寄存器。

例如:MOV·阿克斯,[BX][西]

MOV斧,[BX斯]

MOV AX,CS:[BX SI]

在上述基础上加一个位移也可以找到一个地址,这叫相对基址索引寻址。

示例:MOV AX,表[BX][SI]

MOV斧,表[BX斯]

Mov AX,【BX SI表】以上三种方法是等效的。

类似于寄存器的间接寻址,还有寄存器的相对间接寻址,在上面的基础上增加了一个位移。这样也很容易找到存储的位置,如果两者都没有基址,就会出错。

例如:MOV CL,[BX 2000h][位移基址寄存器名称或索引寄存器名称]

MOV AX,20H[SI]位移[基址寄存器名或变址寄存器名]

如果选择BX、SI或DI寄存器提供的基址或变量地址,操作数的基址一般由DS提供;如果选择BP寄存器提供的基址或变量地址,操作数在栈段,基址一般由ss提供。

除了以上七种寻址,还有一种特殊的寻址,即隐式寻址。隐式寻址意味着操作数不出现在指令中,但指令本身隐式指示操作数的来源。

相关文章