ВУЗ:
Составители:
101
mov ah,0 ; Функция установки видеорежима
mov al,4 ; Граф. реж. CGA 320 * 200 точек
int 10h
mov di,addr
st2: lea si,colob
call sprit0
call sprite
; Сохранение исходных координат
mov ax,addr
mov addr0,ax
; Чтение клавиатуры
call kbin
cmp ah,1 ; Скан-код = Esc ?
jnz st3 ; Нет
int 20h ; Выход при нажатии Esc
st3: cmp ah,48h ; Вверх ?
jnz st4
sub addr,80*2 ; Вверх на 4 строки
jmp st2
st4: cmp ah,50h ; Вниз ?
jnz st5
add addr,80*2 ; Вниз на 4 строки
jmp st2
st5: cmp ah,4dh ; Вправо ?
jnz st6
inc addr
jmp st2
st6: cmp ah,4bh ; Влево ?
jnz st2
dec addr
jmp st2
; Ввод с клавиатуры
kbin proc near
mov ah,0 ; Функция 0
int 16h ; клавиатурного прерывания
ret
kbin endp
; Построение спрайта 16 * 16
; addr – адрес левого верхнего угла
; SI – начало спрайта
sprite proc near
; Построение четных строк
push si
mov di,addr
mov ax,0b800h
mov es,ax
mov bp,8 ; Счетчик числа строк/2
sp1: mov cx,4 ; Счетчик числа слов
rep movsb
add di,76
101
mov ah,0 ; Функция установки видеорежима
mov al,4 ; Граф. реж. CGA 320 * 200 точек
int 10h
mov di,addr
st2: lea si,colob
call sprit0
call sprite
; Сохранение исходных координат
mov ax,addr
mov addr0,ax
; Чтение клавиатуры
call kbin
cmp ah,1 ; Скан-код = Esc ?
jnz st3 ; Нет
int 20h ; Выход при нажатии Esc
st3: cmp ah,48h ; Вверх ?
jnz st4
sub addr,80*2 ; Вверх на 4 строки
jmp st2
st4: cmp ah,50h ; Вниз ?
jnz st5
add addr,80*2 ; Вниз на 4 строки
jmp st2
st5: cmp ah,4dh ; Вправо ?
jnz st6
inc addr
jmp st2
st6: cmp ah,4bh ; Влево ?
jnz st2
dec addr
jmp st2
; Ввод с клавиатуры
kbin proc near
mov ah,0 ; Функция 0
int 16h ; клавиатурного прерывания
ret
kbin endp
; Построение спрайта 16 * 16
; addr – адрес левого верхнего угла
; SI – начало спрайта
sprite proc near
; Построение четных строк
push si
mov di,addr
mov ax,0b800h
mov es,ax
mov bp,8 ; Счетчик числа строк/2
sp1: mov cx,4 ; Счетчик числа слов
rep movsb
add di,76
Страницы
- « первая
- ‹ предыдущая
- …
- 99
- 100
- 101
- 102
- 103
- …
- следующая ›
- последняя »
