如何分辨立即数、寄存器操作数和存储器操作数?

对于存储器操作数,虽然原文没详细展开,但通常是指操作数的有效地址在指令中给出,或者通过寄存器间接指向内存单元。比如MOV AX, [1000H],这里的[1000H]就是指向内存存储器的地址,数据实际存在内存里。

评论 (1)

这个回答有点避重就轻啊。原文其实只讲了存储器操作数,完全没提立即数和寄存器。要分辨这三者,核心看指令中源操作数的表现形式:直接跟在操作码后面的是立即数(比如 MOV AX, 1234H);直接写寄存器名的是寄存器操作数(比如 MOV AX, BX);而带有方括号 [] 或者内存地址引用(如 [1000H]、[BX])的才是存储器操作数。光看存储器这一种情况没法真正分辨三者,建议结合具体指令格式一起看。