小编Nop*_*ope的帖子

操作码和操作数组合无效错误

我正在尝试编写一个程序,该程序从文本文件中获取二进制输入并将其作为参数发送给汇编函数。该汇编函数必须将此二进制输入打印到屏幕上。输入通过其地址从 C 代码发送到汇编代码。

当我尝试汇编 asm 文件时,出现“操作码和操作数的无效组合”错误mov msg, [esp+8]。我想将我的chararg 从堆栈复制到我的静态变量。为什么这不是有效的指令?

完整代码是:

segment .data
        len equ 31
segment .bss
        msg resb 0
segment .text
global sequence_generator

sequence_generator:

       push ebp
       mov ebp, esp
       mov msg, [esp+8]

       mov eax,4
       mov ebx,1
       mov ecx,msg
       mov edx,len
       int 80h

       pop ebp
       ret
Run Code Online (Sandbox Code Playgroud)

x86 assembly nasm

4
推荐指数
1
解决办法
6472
查看次数

标签 统计

assembly ×1

nasm ×1

x86 ×1