Ошибка компиляции кода на ассмблере выводящего на экран горизонтальную прямую

Рейтинг: 1Ответов: 0Опубликовано: 07.02.2023

Заинтерисовавшись графическим режимом работы ассемблера в 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```

Ответы

Ответов пока нет.