Я пытаюсь написать программу, которая берет двоичный ввод из текстового файла и отправляет его как параметр функции сборки. Эта функция сборки должна печатать этот двоичный вход на экране. Вход отправляется из кода c в код сборки по его адресу.
Когда я пытаюсь собрать мой asm файл, я получаю ошибку "неправильная комбинация опкодов и операндов" в строке mov msg, [esp+8]. Я хочу скопировать мой аргумент char из стека в мою статическую переменную. Почему это не действительная инструкция?
Полный код:
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
