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

UptoLike

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

86
call lab1
call lab2
int 20h
Start endp
lab2 proc near
mov dl,40 ; Координата Х (0 – 79)
mov dh,50 ; Координата Y (0 – 99)
mov cl,1 ; Дельта X
mov ch,1 ; Дельта Y
lab20: call ball1 ; Построение светлого мяча
push cx
mov cx,5000 ; Задержка
lab21: loop lab21
pop cx
call ball0 ; Стирание мяча
cmp dl,79
jnz lab22
neg cl
jmp lab23
lab22: cmp dl,0
jnz lab23
neg cl
lab23: add dl,cl
cmp dh,99
jnz lab24
neg ch
jmp lab25
lab24: cmp dh,0
jnz lab25
neg ch
lab25: add dh,ch
jmp lab20
ret
lab2 endp
ball1 proc near ; Рисование мяча
mov ax,0b800h
mov es,ax
mov ax,80
mul dh ; 80 * Y
xor bh,bh
mov bl,dl
add bx,ax ; 80 * Y + X
mov es:byte ptr [bx],3ch
add bx,2000h
mov es:byte ptr [bx],0ffh
sub bx,2000h-80
                                          86



      call    lab1
      call    lab2
      int     20h
Start endp
lab2 proc     near
      mov     dl,40 ; Координата Х (0 – 79)
      mov     dh,50 ; Координата Y (0 – 99)
      mov     cl,1 ; Дельта X
      mov     ch,1 ; Дельта Y
lab20: call   ball1 ; Построение светлого мяча
      push    cx
      mov     cx,5000     ; Задержка
lab21: loop   lab21
      pop     cx
      call    ball0       ; Стирание мяча
      cmp     dl,79
      jnz     lab22
      neg     cl
      jmp     lab23
lab22: cmp    dl,0
      jnz     lab23
      neg     cl
lab23: add    dl,cl
      cmp     dh,99
      jnz     lab24
      neg     ch
      jmp     lab25
lab24: cmp    dh,0
      jnz     lab25
      neg     ch
lab25: add    dh,ch
      jmp     lab20
      ret
lab2 endp
ball1 proc    near ; Рисование мяча
      mov     ax,0b800h
      mov     es,ax
      mov     ax,80
      mul     dh           ; 80 * Y
      xor     bh,bh
      mov     bl,dl
      add     bx,ax        ; 80 * Y + X
      mov     es:byte ptr [bx],3ch
      add     bx,2000h
      mov     es:byte ptr [bx],0ffh
      sub     bx,2000h-80