Читайте также:
|
|
Далі розглянемо функції BIOS, що полегшують обслуговування двох асинхронних адаптерів COM1 та COM2. Ці функції доступні через переривання INT 14h.
Ініціалізація портів асинхронного адаптера
Перша функція з кодом 00h призначена для ініціалізації портів асинхронного адаптера:
Регістри на вході: | AH = 00h; DX = номер порту адаптера: 0 - COM1, 1 - COM2; AL = параметри ініціалізації |
Регістри на виході: | AH = стан порту асинхронного адаптера; AL = стан модему |
Параметри ініціалізації, що передаються в регістрі AL, перераховані нижче:
Поле | Опис |
0-1 | Довжина слова: 00 - 5 біт; 01 - 6 біт; 10 - 7 біт; 11 - 8 біт |
Кількість стопових біт: 0 - 1 біт; 1 - 2 біта | |
3-4 | Контроль парності: X0 - контроль на парність не використовується; 01 - контроль на непарність; 11 - контроль на парність |
5-7 | Швидкість передачі даних в бодах*(див. примітку нижче): 000 – 110; 001 – 150; 010 – 300; 011 – 600; 100 – 1200; 101 – 2400; 110 – 4800; 111 – 9600 |
Після виклику функції 00h в регістр AH записується стан порту асинхронного адаптера.
Формат регістра:
Поле | Опис |
Минув час очікування. Якщо встановлено цей біт, другі біти не мають значення | |
Регістр зсуву передатчика пустий | |
Буферній регістр передатчика пустий | |
Виявлено стан BREAK | |
Помилка синхронізації | |
Помилка парності | |
Помилка переповнення вхідного регістру | |
Дані готові |
Регістр AL містить байт стану модему.
Формат регістра:
Поле | Опис |
Лінія CTS змінила стан | |
Лінія DSR змінила стан | |
Лінія RI змінила стан | |
Лінія DCD змінила стан | |
Стан лінії CTS | |
Стан лінії DSR | |
Стан лінії RI | |
Стан лінії DCD |
Передача байта
Для передачі байта використовується функція 01h:
Регістри на вході: | AH = 01h; DX = номер порту адаптера: 0 - COM1, 1 - COM2; AL = байт що передається |
Регістри на виході: | AL зберігається; AH = стан порту асинхронного адаптера. Якщо біт 7 регістра AH встановлений, виникла помилка |
Прийом байта
Функція 02h призначена для прийому байта:
Регістри на вході: | AH = 02h; DX = номер порту адаптера: 0 - COM1, 1 - COM2; |
Регістри на виході: | AL = прийнятий байт; AH = стан порту асинхронного адаптера. Якщо біт 7 регістра AH встановлений, виникла помилка |
Визначення стану асинхронного адаптера
Стан порту асинхронного адаптера можна дізнатися за допомогою функції 03h:
Регістри на вході: | AH = 03h; DX = номер порту адаптера: 0 - COM1, 1 - COM2; |
Регістри на виході: | AL = стан модему; AH = стан порту асинхронного адаптера. Якщо біт 7 регістра AH встановлений, виникла помилка |
Примітка:
Бод – міжнародна одиниця швидкості телеграфування; визначається кількістю елементарних імпульсів, переданих за 1 сек. Названа на честь французького інженера, піонера телеграфії та винахідника кода Бодо – Еміля Бодо (фр. Emile Baudot).
Найкоротший імпульс, покладений в основу телеграфного коду, називається елементарним імпульсом. Якщо, наприклад, тривалість елементарних імпульсів становить 20 мілісекунд, то швидкість телеграфування дорівнює 50 бодам.
Дата добавления: 2015-07-08; просмотров: 458 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Функції BIOS для роботи з принтером | | | Визначення типу відеоадаптера |