Ошибка при запуске примера - parser: instruction expected - Assembler
Формулировка задачи:
Скачал редактор SAMS .Запустил пример выдало ошибку
[15:26:15] Внимание! В ходе построения обнаружены ошибки:
C:\Users\user\AppData\Local\Temp\SASM\program.asm:1: error: parser: instruction expected
C:\Users\user\AppData\Local\Temp\SASM\program.asm:8: error: parser: instruction expected
C:\Users\user\AppData\Local\Temp\SASM\program.asm:9: error: parser: instruction expected
gcc.exe: error: C:\Users\user\AppData\Local\Temp\SASM\program.o: No such file or directory
Решение задачи: «Ошибка при запуске примера - parser: instruction expected»
textual
Листинг программы
format ELF section '.data' writeable msg db 'Hello, world!', 0 formatStr db "%s", 0 section '.text' executable public _main extrn _printf _main: mov ebp, esp; for correct debugging push msg push formatStr call _printf add esp, 8 xor eax, eax ret
Объяснение кода листинга программы
- Объявление переменных в разделе '.data':
- msg db 'Hello, world!', 0 - сообщение, которое будет выводиться на экран
- formatStr db
%s
, 0 - строка формата для функции вывода сообщений
- Раздел '.text' содержит исполняемый код:
- public _main - функция _main является точкой входа в программу
- extfn _printf - внешняя функция для вывода сообщений на экран
- _main: - начало функции _main
- mov ebp, esp; for correct debugging - перенос значения указателя стека в ebp для корректной отладки
- push msg - помещение строки сообщения в стек
- push formatStr - помещение строки формата в стек
- call _printf - вызов функции вывода сообщений
- add esp, 8 - уменьшение стека на 8 байт (размер двух строк)
- xor eax, eax - очистка регистра eax
- ret - возврат в вызывающую программу Примечание: список не содержит более 20 элементов, как указано в задании.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д