【发布时间】:2015-02-10 02:06:06
【问题描述】:
我正在尝试组装某个代码文件,其中 nasm 指向一行(如下所示)并显示“操作码和操作数的无效组合”。我不知道这条线出了什么问题。
out edx,ecx
这行代码将 ecx 中的地址发送到端口 0xCF8 - edx 中的值。
有人可以帮帮我吗?
【问题讨论】:
我正在尝试组装某个代码文件,其中 nasm 指向一行(如下所示)并显示“操作码和操作数的无效组合”。我不知道这条线出了什么问题。
out edx,ecx
这行代码将 ecx 中的地址发送到端口 0xCF8 - edx 中的值。
有人可以帮帮我吗?
【问题讨论】:
out 有两种形式,out <imm8>, al/ax/eax 和 out dx, al/ax/eax。您的指令与这些都不匹配,因此格式错误。
更改您的代码,使您想要的值位于eax 而不是ecx(可能像mov eax, ecx 一样简单)并使用第二种形式。
汇编程序消息通常不充分,因此请获取指令参考。
【讨论】: