Добрый день!
Прохожу материал из книжки А.В. Столярова «Программирование. Введение в профессию». Начал часть, посвящённую ассемблеру. Прочитал «3.2. Основы системы комманд i386». Решил на память написать программу, которая пять раз печатает «Hello». Получилось следующее:
%include "stud_io.inc"
global _start
section .text
_start: mov eax, 5
rep: cmp eax, 0
je quit
PRINT "Hello"
PUTCHAR 10
dec eax
jmp rep
quit: FINISH
После команды оттранслировать файл с текстом программы в объектный файл
nasm -f elf hello5rep.asm
получил следующие ошибки:
hello5rep.asm:6: error: parser: instruction expected
hello5rep.asm:11: error: expression syntax error
У автора программа выглядит следующим образом:
%include "stud_io.inc"
global _start
section .text
_start: mov eax, 0
repeat: PRINT "Hello"
PUTCHAR 10
inc eax
cmp eax, 5
jl repeat
FINISH
Конечно, по памяти переписал я её менее изящно, но причины возникающих ошибок всё равно не пойму.
ЧЯДНТ?