|
|
@@ -7,30 +7,30 @@ start:
|
|
|
; | Clear Screen
|
|
|
int 10h ; /
|
|
|
|
|
|
- mov ah, 02h ; \ ”ãªæ¨ï ãáâ ®¢ª¨ ªãàá®à
|
|
|
- mov bh, 0 ; | €ªâ¨¢ ï áâà ¨æ
|
|
|
- mov dh, 24 ; |- Šãàá®à ª paddle (Y)
|
|
|
+ mov ah, 02h ; \ Функци� у�тановки кур�ора
|
|
|
+ mov bh, 0 ; | �ктивна� �траница
|
|
|
+ mov dh, 24 ; |- Кур�ор к paddle (Y)
|
|
|
mov dl, 10 ; | (X)
|
|
|
int 10h ; /
|
|
|
|
|
|
- mov ah, 09h ;\ ‚뢮¤ ᨬ¢®«
|
|
|
- mov al, 'ß' ;| ‚뢮¤¨¬ë© ᨬ¢®«
|
|
|
- mov bh, 0h ;\ ‘âà ¨æ
|
|
|
- mov bl, 04h ;/ �à®à¨á®¢ª paddle (€ââਡãâë ᨬ¢®« )
|
|
|
- mov cx, 05h ;| Š®«¨ç¥á⢮ ᨬ¢®«®¢
|
|
|
+ mov ah, 09h ;\ Вывод �имвола
|
|
|
+ mov al, '▀' ;| Выводимый �имвол
|
|
|
+ mov bh, 0h ;\ Страница
|
|
|
+ mov bl, 04h ;/ Прори�овка paddle (�ттрибуты �имвола)
|
|
|
+ mov cx, 05h ;| Количе�тво �имволов
|
|
|
int 10h ;/
|
|
|
|
|
|
- mov ah, 02h ; \ ”ãªæ¨ï ãáâ ®¢ª¨ ªãàá®à
|
|
|
- mov bh, 0 ; | €ªâ¨¢ ï áâà ¨æ
|
|
|
- mov dh, 15 ; |- Šãàá®à ª è ਪã (Y)
|
|
|
+ mov ah, 02h ; \ Функци� у�тановки кур�ора
|
|
|
+ mov bh, 0 ; | �ктивна� �траница
|
|
|
+ mov dh, 15 ; |- Кур�ор к шарику (Y)
|
|
|
mov dl, 15 ; | (X)
|
|
|
int 10h ; /
|
|
|
|
|
|
- mov ah, 09h ;\ ‚뢮¤ ᨬ¢®«
|
|
|
- mov al, '' ;| ‚뢮¤¨¬ë© ᨬ¢®«
|
|
|
- mov bh, 0h ;\ ‘âà ¨æ
|
|
|
- mov bl, 01h ;/ �à®à¨á®¢ª è ਪ (€ââਡãâë ᨬ¢®« )
|
|
|
- mov cx, 01h ;| Š®«¨ç¥á⢮ ᨬ¢®«®¢
|
|
|
+ mov ah, 09h ;\ Вывод �имвола
|
|
|
+ mov al, '' ;| Выводимый �имвол
|
|
|
+ mov bh, 0h ;\ Страница
|
|
|
+ mov bl, 01h ;/ Прори�овка шарика (�ттрибуты �имвола)
|
|
|
+ mov cx, 01h ;| Количе�тво �имволов
|
|
|
int 10h ;/
|
|
|
|
|
|
mainloop:
|
|
|
@@ -38,17 +38,17 @@ mainloop:
|
|
|
mov ah, 06h ;\
|
|
|
mov dl, 0FFh ;| IF KeyPressed then Z on
|
|
|
int 21h ;/
|
|
|
- jz TOFLY ; …᫨ ¥â - ¯à®¢¥à塞, 㦮 «¨ ¤¢¨£ âì è à
|
|
|
+ jz TOFLY ; Е�ли нет - провер�ем, нужно ли двигать шар
|
|
|
|
|
|
- mov si,offset ifpad ;\ ‘¬¥é¥¨¥ ¯¥à¥¬¥®© ¨§¬¥¥¨ï
|
|
|
- mov byte ptr [si], 1 ;/ - ˆ§¬¥¥¨¥ ¯à®¨§®è«®
|
|
|
+ mov si,offset ifpad ;\ Смещение переменной изменени�
|
|
|
+ mov byte ptr [si], 1 ;/ - Изменение произошло
|
|
|
|
|
|
- cmp al, 0 ; -�஢¥à塞, ¡ë« «¨ à áè¨à¥ ï ª« ¢¨è
|
|
|
- jne GOODKEY ; …᫨ ¥â - ç «® à ¡®âë
|
|
|
+ cmp al, 0 ; -Провер�ем, была ли ра�ширена� клавиша
|
|
|
+ jne GOODKEY ; Е�ли нет - на начало работы
|
|
|
mov ah, 08h ; \
|
|
|
- int 21h ; /ˆ ç¥ - ‘®¢ ¢ë§ë¢ ¥¬ áç¨âë¢ ¨ï
|
|
|
+ int 21h ; /Иначе - Снова вызываем �читывани�
|
|
|
|
|
|
-GOODKEY: ; AL - £®â®¢ ª à ¡®â¥
|
|
|
+GOODKEY: ; AL - готова к работе
|
|
|
cmp al, 27 ;\ IF
|
|
|
je KONEZ ;/ ESC then END
|
|
|
|
|
|
@@ -81,54 +81,54 @@ loopend: ; Final stage of loop
|
|
|
mov byte ptr [si], 0 ;/ it will be 0
|
|
|
|
|
|
mov ah, 09h ;\
|
|
|
- mov al, ' ' ;| ‚뢮¤¨¬ë© ᨬ¢®«
|
|
|
- mov bh, 0h ;\ ‘âà ¨æ
|
|
|
- mov bl, 00h ;/ �à®à¨á®¢ª è ਪ (€ââਡãâë ᨬ¢®« )
|
|
|
- mov cx, 01h ;| Š®«¨ç¥á⢮ ᨬ¢®«®¢
|
|
|
+ mov al, ' ' ;| Выводимый �имвол
|
|
|
+ mov bh, 0h ;\ Страница
|
|
|
+ mov bl, 00h ;/ Прори�овка шарика (�ттрибуты �имвола)
|
|
|
+ mov cx, 01h ;| Количе�тво �имволов
|
|
|
int 10h ;/
|
|
|
|
|
|
mov ah, 02h ; \ GotoXY(0,24) to delete all line
|
|
|
- mov bh, 0 ; | €ªâ¨¢ ï áâà ¨æ
|
|
|
- mov dh, 24 ; |- Šãàá®à ª paddle (Y)
|
|
|
+ mov bh, 0 ; | �ктивна� �траница
|
|
|
+ mov dh, 24 ; |- Кур�ор к paddle (Y)
|
|
|
mov dl, 0 ; | (X)
|
|
|
int 10h ; /
|
|
|
|
|
|
mov ah, 09h ;\ Clear last line to redraw paddle
|
|
|
- mov al, ' ' ;| ‚뢮¤¨¬ë© ᨬ¢®« (#20)
|
|
|
- mov bh, 0h ;\ ‘âà ¨æ
|
|
|
- mov bl, 00h ;/ �à®à¨á®¢ª è ਪ (€ââਡãâë ᨬ¢®« )
|
|
|
- mov cx, 80 ;| Š®«¨ç¥á⢮ ᨬ¢®«®¢
|
|
|
+ mov al, ' ' ;| Выводимый �имвол (#20)
|
|
|
+ mov bh, 0h ;\ Страница
|
|
|
+ mov bl, 00h ;/ Прори�овка шарика (�ттрибуты �имвола)
|
|
|
+ mov cx, 80 ;| Количе�тво �имволов
|
|
|
int 10h ;/
|
|
|
|
|
|
mov si, offset px ; [si] = xpos of paddle
|
|
|
|
|
|
mov ah, 02h ; \ GotoXY(xpos,24)
|
|
|
- mov bh, 0 ; | €ªâ¨¢ ï áâà ¨æ
|
|
|
- mov dh, 24 ; |- Šãàá®à ª paddle (Y)
|
|
|
+ mov bh, 0 ; | �ктивна� �траница
|
|
|
+ mov dh, 24 ; |- Кур�ор к paddle (Y)
|
|
|
mov dl, byte ptr [si] ; | (X) (From [si])
|
|
|
int 10h ; /
|
|
|
|
|
|
mov ah, 09h ;\ Draw the paddle
|
|
|
- mov al, 'ß' ;| ‚뢮¤¨¬ë© ᨬ¢®«
|
|
|
- mov bh, 0h ;| ‘âà ¨æ
|
|
|
- mov bl, 04h ;| �à®à¨á®¢ª paddle (€ââਡãâë ᨬ¢®« )
|
|
|
- mov cx, 05h ;| Š®«¨ç¥á⢮ ᨬ¢®«®¢ (Length of paddle)
|
|
|
+ mov al, '▀' ;| Выводимый �имвол
|
|
|
+ mov bh, 0h ;| Страница
|
|
|
+ mov bl, 04h ;| Прори�овка paddle (�ттрибуты �имвола)
|
|
|
+ mov cx, 05h ;| Количе�тво �имволов (Length of paddle)
|
|
|
int 10h ;/
|
|
|
|
|
|
mov si, offset x1 ; [si] = x pos of ball (x1)
|
|
|
mov di, offset y1 ; [di] = y pos of ball (y1)
|
|
|
|
|
|
mov ah, 02h ; \ GotoXY(x1,y1)
|
|
|
- mov bh, 0 ; | €ªâ¨¢ ï áâà ¨æ
|
|
|
+ mov bh, 0 ; | �ктивна� �траница
|
|
|
mov dh, byte ptr [di] ; |- Cursor to draw ball (Y1) (From [di])
|
|
|
mov dl, byte ptr [si] ; | (X1) (From [si])
|
|
|
int 10h ; /
|
|
|
|
|
|
mov ah, 09h ;\ Draw ball
|
|
|
- mov al, '' ;| ‚뢮¤¨¬ë© ᨬ¢®«
|
|
|
- mov bh, 0h ;| ‘âà ¨æ
|
|
|
- mov bl, 01h ;| �à®à¨á®¢ª è ਪ (€ââਡãâë ᨬ¢®« )
|
|
|
- mov cx, 01h ;| Š®«¨ç¥á⢮ ᨬ¢®«®¢
|
|
|
+ mov al, '' ;| Выводимый �имвол
|
|
|
+ mov bh, 0h ;| Страница
|
|
|
+ mov bl, 01h ;| Прори�овка шарика (�ттрибуты �имвола)
|
|
|
+ mov cx, 01h ;| Количе�тво �имволов
|
|
|
int 10h ;/
|
|
|
|
|
|
PREDDEL: ;\
|
|
|
@@ -151,7 +151,7 @@ TOFLY: ; Ball flying ?
|
|
|
mov bx, 0200h ; the period of ball move
|
|
|
xor dx, dx ; dx = 0
|
|
|
div bx ; dx = ax mod bx
|
|
|
- cmp dx, 0 ; if ticks ªà â® bx (0FFFFh)_
|
|
|
+ cmp dx, 0 ; if ticks кратно bx (0FFFFh)_
|
|
|
je MOVE ; then goto MOVE bALL
|
|
|
xor si, si ; si=0
|
|
|
jmp loopend ; goto ENDOFLOOP
|