Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Теоретичні відомості.




Даний спосіб базується на стандартному наборі функцій ВІOS, що використовують переривання – int 16h. Список всіх функцій представлений в табл. 3.1. Слід відмітити, що для підтримки 84-клавішеих клавіатур використовуються тільки ВІOS функції 00h, 01h i 02h. Функції 10h, 11h i 12h підтримують 83-клавішні і 102-клавішні пристрої. Функції 20h, 21h i 22h підтримують всі види клавіатур.

Код функції Опис
00h 01h 02h 03h 04h 05h 09h 0Ah 10h 11h 12h 20h   21h   22h FFh Отримати скан-код і ASCII-код клавіш. Перевірити, чи була натиснута клавіша. Отримати стан спеціальних клавіш. Управління режимом автоповтору. Використати звуковий сигнал. Зберегти код клавіші в буфері клавіатури. Отримати інформацію про можливості клавіатури. Отримати ідентифікатор клавіатури. Прочитати код клавіші для розширеної клавіатури. Отримати стан спеціальних клавіш на розширеній клавіатурі. Перевірити, чи була натиснута клавіша на розширеній клавіатурі. Отримати скан-код і ASCII-код клавіші 122-клавішної клавіатури. Перевірити, чи була натиснута клавіша на122-клавішній клавіатурі. Отримати стан спеціальних клавіш122-клавішної клавіатурі. Добавити код клавіші в кінець буфера клавіатури.

Таблиця 3.1. Список функцій ВІOS

Функція 00h– дозволяє отримати скан-код і ASKII-код натисненої клавіші. За допомогою даної функції неможливо отримати код додаткових клавіш на розширеній клавіатурі. Для цього потрібно примінити функцію 10h, яка буде розглянута пізніше. Функція зчитує символ з буфера клавіатури, потім очищає його. При отриманні коду управляючих клавіш, наприклад – пробіл, в регістр AL буде записаний рівний 0.

Використання: при використанні функції в регістр AH потрібно помістити код функції 00h; викликати переривання int 16h.

Після виконання в регістр АН буде записаний скан-код ВІOS символу, а в регістр AL - ASKII-код символу. Стандартний набір значень скан-кодів символів представлений в табл.3.2, а розширений – в табл.3.3.

 

Клавіша Код Клавіша Код Клавіша Код
Esc 1 i ! 2 i @ 3 i # 4 i $ 5 i % 6 i ^ 7 i & 8 i * 9 i ( 0 i ) - i _ = i + BackSpace Tab Q W E R T Y U I O P [ i { ] i } Insert 01h 02h 03h 04h 05h 06h 07h 08h 09h 0Ah 0Bh 0Ch 0Dh 0Eh 0Fh 10h 11h 12h 13h 14h 15h 16h 17h 18h 19h 1Ah 1Bh 52h Enter Ctrl A S D F G H J K L ; i : ‘ i « ‘ i ~ Left Shift \ i | Z X C V B N M , i < . i > / i ? Right Shift Delete 1Ch 1Dh 1Eh 1Fh 20h 21h 22h 23h 24h 25h 26h 27h 28h 29h 2Ah 2Bh 2Ch 2Dh 2Eh 2Fh 30h 31h 32h 33h 34h 35h 36h 53h * Alt Space Caps Lock F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 NumLock ScrollLock Home Arrow Up Page Up - ArrowLeft ArrowRight + End ? PageDown   37h 38h 39h 3Ah 3Bh 3Ch 3Dh 3Eh 3Fh 40h 41h 42h 43h 44h 45h 46h 47h 48h 49h 4Ah 4Bh 4Ch 4Dh 4Eh 4Fh 50h 51h

Таблиця 3.2. Скан-коди клавіатури

 

Клавіші Код Клавіші Код Клавіші Код Клавіші Код
F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 3Bh 3Ch 3Dh 3Eh 3Fh 40h 41h 42h 43h 44h 85h 86h Alt+F1 Alt+F2 Alt+F3 Alt+F4 Alt+F5 Alt+F6 Alt+F7 Alt+F8 Alt+F9 Alt+F10 Alt+F11 Alt+F12 68h 69h 6Ah 6Bh 6Ch 6Dh 6Eh 6Fh 70h 71h 88h 8Ch Shift+F1 Shift+F2 Shift+F3 Shift+F4 Shift+F5 Shift+F6 Shift+F7 Shift+F8 Shift+F9 Shift+F10 Shift+F11 Shift+F12 54h 55h 56h 57h 58h 59h 5Ah 5Bh 5Ch 5Dh 87h 88h Ctrl+F1 Ctrl+F2 Ctrl+F3 Ctrl+F4 Ctrl+F5 Ctrl+F6 Ctrl+F7 Ctrl+F8 Ctrl+F9 Ctrl+F10 Ctrl+F11 Ctrl+F12 5Eh 5Fh 60h 61h 62h 63h 64h 65h 66h 67h 89h 8Ah

Таблиця 3.3. Коди для розширеної клавіатури

 

Код Назва Опис
0A 0B 0C 0D 0E 0F 1A 1B 1C 1D 1E 1F 7F NUL SON STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US SP DEL Кінець лінійки або пустий символ Початок заголовку Початок тексту Кінець тексту Кінець передачі Запит підтвердження Підтвердження Звуковий сигнал Повернення на 1 позицію вліво Горизонтальна табуляція Перевід лінійки Вертикальна табуляція Перехід на нову сторінку Повернення каретки Нижній регістр Верхній регістр Звільнити канал зв’язку Управління пристроєм 1 Управління пристроєм 2 Управління пристроєм 3 Управління пристроєм 4 Підтвердження помилки передачі Синхронізація Кінець блоку передачі Відмінити Кінець носія Заміна Вихід або перехід Розділювач файлів Розділювач груп Розділювач записів Розділювач полів Пробіл Видалення

Таблиця 3.4. Символи управління ASCII

Покроковий хід роботидля написання програми функції 00h на мові Асемблер, яка допомагає визначити, чи була натиснута клавіша управління:

1. Організація циклового повторення @repeat для умовного натискання клавіші управління.

2. Помістити в регістр AH код функції 00h.

3. Виклик переривання int 16.

4. Перевіряємо регістр AL.

5. Якщо натиснута не клавіша управління, повторяємо.

6. Переписуємо код управління в регістр AL з регістра АН.

 

Функція 01h – дозволяє перевірити натиснення клавіші на клавіатурі. Якщо клавіша була натиснута, функція запише скан-код і ASKII-код у відповідні регістри. Буфер клавіатури не очищається.

Використання: регістр AH потрібно помістити код функції 01h; визвати переривання Int 16h.

Після виконання функції в регістр AH буде записано скан-код BIOS символу, а в регістр AL - ASKII-код символу. Крім того, якщо не було натиснення клавіші символу, то прапор ZF буде встановлений в 1. Якщо клавіша була натиснута, то прапор ZF буде скинутий, (0). Приклад з натисканням клавіші <ESC>.

Покроковий хід роботидля написання програми функції 01h на мові Асемблер, яка дозволяє перевірити натиснення клавіші на клавіатурі.

1. Організація циклового повторення @repeat для умовного натискання клавіші управління.

2. Записуємо в регістр АН код функції 01h.

3. Викликаємо переривання int 16h.

4. Натиснення клавіші не було, повторюємо запит.

5. Клавіша натиснута, читаємо код клавіші.

6. Викликаємо переривання int 16h.

7. Порівнюємо отриманий ASKII-код з кодом ESC (1Bh).

8. Якщо ASKII-код не відповідає клавіші ESC, повторяємо.

 

Функція 02h – дозволяє перевірити стан спеціальних клавіш на клавіатурі: <Shift>, <Ctrl>, <Alt>, <Num Lock>, <Scroll Lock>, <Caps Lock> i <Insert>.

Використання: регістр AH потрібно помістити код функції 02h; визвати переривання іnt 16h.

Після виконання функції в регістр AL буде зберігати стан спеціальних клавіш. Формат цього байта представлений в табл.3.5.

Біт Опис
Права клавіша Shift (1-натиснена, 0-ненатиснена) Ліва клавіша Shift (1-натиснена, 0-ненатиснена) Люба клавіша Ctrl (1-натиснена, 0-ненатиснена) Люба клавіша Alt (1-натиснена, 0-ненатиснена) Перемикач Scroll Lock (1-включений, 0-виключений) Перемикач Num Lock (1-включений, 0-виключений) Перемикач Caps Lock (1-включений, 0-виключений) Перемикач Insert (1-включений, 0-виключений)

