直接内存寻址方式
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
.
表示的原始内存地址
假设数据段中已经定义了一个字节
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
.