R9029: различия между версиями
SMB (обсуждение | вклад) мНет описания правки |
AtH (обсуждение | вклад) Нет описания правки |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
'''R9029''' «Чтение кода клавиши и очистка буфера (При чтении в X-код, при записи д.б. не 0 для очистки)» | '''R9029''' «Чтение [[Код клавиши|кода клавиши]] и очистка буфера (При чтении в X-код, при записи д.б. не 0 для очистки)» | ||
== Чтение кода нажатой кнопки == | == Чтение кода нажатой кнопки == | ||
Операция производится при выполнении команды чтения из регистра памяти с адресом 9029. Если [[буфер клавиатуры|буфер]] заполнен, в [[RX|регистр X]] [[стек]]а заносится код первой нажатой кнопки, а счетчик нажатий декрементируется. При последующих чтениях, в [[RX|регистр X]] [[стек]]а считывается код второй нажатой кнопки, третьей и т.д. Когда счетчик нажатий обнуляется, то в [[RX|регистр X]] [[стек]]а всегда считывается код 255. | Операция производится при выполнении команды чтения из регистра памяти с адресом 9029. Если [[буфер клавиатуры|буфер]] заполнен, в [[RX|регистр X]] [[Стек калькулятора|стек]]а заносится [[Код клавиши|код первой нажатой кнопки]], а счетчик нажатий декрементируется. При последующих чтениях, в [[RX|регистр X]] [[Стек калькулятора|стек]]а считывается [[Код клавиши|код]] второй нажатой кнопки, третьей и т.д. Когда счетчик нажатий обнуляется, то в [[RX|регистр X]] [[Стек калькулятора|стек]]а всегда считывается код 255. [[Код клавиши|Коды кнопок]] приведены в приложении Б к [[НПКД. 401348.001 Д1]]. | ||
При нажатии на кнопку клавиатуры счетчик нажатий инкрементируется, код нажатой кнопки ставится в конец очереди. | При нажатии на кнопку [[Клавиатура|клавиатуры]] счетчик нажатий инкрементируется, [[Код клавиши|код нажатой кнопки]] ставится в конец очереди. | ||
== Очистка [[буфер клавиатуры|буфера клавиатуры]] == | == Очистка [[буфер клавиатуры|буфера клавиатуры]] == | ||
Операция производится при выполнении команды записи в регистр памяти с адресом 9029 любого числа, при этом счетчик нажатий обнуляется. Обнуление счетчика производится также при запуске программы пользователя. | Операция производится при выполнении команды записи в регистр памяти с адресом 9029 любого числа, при этом счетчик нажатий обнуляется. Обнуление счетчика производится также при запуске программы пользователя. | ||
== Ссылки == | |||
{{Документация|d1_p4.htm#d1_4_2_1|Чтение кода нажатой кнопки на сайте НПП «СЕМИКО», п. 4.2.1}} | |||
{{Документация|d1_p4.htm#d1_4_2_2|Очистка буфера клавиатуры на сайте НПП «СЕМИКО», п. 4.2.2}} | |||
{{Документация|d1_p4.htm#d1_a|Приложение Б. Коды кнопок клавиатуры на сайте НПП «СЕМИКО»}} | |||
[[Category:Регистры]] | [[Category:Регистры]] | ||
[[Category:Регистры функций]] | [[Category:Регистры функций]] | ||
[[Category:Функции буфера клавиатуры]] | [[Category:Функции буфера клавиатуры]] |
Текущая версия от 04:07, 13 августа 2015
R9029 «Чтение кода клавиши и очистка буфера (При чтении в X-код, при записи д.б. не 0 для очистки)»
Чтение кода нажатой кнопки[править]
Операция производится при выполнении команды чтения из регистра памяти с адресом 9029. Если буфер заполнен, в регистр X стека заносится код первой нажатой кнопки, а счетчик нажатий декрементируется. При последующих чтениях, в регистр X стека считывается код второй нажатой кнопки, третьей и т.д. Когда счетчик нажатий обнуляется, то в регистр X стека всегда считывается код 255. Коды кнопок приведены в приложении Б к НПКД. 401348.001 Д1.
При нажатии на кнопку клавиатуры счетчик нажатий инкрементируется, код нажатой кнопки ставится в конец очереди.
Очистка буфера клавиатуры[править]
Операция производится при выполнении команды записи в регистр памяти с адресом 9029 любого числа, при этом счетчик нажатий обнуляется. Обнуление счетчика производится также при запуске программы пользователя.