
Архитектура компьютеров(3 курс 2 семестр) Савченко І.О. / Лабораторна робота №5 Система переривань мікропроцесора
.docx
Лабораторна робота №5
1.Тема: Система переривань мікропроцесора
2.Мета роботи: Дослідити роботу переривань 10h і 21h
3.Завдання: Створити програму дослідження переривань,виконати її асемблювання та компоновку за допомогою програм tasm і tlink згідно варіанту.
Виконання роботи:
Визначати наступні змінні,розміром 1 байт кожна:
Число(V),що дорівнює номеру студента по журналу
Число(n), дорівнює номеру комп`ютера студента
Скласти 4 програмні блоки:
-Встановлення курсору в задану позиції екрана(номер рядка взяти рівним числу n,номер стовпця дорівнює числу V);
-Очищення екрану з верхнього лівого кута до заданої позиції екрану(з
номером рядка n та номером стовпця V);
-Введення даних з клавіатури (в регістр ВХ занести число n, ввести з
клавіатури назву групи);
-Виведення на екран назви групи.
На основі цих чотирьох блоків створив програму дослідження переривань,виконав її асемблювання та компоновку за допомогою програм tasm та tlink.
Запустив створену програму на виконання та описати в звіті роботу кожного програмного блоку,замалював результати виконання програми.
На основі отриманих результатів зробив та привести в звіті детальний аналіз роботи кожного з чотирьох програмних блоків.
3.Хід роботи:
.model small
v db 2
n db 10
Nameprmp db `Група К-684-31 Висоцький Артем`,’$’
NAMEPAR LABEL BYTE
MAXLEN db 20
ACTNLEN db ?
NAMELLD db 20 DUP(‘ ‘)
.code
begin:
mov ax,@data
mov ds,ax
mov ah,02h
mov bh,00
mov dh,n
mov dl,v
int 10h
mov ax,0600h
mov bh,n
mov cx,0000
mov dx,1012h
int 10h
mov ah,0ah
lea dx,NAMEPAR
int 21h
mov ax,4c00h
int 21h
end begin
Зберегіг свій файл в папку lab05.asm
В командній стрічці надрукував TASM lab05, отримав об’єктний файл lab05.obj
C:\tasm lab05
В командній стрічці набрав TLINK lab05, отримав виконуваний файл lab05.exe.
C:\tlink lab05
Запустив на виконання файл наступною командою:
C:\lab05.exe
№ |
Команда |
Регістр |
Значення
|
|
До |
Після |
|||
1 |
mov ax,50F0 |
ax |
0000 |
50F0 |
2 |
mov dx,ax |
ds |
50DD |
50F0 |
3 |
mov ah,02 |
ax |
50F0 |
02F0 |
4 |
mov bh,00 |
bx |
0000 |
0000 |
5 |
mov dh,[0007] |
dx |
0000 |
0100 |
6 |
mov dl,[0006] |
dx |
0100 |
0107 |
7 |
mov ax,0600 |
ax |
02F0 |
0600 |
8 |
mov bh,[0007] |
bx |
0000 |
0100 |
9 |
mov cx,0000 |
cx |
0000 |
0000 |
10 |
mov dx,1012 |
dx |
0107 |
1012 |
11 |
mov ah,0A |
ax |
0600 |
0A00 |
12 |
mov dx,0028 |
dx |
1012 |
0028 |
13 |
mov ah,09 |
ax |
0A00 |
0900 |
14 |
mov dx,0008 |
dx |
0028 |
0008 |
15 |
mov ax,4C00 |
ax |
0900 |
4C00 |
Висновок:в ході виконання лабораторної роботи я дослідив систему переривань мікропроцесора та дослідив роботу переривань 10h і 21h.
Відповіді на контрольні питання:
1. Переривання (англ. interrupt) — сигнал, що повідомляє процесор про настання якої-небудь події, яка потребує невідкладної уваги. При цьому виконання поточної послідовності команд призупиняється і керування передається обробнику переривання, який реагує на подію та обслуговує її, після чого повертає управління в перерваний код.
2. Будь-яка особлива ситуація,що викликає переривання супровождується сигналом,що назвається запитом переивання.
3.Перириванння поділяються на:програмні та апаратні.
4.Глибина переривання- це кількість програм які можуть переривати одна в іншу. 5. Процесор проходить:час реагування,час збереження,час відновлення,час реакції процесора на запит переривання,час збереженння стану переривання програми і виклик обробника переривань,час відновлення перерваної програми.