直接内存寻址模式

时间:2016-10-16 16:58:56

标签: assembly x86 emu8086

假设已在数据段中定义了一个字节

DSEG      SEGMENT
    NUM   DB   ?
DSEG      ENDS

那么,就寻址模式而言,下列指令的含义是什么?

LEA     SI, NUM

MOV     NUM, 1AH

由于NUM是内存条目的标签(比如1000H),我假设第一个被解释为MOV SI, [1000],第二个被解释为MOV [1000], 1AH。因此,他们使用直接内存寻址模式。我是对的吗?

1 个答案:

答案 0 :(得分:2)

不,不完全。

LEA用于将地址移动到目的地。因此,标签NUM表示的地址将移至SI。这是立即模式,因为您直接将值移动到寄存器中。

第二个,虽然它没有byte ptr[],但将值0x1a移动到标签NUM所代表的内存位置。这是直接模式,因为您使用的是由NUM表示的原始内存地址。