Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 курс / Лекции / Лекция 17 - 18 - Система команд IA-32.ppt
Скачиваний:
47
Добавлен:
18.02.2023
Размер:
612.35 Кб
Скачать

Пример 3

;------------

 

Задержка -------------------

 

 

 

mov

ah, 86h

;В AH номер функции

 

 

xor

cx, cx

;Очистка CX

 

 

mov

dx, 7a12h

;В DX младшую часть задержки (в микросек.)

 

 

int

15h

;Вызов прерывания BIOS

;------------

 

Очистка фигуры ------------

 

 

 

pop

di

;Восстановление DI

 

 

mov

cx, 8

;Заносим в CX высоту фигуры

loop2:

mov

al, BkCol

;Заносим в AL цвет фона

push

cx

;Сохраняем CX

 

 

 

 

mov

cx, 8

;Заносим в CX ширину фигуры

 

 

rep stosb

 

;Закрашиваем одну строку фигуры

 

 

pop

cx

;Восстанавливаем CX

 

 

add

di, 312

;Переходим на следующую строку фигуры

 

 

loop

loop2

;Цикл по вертикали

 

 

 

 

 

Пример 3

;----------

 

Изменение X --------------

;----------

Изменение Y -------------

 

 

mov

ax, X

 

mov

ax, Y

 

 

add

ax, dXX

 

add

ax, dYY

 

 

cmp

ax, 310

 

cmp

ax, 191

 

 

jl

next1

 

jl

next3

 

 

mov

dXX, -1

 

mov

dYY, -1

 

 

jmp

next2

 

jmp

next4

next1:

 

 

next3:

 

 

 

 

or

ax, ax

 

or

ax, ax

 

 

jnz

next2

 

jnz

next4

 

 

mov

dXX, 1

 

mov

dYY, 1

next2:

 

 

next4:

 

 

 

 

mov

X, ax

 

mov

Y, ax

 

 

 

 

 

 

 

Пример 3

;------------

 

Проверка выхода

---------------

 

wait1:

in

al, 60h

 

 

 

 

 

 

 

 

cmp

al, 1

 

 

 

 

jz

exit1

 

 

exit1:

jmp

newcir

 

 

mov

ax, 3

;Запись в AL номер текстового режима

 

 

 

 

int

10h

;Вызов прерывания BIOS

 

 

mov

ax, 4c00h

 

 

 

 

int

21h

 

 

Code ends

 

 

 

end start