假设已在数据段中定义了一个字节
DSEG SEGMENT
NUM DB ?
DSEG ENDS
那么,就寻址模式而言,下列指令的含义是什么?
LEA SI, NUM
和
MOV NUM, 1AH
由于NUM
是内存条目的标签(比如1000H),我假设第一个被解释为MOV SI, [1000]
,第二个被解释为MOV [1000], 1AH
。因此,他们使用直接内存寻址模式。我是对的吗?
答案 0 :(得分:2)
不,不完全。
LEA
用于将地址移动到目的地。因此,标签NUM
表示的地址将移至SI
。这是立即模式,因为您直接将值移动到寄存器中。
第二个,虽然它没有byte ptr
或[]
,但将值0x1a移动到标签NUM
所代表的内存位置。这是直接模式,因为您使用的是由NUM
表示的原始内存地址。