有人可以解释一下是什么吗
CMP dword ptr [EBP + local_c], 0xdeadbeef
Run Code Online (Sandbox Code Playgroud)
方法。据我了解,它将EBP+local_c
位置值与 0xdeadbeef进行比较,但我不确定这是否属实。
提前致谢
[EBP + local_c] 是一个地址,采用间接寻址方式。EBP 加上一些抵消。对于此汇编语言(由汇编程序而不是目标定义),要指示此基于间接地址的指令应操作的大小具有 dword ptr 意味着第一个操作数是指示地址处的 32 位值。第二个操作数是一个立即数,一个常量 0xdeadbeef。
该指令是说从地址 EBP + local_c 读取 32 位值,并执行值为 0xdeadbeef 的 CMP 指令。CMP 表示做减法运算,保存标志但不保存结果。因此,零标志和其他标志将根据这两个操作数之间的减法进行修改。
理想情况下,后续指令将根据在此指令期间计算的标志做出决定。