直接内存寻址方式

direct memory addressing mode

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

DSEG      SEGMENT
    NUM   DB   ?
DSEG      ENDS

那么,下面的指令在寻址方式上是什么意思呢?

LEA     SI, NUM

MOV     NUM, 1AH

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

不,不完全是。

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

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

表示的原始内存地址