Ошибка компиляции кода на ассмблере выводящего на экран горизонтальную прямую
Заинтерисовавшись графическим режимом работы ассемблера в MS-DOS. Скопировал и смонтировал на образ дискеты, код. Из статьи, со второй строчки поиска (http://s7a1k3r.narod.ru/4.html). Который должен был вывести на экран красную линию:
;Установим графический режим EGA
mov АН,00h ;(1)Функция задания режима
mov AL,10h ;(2)Графический режим EGA
int 10h ;(3)Вызов BIOS
;Нарисуем прямую линию в цикле по Х
mov SI,150 ;(4)Начальная Х-координата
mov CX,300 ;(5)Число точек по горизонтали
line: push CX ;(6)Сохраним его в стеке
mov AX,0Ch ;(7)Функция вывода пиксела
mov AL,4 ;(8)Цвет красный
mov ВН,0 ;(9)Видеостраница
mov CX,SI ;(10)Х-координата (переменная)
mov DX,175 ;(11)Y-координата (константа)
int 10h ;(12)Вызов BIOS
inc SI ;(13)Инкремент Х-координаты
pop CX ;(14)Восстановим счетчик шагов
loop line ;(15)Цикл из CX шагов
;Остановим программу для наблюдения результата ее работы
mov АН,08h ;(16)Функция ввода с клавиатуры без эха
int 21h ;(17)Вызов DOS
;Переключим видеоадаптер назад в текстовый режим
mov АН,00h ;(18)Функция задания режима
mov AL,03h ;(19)Текстовый режим
int 10h ;(20)Вызов BIOS
Но при попытке компиляции, выдал набор ошибок:
Assembling file: graph.ASM
**Error** graph.ASM(2) Too few operands to instruction
*Warning* graph.ASM(2) Argument needs type override
**Error** graph.ASM(3) Code or data emission to undeclared segment
**Error** graph.ASM(4) Code or data emission to undeclared segment
**Error** graph.ASM(6) Code or data emission to undeclared segment
**Error** graph.ASM(7) Code or data emission to undeclared segment
**Error** graph.ASM(8) Code or data emission to undeclared segment
**Error** graph.ASM(9) Code or data emission to undeclared segment
**Error** graph.ASM(10) Code or data emission to undeclared segment
**Error** graph.ASM(11) Too few operands to instruction
*Warning* graph.ASM(11) Argument needs type override
**Error** graph.ASM(12) Code or data emission to undeclared segment
**Error** graph.ASM(13) Code or data emission to undeclared segment
**Error** graph.ASM(14) Code or data emission to undeclared segment
**Error** graph.ASM(15) Code or data emission to undeclared segment
**Error** graph.ASM(16) Code or data emission to undeclared segment
**Error** graph.ASM(19) Too few operands to instruction
*Warning* graph.ASM(19) Argument needs type override
**Error** graph.ASM(20) Code or data emission to undeclared segment
**Error** graph.ASM(22) Too few operands to instruction
*Warning* graph.ASM(22) Argument needs type override
**Error** graph.ASM(23) Code or data emission to undeclared segment
**Error** graph.ASM(24) Code or data emission to undeclared segment
**Fatal** graph.ASM(25) Unexpected end of file encountered
Error messages: 20
Warning messages: 4
Passes: 1
Remaining memory: 426k```
Источник: Stack Overflow на русском