- •Лекции 17 -
- •Структура машинной
- •Структура машинной команды
- •Структура машинной команды
- •Структура машинной команды
- •Структура машинной команды
- •Сочетания операндов
- •Система команд
- •Система команд
- •Команды пересылки
- •Команды пересылки данных
- •Команды пересылки данных
- •Команды пересылки данных
- •Команды пересылки данных
- •Команды пересылки данных
- •Команды пересылки
- •Команды пересылки
- •Команды пересылки данных
- •Команды пересылки данных
- •Команды пересылки
- •Команды пересылки данных
- •Команды пересылки данных
- •Прочие команды
- •Прочие команды
- •Прочие команды
- •Команды загрузки сегментных регистров
- •Команды ввода – вывода
- •Команды ввода – вывода
- •Команды ввода – вывода
- •Команды ввода – вывода
- •Команды обработки строк
- •Команды обработки строк
- •Команды обработки строк
- •Команды обработки строк
- •Команды обработки строк
- •Команды обработки строк
- •Арифметические команды
- •Арифметические команды
- •Арифметические команды
- •Арифметические команды
- •Арифметические команды
- •Арифметические команды
- •Арифметические команды
- •Арифметические команды
- •Арифметические команды
- •Арифметические команды
- •Логические команды
- •Логические команды
- •Логические команды
- •Логические команды
- •Логические команды
- •Команды сдвигов
- •Команды сдвигов
- •Команды сдвигов
- •Команды сдвигов
- •Команды сдвигов
- •Команды сдвигов
- •Команды сдвигов
- •Команды сдвигов
- •Команды сдвигов
- •Команды обработки бит
- •Команды обработки бит
- •Команды обработки бит
- •Команды обработки бит
- •Команды обработки бит
- •Команды обработки бит
- •Команды работы с регистром флагов
- •Команды передачи управления
- •Команды передачи управления
- •Команды передачи управления
- •Команды передачи управления
- •Команды передачи управления
- •Команды передачи
- •Команды передачи управления
- •Команды передачи управления
- •Команды передачи управления
- •Команды передачи управления
- •Пример 1
- •Пример 1
- •Пример 1
- •Пример 1
- •Пример 2
- •Пример 2
- •Пример 2
- •Пример 2
- •Пример 2
- •Пример 2
- •Пример 3
- •Пример 3
- •Пример 3
- •Пример 3
- •Пример 3
- •Пример 3
Пример 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 |
|
|
|
|||
|
|
|
|
|
|