Combinación no válida de código de operación y error de operandos

Estoy tratando de escribir un programa que tome la entrada binaria de un archivo de texto y la envíe como parámetro a una función de ensamblaje. Esa función de ensamblaje debe imprimir esta entrada binaria en la pantalla. La entrada se envía desde el código c al código de ensamblaje por su dirección.

Cuando intento ensamblar mi archivo asm, aparece el error "combinación no válida de código de operación y operandos" en elmov msg, [esp+8] línea. Quiero copiar michar arg de la pila a mi variable estática. ¿Por qué no es una instrucción válida?

El código completo es:

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

Respuestas a la pregunta(1)

Su respuesta a la pregunta