- •Методические указания к выполнению работы Внутренняя организация мп семейства 80х86 в реальном режиме работы
- •Внутренние регистры мп
- •Организация памяти
- •Система прерываний мп
- •Аппаратные прерывания в ibm pc
- •Выполнение работы
- •0: (Ax,bx,cx,dx,bp,si,di,ds,es,Flags: Word); {16-ти разр. Регистры}
- •1: (Al,ah,bl,bh,cl,ch,dl,dh); {8-ми разр. Регистры}
- •Контрольные вопросы
- •Методические указания к выполнению работы
- •Контрольные вопросы
- •Лабораторная работа № 3 Средства ос Windows для управления процессами и потоками
- •Подготовка к работе
- •Программа работы
- •Методические указания к выполнению работы Управление процессами и потоками в ос Windows
- •Выполнение работы
- •Контрольные вопросы
- •Методические указания
- •0: XPos: SmalInt; {либо как координаты X и y}
- •1: Pos: tSmallPoint; {или как одна точка]
- •Контрольные вопросы
- •Методические указания к выполнению работы Получение информации о логических дисках, томах и файлах
- •Выполнение работы
- •Контрольные вопросы
- •Библиографический список
МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО
ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Южно-Российский государственный технический университет (НПИ)
Кафедра автоматики и телемеханики
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
к лабораторным работам по курсу
“Системное программное обеспечение"
Н овочеркасск 2012
УДК 681.3
Рецензент канд. техн. наук А.В. Седов
Составители: Дереча С.В. , Фоменко Г.П., Онышко Д.А., Фугаров Д.Д.
Методические указания к лабораторным работам по курсу «Системное программное обеспечение» / Южно-Российский. государственный технический университет. Новочеркасск: ЮРГТУ, 2012. 61 с.
Методические указания содержат цели, программы и методические указания для выполнения лабораторных работ по курсу «Системное программное обеспечение».
Предназначены для студентов 3–го курса специальности 2101 - “Управление и информатика в технических системах” дневной формы обучения.
© Южно-Российский государственный технический университет, 2012
© Дереча С.В. , Фоменко Г.П., Онышко Д.А., Фугаров Д.Д.
Лабораторная работа № 1
Использование стандартных функций и разработка собственных прерываний в ОС MSDOS
Продолжительность работы – 4 часа.
Цель работы: приобретение навыков использования стандартных и разработка собственных прерываний в ОС MSDOS.
Используемое оборудование: любой IBM РС-совместимый компьютер.
Используемое программное обеспечение: система программирования Turbo Pascal 7.0.
Подготовка к работе
Изучить по конспекту лекций и приведенной ниже литературе, следующие вопросы:
аппаратные и программные прерывания в IBM PC;
обращение к функциям MSDOS;
разработка собственных прерываний в ОС MSDOS;
дополнение к существующему прерыванию в ОС MSDOS;
назначение и состав модуля DOS в Turbo Pascal 7.0.
Программа работы
Составьте текст программы на языке Паскаль, которая формирует на экране меню, строки которого соответствуют названиям пунктов 2-4 лабораторной работы. Последний пункт меню - “Выход” - завершает работу программы. Пункты меню имеют сквозную нумерацию (табл. 1.) и выполняются при нажатии соответствующей клавиши. Пока программа должна обрабатывать нажатие клавиши только для завершения работы.
Использование стандартных функций MSDOS. В соответствии с вариантом (табл. 2), заданным преподавателем, добавьте в текст основной программы операторы для вызова требуемой функции MSDOS и вывода полученных результатов на экран дисплея.
Разработка собственного программного прерывания. Добавьте к основной программе процедуру обработки собственного прерывания (номер прерывания задан в табл. 3), в котором будут выполняться те же действия, что и в п.2.
Дополнение к существующему аппаратному прерыванию от таймера. Добавьте к основной программе процедуру обработки прерывания, которая будет являться дополнением к существующему аппаратному прерыванию от таймера. При помощи дополнения к прерыванию реализовать выполнение задания в соответствии с вариантом из табл. 4.
Добавьте к основной программе операторы, которые выводят на экран значения векторов прерывания и точек входа в процедуры обработки прерывания. Значения представить в виде логического адреса и физического адреса.
Сделайте выводы и оформите отчет по лабораторной работе.
табл. 1
№ варианта |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Нумерация меню |
1 - 4 |
F1 – F4 |
ABCD |
abcd |
АБВГ |
абвг |
F5 – F8 |
табл. 2
№ |
Функция MSDOS |
|
||
Вар. |
Номер прерыв |
Входные параметры |
Выходные параметры |
Сообщение |
|
12H |
|
AX- размер памяти в кБ. |
Количество памяти в кБ. |
|
21H |
AX=3000H |
AL- основной номер версии. AH- вспомогат. номер версии. |
Номер версии ОС |
|
21H |
AH=2AH |
AL- день недели (0-вс. и т.д.). CX- год (1980-2099). DH- месяц (1-12). DL- день (1-31). |
Дата в формате: день.месяц.год |
|
21H |
AH=2CH |
CH- часы (0-23). CL- минуты (0-59). DH- секунды (0-59). |
Время в формате: час.минута.сек. |
|
21H |
AH=1BH |
AL- кол. сект. в кластере. CX- кол. байт в секторе. DX- кол. кластеров. |
Объем диска в байтах. |
|
21H |
AH=36H |
DL- номер диска (0; 1-А). AX- кол. сект. в кластере. BX- кол. своб. кластеров. CX- длина сектора в байтах. DX- кол. класт. на дорожке. |
Количество свободного места в байтах. |
|
21Н |
AH=09H DS:DX- нач.адрес строки с символом ‘$’ в конце. |
|
|
табл. 3
№ варианта |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Номер прерывания |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
табл. 4
№ вар. |
Действие |
|
Отсчет секунд и десятых долей с начала работы программы. |
|
Выдача звукового сигнала с периодичностью 1 сек. |
|
Изменение фона экрана с периодичностью 2 сек. |
|
Изменение цвета символов с периодичностью 3 сек. |
|
Пульсирующее окно с дискретностью изменения параметров 1/9 сек. |
|
Перемещающееся окно с дискретностью изменения координат – 1/6 сек. |
|
Вариант 3 + Вариант 4. |
Методические указания к выполнению работы Внутренняя организация мп семейства 80х86 в реальном режиме работы
В реальном режиме работы (например, под управлением MSDOS) любой из процессоров семейства 80х86 функционирует просто как 16-разрядный "быстрый" МП 8086, т.е. полностью соответствуют его программной модели.
Внутренние регистры мп
В состав МП входят следующие блоки регистров (табл. 5):
табл. 5
|
CS |
сегмент кода |
|
||
|
DS |
сегмент данных |
Сегментные |
||
|
SS |
сегмент стека |
Регистры |
||
|
ES |
дополнительный сегмент |
|
||
|
IP |
указатель команд |
|
||
|
SP |
указатель стека |
|
||
|
BP |
указатель базы |
Регистры |
||
|
SI |
индексный регистр |
|
||
|
DI |
индексный регистр |
Общего |
||
AX |
AH |
AL |
аккумулятор |
|
|
BX |
BH |
BL |
указатель базы |
Назначения |
|
CX |
CH |
CL |
счетчик |
|
|
DX |
DH |
DL |
расширитель аккумулятора |
|
|
|
F |
регистр флагов |
|
блок сегментных регистров. 4 сегментных регистра используются для хранения 16-и разрядных сегментных адресов начала сегмента.
IP – 16-и разрядный регистр указателя команд, в котором хранится адрес смещения команды в кодовом сегменте.
регистры общего назначения (РОН) могут использоваться для хранения любой информации. Но, как правило, РОН AX, BX, CX и DX используются в основном для хранения данных и допускают раздельное использование их байтов, а регистры SP,BP,SI,DI используются, в основном, для хранения адресной информации. Кроме того, каждый из РОН имеет специальные функции, которые используются по умолчанию в некоторых командах.
регистр флагов (признаков) F содержит признаки последней выполненной АЛУ операции.
Организация памяти
Память представляет собой последовательность байтов, каждый из которых имеет 20-и разрядный физический адрес (исполнительный адрес) в диапазоне 00000-FFFFF. Все пространство памяти представляется как набор сегментов, определяемых программным путем. Размер каждого сегмента составляет 64К. В каждый момент времени в памяти имеется 4 сегмента: CS, SS, DS, ES. Эти сегменты могут не пересекаться, могут частично пересекаться, а если содержимое сегментных регистров одинаково, то они полностью совпадают.
Для определения физического адреса памяти необходимо знать начальный адрес сегмента и внутрисегментное смещение. Физический адрес формируется сумматором блока шинного интерфейса МП (рис. 1) в соответствии со следующей формулой:
FA = SR*16 + ЕА, где:
FA – физический адрес;
SR – содержимое текущего сегментного регистра;
ЕА – эффективный адрес.
рис. 1
Сегментный адрес хранится в одном из сегментных регистров (16 старших разрядов 20-ти разрядного адреса памяти). При вычислении физического адреса памяти к содержимому сегментного адреса дописываются нули. Поэтому начальные адреса сегментов всегда кратны 16.
Смещение в сегменте формируется процессором в зависимости от его режима работы. Если процессор выполняет выборку команд из памяти, то сегментный адрес берется из регистра CS, а смещение – из указателя команд IP (рис. 2). Во всех остальных случаях смещение формируется из содержимого РОН, индексных или базовых регистров. Способ вычисления смещения является способом адресации.
рис. 2
Внутрисегментный адрес называется смещением, если речь идет об аппаратных средствах. В системе команд в этом случае используется понятие эффективный адрес.
Для точного указания адреса в памяти используется логический адрес, который имеет следующий формат записи:
SR:EA; где SR – содержимое сегментного регистра; EA – эффективный адрес.
Например, пусть DS=2000H, EA=3100H. Тогда:
Логический адрес: 2000:3100
Физический адрес: 2000 0 + 3100 = 23100
Иногда объем памяти измеряется в параграфах (§): 1§ = 16 байт.