
Архитектура компьютеров(3 курс 2 семестр) Савченко І.О. / Лабораторна робота №13 Робота з клавіатурою,мишею та відео з використанням BIOS
.docx
Лабораторна робота №13
Робота з клавіатурою,мишею та відео з використанням BIOS
1.Мета роботи:
1.1 Отримати приктичні навички роботи з відоесистемою ПК,використовуючи засоби BIOS
1.2 Отримати приктичні навички роботи з клавіатурою та мишею, використовуючи засоби BIOS
2.Завдання:
2.1 Використовуючи переривання BIOS INT10h та його відповідні функції виконати основні операції з відеосистемою ПК.
2.2 Використовуючи переривання BIOS INT10h та його відповідні функції виконати основні операції з клавіатурою.
2.3 Використовуючи переривання BIOS INT10h та його відповідні функції виконати основні операції з мишею.
3.Хід роботи:
1.За допомогою функції 00h переривання int 10h виконано встановлення відеорежиму:
.model small
.code
mov ah,00h
mov al,03h
int 10h
end begin
2.Використовуючи функцію 0Вh переривання int 10h виконано встановлення колірної палітри в графічному режимі:
.model small
.code
Begin:
mov ah,0bh
mov bh,00
mov bl,04
int 10
end begin
D 40:60
0040:0066 30
00000011
76543210
4-7
0-3
3.Використовуючи функцію 0Fh переривання int 10h отримано поточний відеорежим.Розшифровано номер отриманого відеорежиму:
.model small
.code
mov ah,or
int 10
cmp al,03
je
end begin
ax=009f
100111111
76543210
7
6-4
3
3-0
4.Виконоючи функцію 11h переривання int 10h та основні її підфункції,виконано операцію з знакогенератором:завантажено таблицю символів,вибір таблиці визначення символів,читання даних з знакогенератора.
.model small
.code
begin
mov ax,1112h
mov bl,0
mov bl,2
int 10
end begin
bx=0001
.model small
.code
begin:
mov ax,1130h
mov bh,0
int 10 h
inc bh
jmp 100
end begin
Для перегляду символів використовуємо debug
D 0BA3:0003 0005
0BA3:0000 B7 00 CD
5.Використовуючи функцію 12h переривання int 10h та основні її підфункції,виконати додаткові функції управління відеоадаптером:отримання інформації про відеоадаптер,вибір числа строк в текстовому режимі.Розшифрувати отримати дані про відеоадаптер.
Підфункція 10Н
Bh=0
BI=3
.model small
.code
begin:
mov ax,12002
mov bl,30h
int 10h
mov ax,0003
int 1
end begin
6. Використовуючи функцію 13h переривання int 10h виконати вивід на екран довільної строки символів,встановлюючи різні атрибути екрану та підфункції,які визначають по вмісту регістру AL.
.model small
.code
begin:
mov ah,13h
mov al,00
mov dh,01N
mov bl,00
mov cx,06
mov dl,08
mov dl,03
int 10
end begin
Al 0006
D 0BA3:0006 0006
OBA3:0000 B3
7. Використовуючи функцію 1Bh переривання int 10h отримати інформацію про відео-BIOS.Розшифрувати отримані дані про відео-BIOS.
00-р
D C000:3988
C000:3980 ad 10101101
00h-01
07H-0
0AH-1101
8. Використовуючи функцію 03h переривання int 16h виконати встановлення параметрів автоповтору:
.model small
.code
begin:
mov ah,03h
mov al,05h
mov bh,1
mov bl,12
int 16
end begin
ax 0300
ax 0303
bx 0100
bx 010A
9. Використовуючи функції 05h та 10h переривання int 16h виконати запис та зчитування з буферу клавіатури відповідно.Занести та зчитати прості символи,функціональні клавіші та додаткові клавіші(home, end, page up, page down, insert,…)фіксуючи при цьому вміст регістра AL.
.model small
.code
begin:
mov ah,10h
int 16 h
camp al 00h
end begin
al 0000
al 00e0
10. Використовуючи функцію 00h переривання int 33h виконати ініціалізацію миші.
Завантажив в АХ значення 00Н без параметрів і визвав 1NT 33H.
В результаті отримав,що АХ=FFFFH значить миша є.
ВХ-кількість кнопок миші(3).
11. Використовуючи функцію 01h переривання int 33h видобразити курсор миші на ерані,оскільки після ініціадізації курсор був прихованим.
Значення =1,функція 01Н збільшує його значення до 0,і курсор стає видимим,якщо прапорець встановить в інше число (5) то курсор стає невидимим.
13 Використовуючи функцію 03h переривання int 33h отримати та розшифрувати стан миші, який заноситься в регістр ВХ.
СХ=0006 координата по DX=0005 координата по ВХ=0000
0 0 0 0 0 0 0 0 0 0 0 0 0 0-двійкові значення
15 4 13 12110987654321-позиція біта.
біт0-ліва кнопка відпущена
біт1-права кнопка відпущена
біт2-середня кнопка відпущена
біти3-15 зарезервовано для внутрішнього використання
14. Використовуючи функцію 04h переривання int 33h виконати встановлення вказівника миші в задану позицію.Позицію вказати довільно,в допустимих межах:
.model small
.code
begin:
mov ax,04h
mov cx,05
mov dx,02
n7 33h
end begin
cx=ooob
15.Використовуючи функції 05h та 06h переривання int 33h отримати інформацію про натискання та відпускання кнопок миші відповідно:
ax-0005
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
біт 0
біт 1
біти 3-15
BX=0002
CX=0008
DX=0000
AX=0006
0 0 0 0 0 1 1100000000
15 14 13 12 11 1098765432 1 0
біт 0
біт 1
біт 2
біт 3
ВХ=0001
СХ=0008
DX=0000
16.Використовуючи функції 07h та 08h переривання int 33h встановити межі переміщення вказівника по горизонталі та вертикалі відповідно:
CX=0001 по горизонталі
DX=0004 по вертикалі
.model small
.code
begin:
mov ax,07h
mov cx,0001
mov dx,0004
int33h
end begin
17.Використовуючи функцію 04Bh переривання int 33h прочитати вміст лічильників переміщення миші:
CX=3591 переміщення по горизонталі вправо,Х=2012-переміщення по вертикалі вниз
18. Використовуючи функцію 1Ah переривання int 33h встановити чутливість миші та порогову швидкість переміщення вказівника:
.model small
.code
begin:
mov ax,1ah
mov bx,0008
mov cx.ooio
mov dx.0064
int33h
end begin
BX=0008 горизонтальна чутливість СХ=0010 вертикальна чутливість DX=0040 порогова швидкість переміщення.
Висновок: в ході виконання лабораторної роботи отримав приктичні навички роботи з відоесистемою ПК,використовуючи засоби BIOS отримав приктичні навички роботи з клавіатурою та мишею, використовуючи засоби BIOS,
використовуючи переривання BIOS INT10h та його відповідні функції виконав основні операції з відеосистемою ПК,використовуючи переривання BIOS INT10h та його відповідні функції виконав основні операції з клавіатурою.