Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Программирование (http://zx-pk.ru/forumdisplay.php?f=14)
-   -   Вопрос по опросу клавиатуры! (http://zx-pk.ru/showthread.php?t=13361)

Voxel 18th July 2010 20:29

Вопрос по опросу клавиатуры!
 
Может я чего не догоняю...

Пишу такой кусок:

key1 ld a,#FB
in a,(#FE)
rrca
jr c,key1
call куда-то
jr key1

Опрашиваю клавишу Q. Но вот беда, как только я ее (клавишу) нажму то вызов процедуры call куда-то будет происходить не один раз а ... ну хрен знает сколько. В итоге потом все будет нормально, опрос будет ждать нажатия клавиши.

Вопрос в том почему как будто бы происходит залепание клавиши??????

Асемблер у мну sjasmplus-win32-1.07-rc7. Запуская в эмуле Unreal.

null_device 18th July 2010 20:36

Обычно нужна задержка. Допустим, так - ожидание нажатия => ожидание отпускания => вызов процедуры. Либо аппаратная задержка, по halt или срабатыванию счетчика.

Лас 18th July 2010 20:54

Quote:

Originally Posted by null_device (Post 300282)
Обычно нужна задержка. Допустим, так - ожидание нажатия => ожидание отпускания => вызов процедуры.

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

Eugen 18th July 2010 21:02

key1 ld a,#FB
in a,(#FE)
rrca
jr c,key1
call куда-то
key2 ld a,#FB
in a,(#FE)
rrca
jr c,key2
jr key1

сорри , флаги попутал. отредактировал

Voxel 18th July 2010 22:01

Спасибо. Помогло)))

psb 18th July 2010 23:20

Quote:

Originally Posted by Eugen Tsalapov (Post 300295)
key1 ld a,#FB
in a,(#FE)
rrca
jr c,key1
call куда-то
key2 ld a,#FB
in a,(#FE)
rrca
jr c,key2
jr key1

сорри , флаги попутал. отредактировал

то ли лыжи не едут, то ли я...
как так отредактировал, если не правильно? должно быть nc в посл. случае.

Eugen 19th July 2010 03:17

почему? пока клавишу неотпустили , мы в цикле key2

Voxel 19th July 2010 03:21

Quote:

Originally Posted by Eugen Tsalapov (Post 300412)
почему? пока клавишу неотпустили , мы в цикле key2

Psb верно говорит... в этой строке jr c,key2 должно быть так jr nc,key2...

потому как мы этим циклом продолжаем опрос клавиши, НО она то залипла!!! по сему нужно болтаться в цикле пока не отлипнет...

Лас 19th July 2010 03:25

Цирк

Eugen 19th July 2010 03:33

согласен. в первом варианте у меня так и было:v2_blush: а потом у меня головушка бо-ьо, устала уже. сомнения одолели, исправил:v2_conf2:

---------- Post added at 01:33 ---------- Previous post was at 01:28 ----------

Quote:

Originally Posted by Лас (Post 300285)
после отпускания клавиши, неплохо бы еще антидребезговую задержку вставить

цирк это?


All times are GMT +4. The time now is 14:16.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.