汇编语言中,判断某条指令的寻址方式是取决于源操作数还是目的操作数?

例如,MOV AX,[1234]
与MOV [1234],AX 是否都属于直接寻址方式?
MOV [1234],AX是否可以理解为寄存器寻址呢?

第1个回答  2010-06-23
所谓寻址方式,是指,通过段地址和偏移地址的定位来寻找具体的数据。
MOV指令就是进行数据的传递,所以我们总是用MOV指令来举例寻址方式。

在进行寻址方式判断的时候,你应该确定的是,这个数据的源在哪里。因为寻址方式的目的就是,找到这个数据。

所以,寻址方式取决于源操作数。
对于你补充的那个问题,我的回答是,我同意你的想法。本回答被提问者采纳
第2个回答  2010-06-22
mov ax,[1234]是直接寻址
mov ax,[bx] 就是间接了
mov ax,[bx+si] 就是寄存器相对寻址了
这个很简单
第3个回答  2010-06-22
一、立即寻址方式(Immediate Addreing)
例:MOV AX,im
MOV AL,26H
二、寄存器寻址(Register Addreing)
MOV DS,AX
三、直接寻址方式(Direct Addreing)
如: MOV AX,[2000H]
又如: AREA1 DW 0867H
MOV AX,AREA1
四、寄存器间接寻址方式(Register Indirect Addreing)
若(DS)=2000H,(SI)=1000H
MOV AX,[SI]
五、寄存器相对寻址方式(Register Relative Addreing)
若(DS)=3000H,
(SI)=2000H,COUNT=3000H
MOV AX,COUNT [SI]
或 MOV AX, [COUNT +SI]
六、基址变址寻址方式(Based Indexed Addreing)
MOV AX ,[BX][SI]
七、相对基址变址寻址方式(Relative Based Indexed Addreing)
例: MOV AX,COUNT [BX] [SI]
若 DS=3000H,SI=0300H,BX=1500H, COUNT =0200H,(31A00H)=26BFH
则:物理地址=16×DS+BX+SI+ COUNT = 31A00H AX=26BFH
第4个回答  2010-06-22
指令没有寻址方式,操作数才有寻址方式的。
相似回答