【发布时间】:2014-08-18 04:54:53
【问题描述】:
直接push一个常量值是为了调用一个函数,而不是mov值到eax和push eax是有区别的。
例如,在 C 中执行此操作: GetStdHandle(STD_OUTPUT_HANDLE);
许多编译器都会生成这个:
;B8 F5 FF FF FF
MOV EAX,-11
;50
PUSH EAX
CALL GetStdHandle
我正在手动使用;
;6A F5
PUSH -11
CALL GetStdHandle
直接推送值而不是在eax上加载并推送eax是错误的?
【问题讨论】:
-
没有。你在做什么就好了。