задержку и правда надо от дребезга. да и в таких циклах полезно хальт ставить по возможности.
задержку и правда надо от дребезга. да и в таких циклах полезно хальт ставить по возможности.
ничего спорного. хальт - обеспечивает тебе как бы антидребезг. у меня была клавиатура, которая дребезжала просто одуренно, и вот я видел такие программы, где нажимаешь кнопку 1 раз, а печатается 10-15 букаф... так что чётко чечётко...
плюс ваитовые контроллеры клав не особо поощряют частый их опрос.
другие - легко! через 20 мс все уже стихало почти бейсик и прочие zx-word'ы работали замечательно. грамотный опрос решит все проблемы, а неграмотно полагать, что это единичный случай.....
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Опрос клавиатуры обычно делается на прерываниях, поэтому получается тот самый halt между опросом. Пользуйтесь возможностью ПЗУ и используйте стандартные scan-коды, генерируемые ПЗУ. Если нет возможности делать прерывание/ждать его/использовать ПЗУ - то воспользуйтесь способом, указанным выше (т.е. ожидайте отжатия кнопки). Если же нет возможности ждать отпускания (например - если надо опрашивать много кнопок) - делайте программную паузу счётчиком типа:
ld bc,<pause>
dec bc
ld a,b
or c
jr nz,$-3
Чтоб не плодить темы спрошу тут еще кое что....
Как значение в аккумуляторе разделить на 2 или 4 или 8 ??? не прибегая к процедуре деления типо этой:
Код:DIV LD B,16 LD HL,0 LD A,H DV1 RL E RL D RLA SUB C JR NC,DV2 ADD A,C DV2 CCF RL L RL H DJNZ DV1 RET
УКНЦ+FDD+HDD; ZX-NEXT; Scorpion 256k; ZXM Phoenix+TurboSoundFM; Spectrum 48k; ZX Hobbit; Radio 86RK
Огромедное спасибо) С 99 не брался за асм... ух и тяжко)))
---------- Post added at 15:09 ---------- Previous post was at 15:03 ----------
А за одно можно код генератора случайных чисел с возможностью задания пределов???
УКНЦ+FDD+HDD; ZX-NEXT; Scorpion 256k; ZXM Phoenix+TurboSoundFM; Spectrum 48k; ZX Hobbit; Radio 86RK
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)