【问题标题】:Assembly pushf not correct装配 pushf 不正确
【发布时间】:2015-04-14 03:01:48
【问题描述】:

您可以在此页面上看到的 GCC 编译器: https://defuse.ca/online-x86-assembler.htm#disassembly

当 pushf 应为 0x66、0x9C 时,将 pushf 和 pushfd 都视为 0x9C。 有没有办法让这个编译器不将 pushf 转换为 pushfd?

【问题讨论】:

    标签: gcc assembly stack


    【解决方案1】:

    尝试使用pushfw 获取 16 位变体。

    【讨论】:

    • 美丽。正是我想要的。
    【解决方案2】:

    查看http://faydoc.tripod.com/cpu/pushfd.htm。它们确实共享相同的操作数,并且执行的是环境的产物,而不是指令。

    【讨论】:

    • 不正确。在此调试器中,您可以看到不同之处。 i.imgur.com/euWhlAq.png
    • 我的立场是正确的,尽管为什么你只想保存 16 位的 32 位标志是我觉得有些令人费解的事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-16
    • 2017-11-15
    • 2017-12-19
    • 2021-09-16
    相关资源
    最近更新 更多