Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
kseniya_777
0 / 0 / 1
Регистрация: 18.11.2012
Сообщений: 28
#1

Ассемблер.повторное нажатие клавиши и использование таймера - Assembler

27.05.2013, 10:59. Просмотров 952. Ответов 3
Метки нет (Все метки)

tasm
Есть программа, в которой прорисовывается фигура и при нажатии любой клавиши должна начинаться смена цвета. Подскажите, пожалуйста, как сделать, чтобы при повторном нажатии той же клавиши или после 7 секунд смена цвета останавливалась
Процедура смены цвета:

Код
changcv proc 
     inc color 
     call zvezda 
     jmp changcv 
ret
основная программа
Код
... 
begin: mov AX,data 
         mov DS,AX 
         mov AX,00h 
         mov AL,10h 
         int 10h 
clear: mov AH,09h ;очистка экрана 
        mov DX,offset esc1 
        int 21h 
draw: mov AL,color ;вызов процедуры прорисовки фигуры 
        call zvezda 
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2013, 10:59
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Ассемблер.повторное нажатие клавиши и использование таймера (Assembler):

Ассемблер - нажатие клавиш...
Всем привет. у меня прога (загружается через командную строку) выводит на...

Определение нажатие клавиши
Необходимо определить нажатие ф-циональных клавиш F1-F12. Так я пытаюсь...

Программное нажатие клавиши
use16 org 100h mov ax,60h out 45h,ax ;ïîëó÷èòü ñêàíêîä ñ êëàâû...

Время затраченное на нажатие клавиши
Нужно определить какое время была нажата определённая клавиша( т.е затраченное...

Нажатие клавиши с эхом через порт клавиатуры
можете подскзаать идею как сделать такое,мне нужно нажать в програме на клавишу...

Программа должна ожидать нажатие клавиши и только потом закрываться
Привет всем. Создал маленькую программку для TASM, а она показывает ДОС-окно и...

3
sh2ezo
1126 / 260 / 9
Регистрация: 11.06.2010
Сообщений: 1,050
27.05.2013, 18:34 #2
про повторное нажатие:
при нажатии клавиши нужно записать её код в какую-нибудь переменную и сравнивать все последующие нажатия с данным кодом. Если совпало, останавливаем.

Про 7 секунд:
организуем переменную, в которой будем хранить число секунд, прошедшее с последнего нажатия. по прошествии одной секунды увеличиваем значение переменной на 1. если в переменной число 7, останавливаем процесс изменения цвета. если нажата клавиша, сбрасываем значение переменной в 0.
1
kseniya_777
0 / 0 / 1
Регистрация: 18.11.2012
Сообщений: 28
28.05.2013, 23:01  [ТС] #3
Спасибо большое! А как сделать так, чтобы и смена цвета не останавливалась, пока таймер считает, и таймер считал?
0
sh2ezo
1126 / 260 / 9
Регистрация: 11.06.2010
Сообщений: 1,050
28.05.2013, 23:23 #4
так в цикле цвет меняем и таймер проверяем.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2013, 23:23
Привет! Вот еще темы с решениями:

Калькулятор: как обрабатывать нажатие клавиши именно на одну из "кнопок"
Здравствуйте. Нужна помощь! Задание калькулятор на assemlber (tasm). Будущие...

Ассемблер в паскале: как загрузить массив во встроенный ассемблер и произвести над любым из его чисел сложение(вычитание).
хочу написать программу в паскале с использованием встроенного ассемблера, но...

Перехват и повторное нажатие клавиши
Здравствуйте Форумчане. Созрел такой вопрос на счет системной ловушки....

Повторное заполнение progressBar из таймера
есть progressbar и есть timer все подсоединил , все работает (один раз ) я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru