Поиск по базе сайта:
Лабораторна робота №1 icon

Лабораторна робота №1




Скачати 43.45 Kb.
НазваЛабораторна робота №1
Дата конвертації25.10.2014
Розмір43.45 Kb.
ТипЛабораторна робота


Міністерство освіти і науки, молоді та спорту України

Кіровоградський національний технічний університет
Механіко-технологічний факультет

Кафедра програмного забезпечення

Лабораторна робота №1

з дисципліни “Архітектура ЕОМ”

на тему:

Вивчення основ системного програмування у реальному режимі роботи CPU”
Виконав: студент гр. КІ-10-1

Коваль Павло

Перевірив: викладач

Дóренський О.П.

Кіровоград

2013

МЕТА: Ознайомитись з основами системного програмування, навчитись програмним шля-хом одержувати інформацію про системні характеристики комп’ютера IBM PC / АТ.
ЗАВДАННЯ

  1. Написати програму, яка визначає, чи даний ПК відноситься до типу IBM PC / АТ.

  2. Написати програму, яка виводить на екран дату виготовлення BIOS.

  3. Перевірити результати виконання програм 1 та 2 за допомогою дебагера.


ВИКОНАННЯ

1. Як відомо, існує багато моделей ПК. Є дві можливості визначення моделі та отримання деякої інформації про конфігурацію комп’ютера:

^ 1) Прочитати дану інформацію з чарунок ПЗП BIOS;

2) Викликати одну з функцій переривання 15h, яка повертає адресу таблиці конфігурації.

У постійній пам’яті BIOS за адресою F000:FFFE міститься байт, значення якого є кодом ідентифікації типа комп’ютера ІВМ РС. Прочитати цю комірку пам’яті можна за допомогою функції ТС peekb(Seg,Offset), яка вимагає двох параметрів: Seg – сегмент, Offset – зміщення.

У таблиці 1 наведено стандартні коди типів ПК ІВМ РС.
Таблиця 1

Код

Тип комп’ютера ІВМ РС

FF

Оригінальний IBM PC

FE

XT, Portable PC

FD

PCjr

FC

AT

FB

XT з пам’яттю 640К на материнській платі

FA

PS/2 модель 25 або 30

F9

Convertible PC

F8

PS/2 моделі 55SX,70,80

9A

Compag XT, Compag Plus

30

Sperry PC

2D

Compag PC, Compag Deskpro


З таблиці випливає, що якщо за адресою F000:FFFE записано код FCh, значить ПК є типу АТ:


^ Блок-схема алгоритму



Лістинг програми

#include

#include
int main (void)

{

unsigned char KOD;

KOD = peekb(0xF000,0xFFFE);

if (KOD == 0xFC)

printf("Даний ПК має тип АТ.\n");

else

printf("Даний ПК не типу АТ.\n");

return 0;

}
^ Результат роботи програми:
Даний ПК має тип АТ.

2. За адресою F000:FFF5 ОЗП BIOS міститься дата виготовлення BIOS. Вона записана у коді ASCII та займає 8 байт. Її формат – американський: MM/DD/YY. Таким чином, за допомогою функції ТС peekb() необхідно послідовно прочитати вісім байтів (символів) з адрес F000:FFF5, F000:FFF6, F000:FFF7, F000:FFF8 … F000:FFFC.


Блок-схема алгоритму



^ Лістинг програми

#include

#include
int main (void)

{

unsigned char DATA;

int i;

printf("Дата виготовлення BIOS: ");

for (i=0;i<8;i++)

{

DATA = peekb(0xF000,0xFFF5+i)

printf("%c",DATA);

}

return 0;

}
^ Результат роботи програми:
Дата виготовлення BIOS: 03/28/06


3. Системну програму debug.exe для перевірки результатів роботи програм 1 та 2 можна запустити за допомогою команди debug в меню ОС Windows Пуск → Выполнить або запустити її з системної папки WINDOWS\system32\.

За допогою команди “d” дебагера читаємо комірки ОЗП BIOS: з адреси F000:FFFE тип ПК; F000:FFF5 - F000:FFFD – дата виготовлення BIOS.
^ Результат роботи дебагера:


відповідно до таблиці 1
Код типу ІВМ РС АТ

-d f000:fffe

F000:FFF0 FC 00 ..

-d f000:fff5

F000:FFF0 30 33 2F-32 38 2F 30 36 00 FC 00 03/28/06...
^ Дата виготовлення BIOS

у форматі MM/DD/YY
Висновки
Під час виконання лабораторної роботи ми навчитись програмним шляхом одержувати інформацію про системні характеристики комп’ютера IBM PC: розроблили програмне забезпечення визначення типу комп’ютера ІВМ РС, дати виготовлення BIOS. Для їх розробки дійсно знадобились основи системного програмування, адже і код типу ПК ІВМ РС, і дата виготовлення BIOS записані в системній області пам’яті. Як відомо з курсу “Програмування на мові Сі”, читання ОЗП можливо здійснити за допомогою функції ТС peekb(). З технічної документації ПК ІВМ РС визначено адреси знаходження відповідних характеристик ПК (тип ПК та дата BIOS), прочитано їх з пам’яті та виведено користувачу.

Також під час лабораторної роботи набули навичок роботи з системною утилітою debug, яка у ОС Windows знаходиться в системній директорії WINDOWS\system32 (доступна також через Пуск → Выполнить) та дозволяє “переглядати” пам’ять ПК, вводити програми (ASM) і здійснювати трасування їх виконання та деасемблювання, вчтановлювати та зчитувати зміст регістрів процесора, створювати файли тощо. За допомогою дебагера було підтверджено правильності роботи розроблених програм.





Схожі:




База даних захищена авторським правом ©lib.exdat.com
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації