Системное программное обеспечение. Рощин А.В. - 105 стр.

UptoLike

Составители: 

105
jmp st2
st5: cmp ah,4dh ; Вправо ?
jnz st6
inc addr
lea si,colr
jmp st2
st6: cmp ah,4bh ; Влево ?
jnz st0
dec addr
lea si,coll
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
add si,4
dec bp
jnz sp1
; Построение нечетных строк
mov di,addr
pop si
add si,4 ; Переход к нечетной строке
mov ax,0ba00h
mov es,ax
mov bp,8 ; Счетчик числа строк/2
sp2: mov cx,4 ; Счетчик числа слов
rep movsb
add di,76
add si,4
dec bp
jnz sp2
ret
sprite endp
; Стирание спрайта 16 * 16
; addr0 – координаты левого верхнего угла
                                     105



        jmp st2
st5:    cmp ah,4dh       ; Вправо ?
        jnz  st6
        inc  addr
        lea  si,colr
        jmp st2
st6: cmp ah,4bh          ; Влево ?
        jnz  st0
        dec addr
        lea  si,coll
        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
        add si,4
        dec bp
        jnz  sp1
; Построение нечетных строк
        mov di,addr
        pop si
        add si,4         ; Переход к нечетной строке
        mov ax,0ba00h
        mov es,ax
        mov bp,8         ; Счетчик числа строк/2
sp2: mov cx,4            ; Счетчик числа слов
        rep  movsb
        add di,76
        add si,4
        dec bp
        jnz  sp2
        ret
sprite endp
; Стирание спрайта 16 * 16
; addr0 – координаты левого верхнего угла