НА
Наталья Александрова

Ассемблер. tasm.повторное нажатие клавиши

Есть программа, в которой прорисовывается фигура и при нажатии любой клавиши должна начинаться смена цвета. Подскажите, пожалуйста, как сделать, чтобы при повторном нажатии той же клавиши смена цвета останавливалась
Процедура смены цвета:
changcv proc
inc color
call zvezda
jmp changcv
ret
...
begin:mov AX,data
mov DS,AX
movAX,00h
movAL,10h
int10h
clear: mov AH,09h ;очистка экрана
mov DX,offset esc1
int 21h
draw:mov AL,color ;вызов процедуры прорисовки фигуры
callzvezda
input:
mov AH,08h
int 21h
cmp AL,1Bh
je exit ; если Esc то выход
cmp AL,48h
je vverh ;перемещение вверх
cmp AL,50h
je vniz ;вниз
cmp AL,4Bh
je vlevo ;влево
cmp AL,4Dh
je vpravo ;вправо
call changcv ;процедура смены цвета
jmp input
...

Смена цвета происходит до повторного нажатия клавиши, и еще я не написала, если в течение семи секунд не было нажатие, смена также останавливается

АЗ
Александра Злобина

А смена цвета, которая производится процедурой, бесконечная?
Что нибудь придумать что ли вроде индикатора... Например пусть будет индикатором заранее обнуленный регистр сх. Если его значение 0 то не менять, если 1, то менять.
Например, при первом запуске, заранее установить сх в 0. Потом, перед вызовом процедуры, когда нажата уже кнопка смены цвета сначала сделать проверку cmp cx, 0. Если ноль, то установить его в 1 и вызвать процедуру. В самой процедуре тоже сделать проверку на нажатие клавиши и на значение регистра сх. Так как оно у нас 1, то при нажатии клавиши сделать установку сх в ноль (mov cx,0) и ВЫХОД из процедуры. Хотя.. я еще не проснулся, )) голова от кодирования квадратная (кучу всего надо писать своего) ..

Похожие вопросы
программное нажатие клавишы в дельфи ( без условий if then) тупое программное нажатие!
Перехват нажатия клавиши C++
регистрировать нажатие клавиш. как регистрировать нажатие клавиш с помощью visual basic 6 (например нажатие в браузере)
OpenGL. Нажатие двух клавиш одновременно на клавиатуре
Существует ли программа для перемещения курсора нажатием клавиши
Программирование, имитация нажатия одной и более клавиш.
Как сделать чтобы клавиша всегда была нажата ?
Программа выхода из консоли по нажатию определенной клавиши. С++.
обработка нажатий клавиш в VS2012 C++/CLI
Delphi нажатие клавиш