
- •Организация и функционирование вычислительных машин
- •Лабораторная работа 1.Освоение трансляции, отладки и выполнения программы на языке Ассемблера Intel 8086.
- •Часть 1
- •Часть 2
- •Лабораторная работа 2. Изучение режимов адресации в Intel8086
- •Лабораторная работа 3. Программирование ветвящихся процессов
- •Лабораторная работу 4. Изучение программирования обработки символьной информации с использованием команд пересылки строк.
- •Лабораторная работа 5. Разработка собственного прерывания.
- •Лабораторная работа 6. Организация связи Ассемблера с яву на примере программы построения частотного распределение попаданий псевдослучайных целых чисел в заданные интервалы.
- •Лабораторная работа 7. Использование арифметических операций и процедур в Ассемблере.
- •Лабораторная работа 8. Разработка на языке ассемблер программы анализа используемой конфигурации компьютера и вывода на экран информации об имеющихся ресурсах.
Лабораторная работа 8. Разработка на языке ассемблер программы анализа используемой конфигурации компьютера и вывода на экран информации об имеющихся ресурсах.
Необходимые сведения для составления программы.
Проверку переключателей для ПЭВМ класса IBM PC/AT и выше следует проводить, учитывая, что она в отличие от IBM PC и IBM PC/XT не имеет микросхемы интерфейса с периферией Intel 8255. ПК IBM PC/AT хранит информацию о конфигурации в микросхеме MC146818 фирмы Motorola. Эта микросхема имеет 64 регистра, пронумерованных от 00 до 3FH. Для чтения регистра нужно сначала послать его номер в порт с адресом 70Н, а затем прочитать его содержимое через порт 71Н. Краткие сведения об использовании некоторых регистров следующие:
Номер регистра Использование
10Н тип накопителя НГМД
12Н тип наконителя фиксированного диска
14Н информация о периферии
15Н память на системной плате(мл.байт)
16Н память на системной плате(ст.байт)
17Н общая память (мл.байт)
18Н общая память (ст.байт)
В регистре 10Н микросхемы конфигурации в битах 7-4 хранится информация о первом НГМД, а в битах 3-0 - о втором НГМД. В обоих случаях цепочка битов 0000 говорит об отсутствии накопителя, 0001 - о двустороннем накопителе с плотностью 48 дорожек на дюйм, 0010 - о накопителе с плотностью 96 дорожек на дюйм.
Информация о фиксированном диске содержится в регистре 12Н.
И снова его биты 7-4 и 3-0 соответствуют 1-му и 2-му накопите-
лям. Их содержимое 0000 указывает на отсутствие накопителя, а
другие 15 комбинаций описывают емкость и конструкцию накопителя
(более подробные сведения - в технической документации по PC/AT).
В регистре 14Н микросхемы конфигурации хранится следующая информация о периферии
Биты Содержание
0 0/1 - нет/имеется НГМД
1 0/1 - нет/имеется математ. сопроцессор
2-3 не используются
4-5 01 - вывод на цветной дисплей, 40 строк
10 - вывод на цветной дисплей, 80 строк
11 - вывод на монохромный дисплей
6-7 00 - 1 НГМД, 01 - 2 НГМД
Пример фрагмента ассемблерной программы, иллюстрирующий чтение информации о конфигурации и проверку наличия математического сопроцессора имеет вид
MOV AL, 14H ; задание номера регистра периферии
OUT 70H, AL ; в микросхему конфигурации
IN AL, 71H ; чтение содержимого регистра 14Н
TEST AL, 10B ; проверка бита 1
JZ NO_COPROC ; если равен 0, то сопроцессора нет
Регистры 15Н (младший) и 16Н (старший) микросхемы конфигурации сообщают, сколько памяти установлено на системной плате. Возможны три значения : 0100Н для 256К, 0200Н для 512К и 0280Н для 512К плюс 128К на плате расширения. Если имеется 128К памяти на плате расширения, то также устанавливается бит 7 в регистре 33Н.
Кроме того для определения типов дисковых накопителей можно воспользоваться функцией 1СН прерывания 21Н.
Входные параметры: AH = 1CH - функция;
DL - проверяемый дисковод: 0 - текущий, 1 - А и т. д.
Выходные параметры: AL = FFH - несуществующий дисковод, а
иначе - количество секторов в кластере;
CX - количество байт в секторе;
DX - количество кластеров на диск
DS:BX - указатель на байт ID FAT(таблицы размещения файлов).
Значение байта ID : FF - двухсторонний 8 секторов;
FE - односторонний 8 секторов;
FD - двухсторонний 9 секторов;
FC - односторонний 9 секторов;
F9 - двухсторонний 15 секторов;
F8 - фиксированный диск;
CD - несуществующий дисковод.
Наконец, BIOS PC/AT имеет две полезные функции:
- функция 15Н прерывания 13Н возвращает тип накопителя
Входные параметры: AH = 15H - функция,
DL - номер проверяемого дисковода;
Выходные параметры:
0 - нет накопителя,
АН = <1 - дискета без обнаружения изменений,
2 - дискета с обнаружением изменений,
3 - фиксированный диск(ФД);
СХ:DX - число секторов по 512 байт для ФД;
- функция 8 прерывания 13Н возвращает параметры накопителей
DL - число накопителей,
DH - макс.число сторон накопителя,
CL - макс.число секторов,
CH - макс.число дорожек,
AH - код статуса ошибки накопителя.
Варианты заданий
Шифры, определяющие варианты заданий, выдаваемых преподавателем с учетом подготовленности студентов, приведены в таблице 1.
Таблица 1
№ бригады |
Шифр Задания |
№ бригады |
Шифр Задания |
1 |
АВ |
6 |
СE |
2 |
АС |
7 |
АВD |
3 |
ВD |
8 |
АCD |
4 |
CD |
9 |
ABE |
5 |
DE |
10 |
АСE |
Здесь буква означает тип и параметры проверяемого ресурса:
A - есть ли математический сопроцессор;
B - существуют ли накопители на магнитных дисках:
фиксированных и гибких, каково их количество ;
C - число накопителей на дискетах и их тип;
D - емкость памяти на системной плате (в КВ или банках памяти по 64К;
E - тип дисплея.
Желательно, при выполнении работы, где можно, для контроля аналогичную информацию получить разными способами.