Парсер: инструкция ожидала ошибки при компиляции сборки Intel с NASM
Может кто-нибудь сказать мне, почему эти ошибки происходят? Я довольно новичок в сборке, и у меня есть некоторые проблемы при компиляции файла.
Я попытался скомпилировать его в NASM со следующим кодом в Debian:
nasm -f elf codeasm.asm -o codeasm.o
и я получаю следующие ошибки:
codeasm.asm:2: error: parser: instruction expected
codeasm.asm:3: error: parser: instruction expected
codeasm.asm:5: error: label or instruction expected at start of line
codeasm.asm:6: warning: Unknown section attribute 'public' ignored on declaration of section `para'
codeasm.asm:6: warning: Unknown section attribute ''data'' ignored on declaration of section `para'
codeasm.asm:10: error: parser: instruction expected
codeasm.asm:11: error: parser: instruction expected
codeasm.asm:12: error: parser: instruction expected
codeasm.asm:13: error: parser: instruction expected
codeasm.asm:14: error: parser: instruction expected
codeasm.asm:15: error: parser: instruction expected
codeasm.asm:16: error: parser: instruction expected
codeasm.asm:20: error: parser: instruction expected
codeasm.asm:21: error: parser: instruction expected
codeasm.asm:23: error: symbol `dseg' redefined
codeasm.asm:23: error: parser: instruction expected
codeasm.asm:28: warning: Unknown section attribute 'public' ignored on declaration of section `para'
codeasm.asm:28: warning: Unknown section attribute ''indata'' ignored on declaration of section `para'
Для следующего кода в сборке Intel синтаксис (только первые несколько строк):
xlist
include stdlib.a
includelib stdlib.lib
list
286
dseg segment para public 'data'
h word ?
i word ?
j word ?
k word ?
l word ?
sum word ?
iterations word ?
InName byte "file1.raw",0
OutName byte "file2.raw",0
dseg ends
InSeg segment para public 'indata'
DataIn byte 251 dup (256 dup (?))
InSeg ends
OutSeg segment para public 'outdata'
DataOut byte 251 dup (256 dup (?))
OutSeg ends
Мне сказали, что этот код работает правильно.