小编Kam*_*tap的帖子

隐含寻址模式和立即寻址模式的区别?

隐含:在指令定义中隐式指定操作数。示例:CLACMEINP

主要用于零地址(STACK-organized)和一地址(ACCUMULATOR-organized)指令。

立即数:操作数在指令本身中指定,主要用于常量。示例:ADD R1,#3,MUL R1,R2,#7

但问题是如何检查指令:

1) PUSH 3

2)LD 7

第一个是零地址指令(基于堆栈),第二个是累加器指令。在这两条指令中,操作数都在指令本身中定义。哪种寻址模式是首选,或者最能描述它们?

如何检查指令是隐含的还是立即的?


在x86隐含操作数的进一步的实例:SAHFLAHF,和CPUID

来源:https : //en.wikipedia.org/wiki/CPUID

在汇编语言中,CPUID 指令不接受显式参数,因为 CPUID 隐式使用 EAX 寄存器(有时是 ECX)来确定 EAX、EBX、ECX 和 EDX 中返回的信息。

来源:http : //www.felixcloutier.com/x86/LAHF.html

LAHF — Load Status Flags into AH Register
This instruction executes as described above in compatibility mode and legacy mode. It is valid in 64-bit mode only if …
Run Code Online (Sandbox Code Playgroud)

assembly instruction-set cpu-architecture cpu-registers mano-machine

1
推荐指数
1
解决办法
1万
查看次数