MegaCraZy6
@MegaCraZy6
Юзерь

Как сделать задержку, и чтоб клавиатура запомнила нажатие?

Делаю значит мини игру

Что-то уже даже работает, как-то...
Но тут такая проблема в емуляторе то лагает но вот при запуске програмки, летит так что не успеваю понять что да как,
Нашел вот такую задержку
mov ah,86h
mov cx,0FFFFh
mov dx,0FFFFh
int 15h
Накопипастил и в цикл всунул задержка получилась что надо :)
Но вот теперь после задержки не реагует что я что-то нажаль только когда первый раз...
mov ah,01h
int 16h       
mov si,0000h
ga1:   
mov ah,01h
int 16h   
push ax
mov ah,86h
mov cx,0FFFFh
mov dx,0FFFFh
int 15h  
mov ah,01h
int 16h    
pop ax
push ax
mov ah,86h
mov cx,0FFFFh
mov dx,0FFFFh
int 15h   
mov ah,01h
int 16h   
pop ax
push ax
mov ah,86h
mov cx,0FFFFh
mov dx,0FFFFh
int 15h   
mov ah,01h
int 16h   
pop ax
push ax
mov ah,86h
mov cx,0FFFFh
mov dx,0FFFFh
int 15h
mov ah,01h
int 16h   
pop ax
push ax
mov ah,86h
mov cx,0FFFFh
mov dx,0FFFFh
int 15h
mov ah,01h
int 16h   
pop ax
push ax
mov ah,86h
mov cx,0FFFFh
mov dx,0FFFFh
int 15h
mov ah,01h
int 16h   
pop ax
push ax
mov ah,86h
mov cx,0FFFFh
mov dx,0FFFFh
int 15h
mov ah,01h
int 16h   
pop ax
push ax
mov ah,86h
mov cx,0FFFFh
mov dx,0FFFFh
int 15h   
pop ax 
mov ah,01h
int 16h   
inc si
cmp si,0FFFFh
jnz ga1
tp1:      
mov ah,01h
int 16h
call ball_set    
cmp al,'a'
jz wood_left
cmp al,'d'
jz wood_right
mov si,0000h
ga2:    
push ax
mov ah,86h
mov cx,0FFFFh
mov dx,0FFFFh
int 15h   
pop ax
push ax
mov ah,86h
mov cx,0FFFFh
mov dx,0FFFFh
int 15h 
pop ax
push ax
mov ah,86h
mov cx,0FFFFh
mov dx,0FFFFh
int 15h
pop ax
push ax
mov ah,86h
mov cx,0FFFFh
mov dx,0FFFFh
int 15h
pop ax
push ax
mov ah,86h
mov cx,0FFFFh
mov dx,0FFFFh
int 15h
pop ax
push ax
mov ah,86h
mov cx,0FFFFh
mov dx,0FFFFh
int 15h
pop ax
push ax
mov ah,86h
mov cx,0FFFFh
mov dx,0FFFFh
int 15h
pop ax
push ax
mov ah,86h
mov cx,0FFFFh
mov dx,0FFFFh
int 15h
pop ax 
inc si
cmp si,0FFFFh
jnz ga2
jmp ga0


Вот такой вот велик два куска больших пропустить ( Там где копипаст ) мало получиться. И не реагирует больше на нажатие клавиши, и шарик в игре точнее символ @ Лелит себе дальше спокойно, а доска впираеться в край в ту сторону в которою нажал первый раз клавишу

PS: Задание сложное потому что я тупой, код велик, и мой русский, калиграфия итд хромает
  • Вопрос задан
  • 238 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
CX - время ожидания в микросекундах (старшая часть)
DX - время ожидания в микросекундах (младшая часть)

Таким образом вы даёте команду ждать
0xFFFFFFFF = 4294967295 μсек ≈ 4295 сек = 1 час 11 минут 35 секунд.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы