Портал освітньо-інформаційних послуг «Студентська консультація»

  
Телефон +3 8(066) 185-39-18
Телефон +3 8(093) 202-63-01
 (093) 202-63-01
 studscon@gmail.com
 facebook.com/studcons

<script>

  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

 

  ga('create', 'UA-53007750-1', 'auto');

  ga('send', 'pageview');

 

</script>

Дослідження будови та програмування клавіатури ІВМ РС AT

Тип роботи: 
Контрольна робота
К-сть сторінок: 
23
Мова: 
Українська
Оцінка: 

якщо символ не готовий.

ZF= 0, якщо символ готовий.                                                                                                               
АХ=як для підфункції.00Н (але символ не викидається з черги)
AH = 02Н Читати стан Shift-клавіш. Визначити, які Shift-клавіші натиснені в даний момент,і чи клавіатура в стані NumLock та ін.
Вихід: АL= статус shift-клавіш (байт за адресою 0:417)
AH = 03Н Встановити частоту та затримку автоповтору клавіш при утриманні натиснутої клавіші 
Вхід: АL = 05Н (тобто АХ = 0305Н)
ВL =частота повтору   0 = 30 rpts/sec, 1=26 rpts/sec .
See АТ Кеуb. 
ВН = затримка (0=250ms, 1=500ms, 2=750ms, 3=l second)
 
AH = 04Н зарезервована функція
 
AH = 05Н Помістити символ в буфер. 
Вхід: СL = АSСІІ символ.
СН = байт скан-коду (або 0),
Вихід: АІ. = статус: 0=успішно; l=буфер повний
 
AH = 06Н-ОFН зарезервовані функції
 
AH = 10Н Читати (очікувати) наступну натиснену клавішу. 
Специфічна для 101-клавішноі клавіатури 
Вихід: 
АL - АSСІІ символ  (якщо  АL=0, АН містить розширений АSСІІ код) 
АН = Скан- код або розширений АSСІІ код
 
AH = 11H Перевірити готовність символа і видати його в разі готовності
Функція схожа на 01, але для 101-клавішної клавіатури 
Вихід: 
ZF = ZR = 1, якщо немає готових кодів.
ZF = NZ = 0 якщо натиснута клавіша
АХ встановлюється як в функції з AH = 10H, але символ залишається в буфері.
 
AH = 12Н Читати стан shift-клавіш.
Схожа на 02, але для 101-клавішної клавіатури 
Вихід: АL = стан клавіш перемикачів. (байт за адресою 0:417).
 
Додаток 7. Функції DOS для роботи з клавіатурою,
1. Введення знаку
Призначення:
За допомогою цієї функції з буферу клавіатури зчитується знак. Якщо до моменту виклику функції знак не введений, то програма переходить в режим очікування до тих пір, поки не буде введений з клавіатури.
Виклик:
РегістрЗміст/значення
АН00h
 
Повернення:
Регістр/FlagЗміст/значення
AL
AHКод ASCII
Код сканування (скан-код)
 
Якщо AL = 0, то АН містить не SCAN-код, а розширений код.
 
2. Перевірка наявності знаку
Призначення
Перевіряє, чи міститься в буфері клавіатури знак.
Виклик:
РегістрЗміст/значення
АН01h
Повернення:
Регістр/FlagЗміст/значення
ZFРезультат тестування
ZF = 1 знак наданий
ZF = 0 в буфері клавіатури знак відсутній.
Примітка:
Знак можна прорахувати за допомогою функції 0.
3. Стан клавіатури
Призначення:
Читання стану клавіатури
Виклик:
РегістрЗміст/значення
АН02h
Повернення:
Регістр/FlagЗміст/значення
АLСтан клавіатури
В AL повідомляється дійсний стан клавіатури
 4.Запис в буфер клавіатури
Виклик:
РегістрЗміст/значення
АН05h
CLASCII код
CHСкан-код
Повернення без помилки:
Регістр/признакЗміст/значення
АL0
Коди зберігаються в буфері.
Повернення з помилкою
Регістр/признакЗміст/значення
АL1
Буфер клавіатури заповнений
СХ не зберігається.
Примітка:
Ця функція являється оберненою до функції 00h
 
5. Введення розширеного кода
Призначення:
За допомогою цієї функції знак зчитується з буфера клавіатури. Якщо знак до моменту виклику функції не введений, то очікують, поки знак не буде введений через клавіатуру буфера.
Ця функція дозволяє детальний аналіз використаних клавіш (наприклад, поділ на цифрові та керуючі клавіші).
Виклик:
РегістрЗміст/значення
АН10h
Повернення:
Регістр/FlagЗміст/значення
ALКод ASCII
АНСкан-код
6. Перевірка наявності розширеного коду
Призначення:
Перевіряє, чи представлений в буфері клавіатури знак
Виклик
РегістрЗміст/значення
АН11h
Повернення:
Регістр/FlagЗміст/значення
ZFРезультат тестування
ZF = 1 Знак представлений
ZF = 0 В буфері клавіатури знак відсутній
Примітка:
Знак можна прочитати за допомогою функції 10h.
7. Розширений стан клавіатури
Призначення :
Читання розширеного стану клавіатури.
Виклик:
РегістрЗміст/значення
АН12h
Повернення:
Регістр/FlagЗміст/значення
АXСтан клавіатури
В AL повертається поточне значення клавіатури (аналогічно функції 02h)
В АН повідомляється поточне значення наступних клавіш:
 
Додаток 8. Функції для роботи з клавіатурою ІВМ РС АТ.
Клавіатура АТ (і її  мікроконтролерний інтерфейс i8042) є програмованим. Користуючись поданою нижче інформацією можно встановити швидкість повтору коду клавіші, що натиснена і переключати індикатори на клавіатурі. Інформація подана нижче, є коротким викладеннням можливостей клавіатури та контролера i8042.
Порт 60H є портом для запису даних і використовується для сумісності з старим програмним забеспеченням. Якщо приклад не може використати порт 64H попробуйте змінити адресу на 60H
Port 64H
Фото Капча