寻址方式指 指令用来指定要访问的对象(常量、寄存器或内存中的数据)的方式。
1.直接寻址
在指令中,操作数直接以单元地址的形式给出,操作数项给出的是参加运算的操作数地址,而不是操作数。
eg.MOV A,30H
30H即为操作数的地址,并非操作数。
2.间接寻址
指令中的地址码字段,给出的是操作数所在的存储单元或寄存器的地址。需根据这个地址取出操作数的有效地址,再去内存中寻找操作数。
eg.load R1,(R2)
将R2寄存器中的值作为一个地址,去内存中找到对应的数据,然后加载到R1寄存器中。
变式:eg.load R1,100(R2)
意为将R2寄存器中的值+100作为一个地址,再找对应的数据,然后加载到R1寄存器中。这就是一个带有偏移量的间接寻址。
3.立即数寻址
指令中的操作数直接以数值的形式给出。
eg.MOV AX,251 将十进制数251送入寄存器AX,其中,251是立即数
4.寄存器寻址
指令中操作数所需的数据存储在寄存器中,指令通过对寄存器的访问来获取这些数据。
eg.MOV AX,BX 将寄存器BX的内容送入AX,其中BX是寄存器
5.基址、变址等
基址寻址:
指令中操作数的地址由基址寄存器的内容和形式地址相加得到。
eg.MOV AX,[BX+1000H] 将基址寄存器BX的内容+1000H得到操作数的地址,再送入AX
变址寻址:
指令中操作数的地址由变址寄存器的内容和形式地址相加得到。
eg.MOV AX,[SI+1000H] 将变址寄存器SI的内容+1000H得到操作数的地址,再送入AX
标签:操作数,eg,地址,寻址,内存,寄存器,AX From: https://www.cnblogs.com/yhish/p/17793023.html