gpt4 book ai didi

assembly - NASM 汇编器 - 生成的机器代码中不需要的 66

转载 作者:行者123 更新时间:2023-12-02 21:54:38 26 4
gpt4 key购买 nike

  • 操作系统:Windows 10
  • CPU:英特尔酷睿 i5-5300U
  • 架构:x64

我刚刚开始学习汇编语言。我使用了在线编译器,但今天我下载了NASM。我尝试编写这个将 10 乘以 15 的简单代码:

mov eax, 0xa
mov edx, 0xf
imul eax, edx
ret

尝试执行 NASM 生成的机器代码失败,因此我在十六进制编辑器中打开此代码,并将其与 online assembler 生成的代码进行比较。我可以成功执行。

NASM:

66 b8 0a 00 00 00 66 ba 0f 00 00 00 66 0f af c2 c3

在线编辑器:

b8 0a 00 00 00 ba 0f 00 00 00 0f af c2 c3

这两个代码之间的唯一区别是 NASM 生成的代码中不需要的 66。谁能帮我吗?

最佳答案

正如杰斯特所建议的那样。我没有包含 BITS 64 声明。现在,当我包含 BITS 64 时,一切正常

关于assembly - NASM 汇编器 - 生成的机器代码中不需要的 66,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55713913/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com