【问题标题】:Why does nasm say "invalid combination of opcode and oprands"?为什么 nasm 说“操作码和操作数的无效组合”?
【发布时间】:2015-02-10 02:06:06
【问题描述】:

我正在尝试组装某个代码文件,其中 nasm 指向一行(如下所示)并显示“操作码和操作数的无效组合”。我不知道这条线出了什么问题。

out edx,ecx

这行代码将 ecx 中的地址发送到端口 0xCF8 - edx 中的值。

有人可以帮帮我吗?

【问题讨论】:

    标签: assembly x86 nasm


    【解决方案1】:

    out 有两种形式,out <imm8>, al/ax/eax 和 out dx, al/ax/eax。您的指令与这些都不匹配,因此格式错误。

    更改您的代码,使您想要的值位于eax 而不是ecx(可能像mov eax, ecx 一样简单)并使用第二种形式。

    汇编程序消息通常不充分,因此请获取指令参考。

    【讨论】:

    • 我把它改成 out edx,eax 还是一样的错误。
    猜你喜欢
    • 2015-07-31
    • 2013-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多