这有一篇写的很好的文章,我就不写了。
我这写一下每种寻址方式的例子
1.立即数寻址:MOV AX, 25H
将立即数25H加载到寄存器AX中。
2.寄存器寻址:ADD AX, B
X 会把寄存器BX中的值加到寄存器AX中。
3.直接寻址方式:MOV AX, [500]
可以将存储在内存地址500处的数据加载到寄存器AX中。
mov ax, ds:[bx]
mov ax, cs:[bx]
mov ax, ss:[bx]
mov ax, es:[bx]
mov ax, ss:[0]
mov ax, cs:[0]
4.寄存器间接寻址:MOV AX, [BX]
会把BX寄存器中的地址作为指针,然后从这个地址中读取数据到寄存器AX中
5.寄存器相对寻址:
6.基址变址寻址:
7.相对基址变址寻址:
学完,来直接上题目。
D,12H是立即数
A,我理解的寄存器相对就是比寄存器间接要多个与数运算.
A是寄存器间接他没进行运算。
B +6
C -2
D 8*
A.基址变址寻址方式,默认SS
错误,例如MOV AX,BX 目的是将BX存入AX。AX才是目的。即第一个才是目的
对,MOV AX,1234H 直接取1234H
错
错误EBX表示寄存器[EBX]表示内存
操作数在内存中