Таблиця 3.5. Формат байта стану клавіатури

Покроковий хід роботидля написання програми функції 02h на мові Асемблер, яка дозволяєперевірити стан спеціальних клавіш на клавіатурі.

 

1. Очікування прийняття натискання спеціальних клавіш на клавіатурі.

2. Записати в регістр AH код функції 02h.

3. Викликаємо переривання int 16h.

4. Перевіряємо в регістрі AL нижній біт (8).

5. Жодна клавіша Alt не була натиснута, повторити процедуру натискання.

 

Функція 03h – дозволяє встановити режим автоповторення і час затримки.

Використання: в регістр AH потрібно розмістити код функції 03h; в регістр AL потрібно записати 3 операції: 00h значення по замовчуванню для автоповторення і часу затримки; 04h відключення автоповтору (тільки для деяких клавіатур РS/2; 05h встановлення кількості повторень і часу затримки для всіх стандартних клавіатур; 06h отримання текучого значення частоти повторень і часу затримки (для деяких нових клавіатур РS/2). В регістр ВН необхідно записати значення коду затримки (табл.3.6). В регістр ВL – значення коду частоти повторення (табл.3.7). Викликати переривання int 16h.

Після виконання функції регістр ВL буде зберігати значення частоти повторення, а регістр ВН – час затримки. Вхідні параметри дійсні тільки для типу операції з кодом 06h.

Значення коду Час затримки, мс
00h 01h 02h 03h

Таблиця 3.6. Код затримки

Значення коду Частота символів/с Значення коду Частота символів/с
00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0Ah 0Bh 0Ch 0Dh 0Eh 0Fh 30,0 26,7 24,0 21,8 20,0 18,5 17,1 16,0 15,0 13,2 12,0 10,9 10,0 9,2 8,6 8,0 10h 11h 12h 13h 14h 15h 16h 17h 18h 19h 1Ah 1Bh 1Ch 1Dh 1Eh 1Fh 7,5 6,7 6,0 5,5 5,0 4,6 4,3 4,0 3,7 3,3 3,0 2,7 2,5 2,3 2,1 2,0

Таблиця 3.7. Код частоти повторень

Покроковий хід роботидля написання програми функції 03h на мові Асемблер, яка дозволяє встановити режим автоповторення і час затримки.

1. Записуємо в регістр AH код функції 03h.

2. Записуємо в регістр AL тип операції (5).

3. Записуємо в регістр ВН час затримки 750 мс з кодом 2 наприклад.

4. Запис в регістр ВL операції повторення частоти 20 символів/с з кодом 4.

5. Викликаємо переривання int 16h.

 

Функція 04h – дозволяє управляти установкою звукового сигналу для натиснення клавіш (як сигнал клацання). При активізації сигналу кожне натискання буде супроводжуватися характерним сигналом клацання.

Використання: в регістр AH потрібно розмістити код функції 04h; в регістр AL потрібно записати код операції управління (1-включити звуковий сигнал, 0-відключити звуковий сигнал). Викликати переривання int 16h.

Функція не має спеціальних вихідних параметрів.

Покроковий хід роботидля написання програми функції 04h на мові Асемблер, яка дозволяє управляти установкою звукового сигналу для натиснення клавіш.

1. Записуємо в регістр AH код функції 04h.

2. Включаємо в регістр AL звуковий сигнал (код 1).

3. Викликаємо переривання int 16h.

 

Функція 05h – дозволяє записати визначений символ в буфер клавіатури. Особливість функції в тому, що вона дозволяє імітувати натискування клавіш. Використання: регістр AH потрібно помістити код функції 05h; в регістр СН потрібно занести скан-код потрібної клавіші; в регістр СL – записати ASKII-код тієї ж клавіші; викликати переривання int 16h.

Після виконання цієї функції регістр AL буде зберігати результат операції: 00h – функція успішно завершена, 01h – функція не виконана із-за переповнення буфера клавіатури. Якщо функція не завершена, буде встановлений прапор СF. Запишемо символ «а» в буфер клавіатури:

Покроковий хід роботидля написання програми функції 05h на мові Асемблер, яка дозволяє записати необхідний символ в буфер клавіатури.

1. Записуємо в регістр AH код функції 05h.

2. Вписуємо в регістр СН скан-код букви 'а' рівний 1Еh (код 30).

3. Записуємо в регістр СL ASKII-код букви 'а'.

4. Викликаємо переривання int 16h.

 

Дану функцію можна використовувати для запису в буфер клавіатури любої команди DOS (наприклад DATE), використовуючи тільки ASKII-коди:

Покроковий хід роботи для написання програми функції 05h на мові Асемблер, яка дозволяє записати необхідну команду в буфер клавіатури.

1. Записуємо в регістр СL ASKII-код букви ‘d’.

2. Відправляємо її в буфер клавіатури.

3. Записуємо в регістр СL ASKII-код букви ’а’.

4. Відправляємо її в буфер клавіатури.

5. Записуємо в регістр СL ASKII-код букви ‘t’.

6. Відправляємо її в буфер клавіатури.

7. Записуємо в регістр СL ASKII-код букви ‘e’.

8. Відправляємо її в буфер клавіатури.

9. Записуємо в регістр СL ASKII-код переводу лінійки 0Ah.

10. Відправляємо її в буфер клавіатури.

11. Записуємо в регістр СL ASKII-код повернення каретки 0Dh.

12. Відправляємо її в буфер клавіатури.

13. Виходимо з програми командою ret.

14. Процедура для запису байту в буфер клавіатури.

15. Записуємо в регістр АН код функції 05h.

16. Записуємо в регістр CН скан-код 0 (не використовуємо).

17. Викликаємо переривання int 16h.

18. Закінчення процедури.

 

Функція 09h – дозволяє визначити набір функцій, які підтримуються клавіатурою, і, відповідно, взнати їx тип (84, 102 або 122 клавіші). Визначити, чи підтримується дана функція BIOS, можна за допомогою функції С0h переривання int 15h.

Використання: регістр АН потрібно помістити код функції 09h; викликати переривання int 16h.

Після виконання функції регістр АL буде зберігати бітову маску функцій підтримки. Формат бітової маски представлений в табл. 3.8.

Біт Опис
              Підтримка функції 0300h переривання int 16h (1-підтримується, 0-не підтримується) Підтримка функції 0304h переривання int 16h (1-підтримується, 0-не підтримується) Підтримка функції 0305h переривання int 16h (1-підтримується, 0-не підтримується) Підтримка функції 0306h переривання int 16h (1-підтримується, 0-не підтримується) Підтримка функції 0Аh переривання int 16h (1-підтримується, 0-не підтримується) Підтримка функцій 10h, 11h і 12h переривання int 16h (1-підтримується, 0-не підтримується) Підтримка функцій 20h, 21h і 22h переривання int 16h (1-підтримується, 0-не підтримується) Резерв

Таблиця 3.8. Бітова маска набору функцій.

Наприклад, щоб взнати, чи підтримуються функції 20h, 21h і 22h клавіатурою (122 клавіш), потрібно написати відповідний код:

Покроковий хід роботидля написання програми функції 09h на мові Асемблер, яка дозволяє визначити набір функцій, які підтримуються клавіатурою, і вказати їx тип (кількість клавіш).

1. Записуємо в регістр AH код функції 09h.

2. Викликаємо переривання int 16h.

3. Перевіряємо біт 6 в регістрі AL командою 40h.

4. Функції не підтримуються. Видання помилки ErrorHnd.

 

Функція 0Аh – дозволяє прочитати ідентифікатор установленої клавіатури. Перед викликом цієї функції потрібно викликати функцію 09h, щоб переконатися в її підтримці BIOS.

Використання: в регістр АН потрібно помістити код функції 0Аh; викликати переривання int 16h.

Після виконання функції регістр ВХ буде зберігати ідентифікатор клавіатури: 0000h-клавіатура відсутня, 41АВh, 54АВh, 83АВh, 84АВh-японська клавіатура, 86АВh - 122-клавішна клавіатура. Розглянемо приклад отримання ідентифікатора підключеної клавіатури.

Покроковий хід роботидля написання програми функції 0Аh на мові Асемблер, яка дозволяє прочитати ідентифікатор установленої клавіатури.

 

1. Записуємо в регістр AH код функції ОАh.

2. Викликаємо переривання int 16h.

3. Перевіряємо в регістрі BX наявність клавіатури (0).

4. Клавіатура не підключена (NoKeyb).

5. Порівнюємо в регістрі BX код 86ABh - 122 клавішна клавіатура.

6. Порівнюємо NoKeyb_122 не 122-клавішна клавіатура.

 

Функція 10h – дозволяє прочитати любий символ з розширеної клавіатури. Вона подібна на функцію 00h і підтримує розширений набір символів.

Використання: в регістрі АН потрібно помістити код функції 10h; викликати переривання int 16h.

Після виконання функції в регістр АН буде розміщений скан-код BIOS символу із розширеного набору, а в регістр АL - ASKII-код символу.

Покроковий хід роботидля написання програми функції 10h на мові Асемблер, яка дозволяє записати необхідний символ в буфер клавіатури.

1. Записуємо в регістр AH код функції 10h.

2. Вписуємо в регістр СН скан-код букви на розширеній клавіатурі.

3. Записуємо в регістр СL ASKII-код букви.

4. Викликаємо переривання int 16h.

 

Функція 11h – дозволяє перевірити натискування клавіші на розширеній клавіатурі. Якщо клавіша була натиснута, функція записує скан-код і ASKII-код клавіші у відповідні регістри. Вона подібна на функцію 00h тільки підтримує розширений набір символів.

Використання: в регістр АН потрібно розмістити код функції 11h; викликати переривання int 16h.

Після виконання функції в регістр АН буде розміщено розширений скан-код BIOS символу, а в регістр АL - ASKII-код символу. Якщо ж натискування клавіші не було, прапор ZF буде встановлений в 1, в протилежному випадку буде скинутий.

Покроковий хід роботидля написання програми функції 11h на мові Асемблер, яка допомагає визначити, чи була натиснута клавіша управління:

1. Організація циклового повторення @repeat для умовного натискання клавіші управління.

2. Помістити в регістр AH код функції 11h.

3. Виклик переривання int 16.

4. Перевіряємо регістр AL.

5. Якщо натиснута не клавіша управління, повторяємо.

6. Переписуємо код клавіші управління в регістр AL з регістра АН.

 

Функція 12h – дозволяє отримати стан спеціальних клавіш, отриманих на розширеній клавіатурі: <Shift>, <Ctrl>, <Alt>, <Num Lock>, <Scroll Lock>, <Caps Lock> i <Insert>.

Використання: в регістр АН потрібно розмістити код функції 12h; викликати переривання int 16h.

Після виконання функції в регістр АН буде розміщено значення спеціальних клавіш. Формат значень повернення викладений в табл.3.9.

Біт Опис
Права клавіша Shift (1-натиснута, 0-не натиснута) Ліва клавіша Shift (1-натиснута, 0-не натиснута) Люба клавіша Сtrl (1-натиснута, 0-не натиснута) Люба клавіша Alt (1-натиснута, 0-не натиснута) Перемикач Scroll Lock (1-включений, 0-не включений) Перемикач Num Lock (1-включений, 0-не включений) Перемикач Caps Lock (1-включений, 0-виключений) Перемикач Insert (1-включений, 0-виключений) Ліва клавіша Сtrl (1-натиснута, 0-не натиснута) Ліва клавіша Alt (1-натиснута, 0-не натиснута) Права клавіша Сtrl (1-натиснута, 0-не натиснута) Права клавіша Alt (1-натиснута, 0-не натиснута) Клавіша Scroll Lock (1-натиснута, 0-не натиснута) Клавіша Num Lock (1-натиснута, 0-не натиснута) Клавіша Caps Lock (1-натиснута, 0-не натиснута) Клавіша SysReq (1-натиснута, 0-не натиснута)

Таблиця 3.9. Формат значення про стан розширеної клавіатури

Покроковий хід роботидля написання програми функції 12h на мові Асемблер, яка дозволяєперевірити стан спеціальних клавіш на розширеній клавіатурі.

1. Очікування натискання спеціальних клавіш на розширеній клавіатурі.

2. Записати в регістр AH код функції 12h.

3. Викликаємо переривання int 16h.

4. Перевіряємо в регістрі AL нижній біт (8).

5. Ні одна клавіша не була натиснута, повтор.

 

Функція 20h – дозволяє прочитати любий символ з розширеної клавіатури. Вона подібна на функцію 10h і підтримує 122-клавішні клавіатури.

Використання: в регістр АН потрібно розмістити код функції 20h; викликати переривання int 16h.

Після виконання функції в регістр АН буде розміщено скан-код BIOS символу з розширеного набору, а в регістр АL - ASKII-код символу.

Покроковий хід роботидля написання програми функції 20h на мові Асемблер, яка дозволяє прочитати будь-який символ з розширеної клавіатури.

1. Записуємо в регістр AH код функції 20h.

2. Вписуємо в регістр СН скан-код букви на розширеній клавіатурі.

3. Записуємо в регістр СL ASKII-код букви.

4. Викликаємо переривання int 16h.

 

Функція 21h – дозволяє перевірити натискування клавіші на розширеній клавіатурі. Якщо клавіша була натиснута, функція записує скан-код і ASKII-код клавіші у відповідні регістри. Вона подібна на функцію 11h, тільки підтримує 122-клавішні клавіатури.

Використання: в регістр АН потрібно розмістити код функції 21h; викликати переривання int 16h.

Після виконання функції в регістр АН буде розміщено скан-код BIOS символу, а в регістр АL - ASKII-код символу. Якщо ж натискування клавіші не було, прапор ZF буде встановлений в 1, якщо клавіша булла натиснута, прапор ZF буде скинений.

Покроковий хід роботидля написання програми функції 21h на мові Асемблер, яка допомагає визначити, чи була натиснута клавіша на розширеній клавіатурі.

1. Організація циклового повторення @repeat для умовного натискання клавіші управління.

2. Помістити в регістр AH код функції 21h.

3. Виклик переривання int 16.

4. Перевіряємо регістр AL.

5. Якщо натиснута не клавіша управління, повторяємо.

6. Переписуємо код управління в регістр AL з регістра АН.

 

Функція 22h – дозволяє отримати стан спеціальних клавіш на розширеній клавіатурі: <Shift>, <Ctrl>, <Alt>, <Num Lock>, <Scroll Lock>, <Caps Lock> i <Insert>. Подібна на функцію 11h тільки підтримує 122-клавішні клавіатури.

Використання: в регістр АН потрібно розмістити код функції 22h; викликати переривання int 16h.

Після виконання функції в регістр АХ буде розміщено значення спеціальних клавіш. Формат значень повернення був викладений в табл.3.9.

Покроковий хід роботидля написання програми функції 22h на мові Асемблер, яка дозволяєотримати стан спеціальних клавіш на розширеній 122- клавішній клавіатурі.

1. Очікування натискання спеціальних клавіш на розширеній клавіатурі.

2. Записати в регістр AH код функції 22h.

3. Викликаємо переривання int 16h.

4. Перевіряємо в регістрі AL нижній біт (8).

5. Ні одна клавіша не була натиснута, повтор.

 

Функція FFh – дозволяє добавити символ в кінець буфера клавіатури.

Використання: в регістр АН потрібно розмістити код функції FFh; в регістр DX потрібно записати скан-код бажаного символу; викликати переривання int 16h.

Після виконання функції регістр AL буде зберігати результат операції: 00h – функція успішно завершена, 01h – виникла помилка. Запишемо скан-код букви «Q» в буфер клавіатури:

1. Записуємо в регістр AH код функції 0FFh.

2. Заносимо в регістр DX скан-код букви «Q» (10h).

3. Викликаємо переривання int 16h.

4. Перевіряємо регістр AL на 0

5. Виникла помилка ErrorHnd

 

На цьому і розглянуто основні функції BIOS і перейдемо до самостійних варіантів їх програмування. Самостійно виконайте програму функцій вашого варіанта на мові асемблер:

Варіант Завдання 1 Завдання 2 Завдання 3
00h 12h 05h-для запису команд
01h 20h 09h
02h 21h 0Аh
03h 22h 10h
04h FFh 11h
05h 00h 12h
05h-для запису команд 01h 20h
09h 02h 21h
0Аh 03h 22h
10h 04h FFh
11h 05h 00h
12h 05h-для запису команд 01h
20h 09h 02h
21h 0Аh 03h
22h 10h 04h
FFh 11h 05h
00h 12h 05h-для запису команд
01h 20h 09h
02h 21h 0Аh
03h 22h 10h
04h FFh 11h
05h 00h 12h
05h-для запису команд 01h 20h
09h 02h 21h
0Аh 03h 22h
10h 04h FFh
11h 05h 00h
12h 05h-для запису команд 01h
20h 09h 02h
21h 0Аh 03h

 


 


Поделиться:

Дата добавления: 2015-08-05; просмотров: 67; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты