寄存器寻址方式和寄存器直接寻址方式的区别

2025-05-08 22:22:15
推荐回答(2个)
回答1:

  应该是直接寻址方式和寄存器寻址方式的区别,这两者都是七种寻址方式之一。

  寄存器寻址方式:
  操作数在CPU内部的寄存器中,指令指定寄存器号。对于16位操作数,寄存器可以是:AX、BX、CX、DX、SI、DI、SP和BP等。对于8位操作数,寄存器可以是AL、AH、BL、BH、CL、CH、DL、DH。这种寻址方式由于操作数就在寄存器中,不需要访问存储器来取得操作数。因而可以取得较高的运算数度。

  直接寻址方式:

  操作数在寄存器中,指令直接包含有操作数的有效地址(偏移地址)。注:操作数一般存放在数据段。所以操作数的地址由DS加上指令中直接给出的16位偏移得到。如果采用段超越前缀,则操作数也可含在数据段外的其他段中。

回答2:

与数据有关的寻址方式:

立即寻址 MOV AX , 常数
直接寻址 MOV AX , [常数] ;加上中括号 或 MOV AX , 变量名或标号
寄存器寻址 MOV AX , 通用寄存器
寄存器间接寻址 MOV AX , [(BX,BP,SI,DI)中的一个] ;以下四行均需加上中括号
寄存器相对寻址 MOV AX , [(BX,BP,SI,DI)中的一个 + 偏移量]
基址变址寻址 MOV AX , [基址寄存器 + 变址寄存器]
相对基址变址寻址 MOV AX , [基址寄存器 + 变址寄存器 + 偏移量]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
你感觉把那些王八的屁屁搞懂了有什么重大的意义么?
我感觉现在的作者好像越来越喜欢玩文字游戏了,好像越是别人看不懂就越能显示他的水平似的
在编程领域不是有那么个思想么:
什么是好程序?其中的一条就是程序源文件的易读性,不是你的程序别人看不懂就是好程序了
上面几乎包含了8086所有的寻址方式
其实能够灵活地运用各种指令才是最终的目的
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
以上纯属个人见解............

第二个寄存器直接寻址指的是存储器(内存)寻址
寄存器寻址:
mov ax,bx
mov [bx],ax
第二个操作数的寄存器寻址
寄存器直接寻址:
mov ax,[bx]
mov ax,[bp]
第二个操作数是寄存器直接寻址
大概是这样