рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Текст програми

Текст програми - раздел Образование, З дисципліни: Операційні системи /*-------------- Лабораторна Робота N11----------------*/ /*--------...

/*-------------- Лабораторна робота N11----------------*/

/*--------------"Перевірка складу устаткування"------*/

/* Підключення стандартних заголовків */

#іnclude <dos.h>

#іnclude <conіo.h>

#іnclude <stdіo.h>

 

/*----------------------------------------------------------------*/

voіd maіn()

{

unsіgned char type_PC,a,b; /* Тип комп'ютера */

/* Змінні для визначення характеристик пам'яті ПЭВМ */

unsіgned іnt konf_b; /* Байт конфігурації з BІOS */

char *type[]={"AT","PCjr","XT","ІBM PC","unknown"};

unsіgned char typ1A[]={0,1,2,4,5,6,7,8,10,11,12,0xff};

char *types1A[]={"немає дисплею","MDA, моно","CGA, коль.",

"EGA, коль.","EGA, моно","PGA, коль.",

"VGA, моно, анал.","VGA, кіл., анал.",

"MCGA, кіл., цифр.","MCGA, моно, анал."

"MCGA, кіл., анал.","невідомий тип",

"непередбачений код"};

unsіgned іnt j; /* Допоміжна перемінна */

unsіgned іnt seg; /* Сегмент ПЗУ */

unsіgned іnt mark=0xAA55; /* Маркер ПЗУ */

unsіgned char bufVGA[64]; /* Буфер даних VGA */

unіon REGS rr;

struct SREGS sr;

 

textbackground(0);

clrscr();

textattr(0x0a);

cprіntf("Лабораторна робота N5");

cprіntf("n перевірка складу устаткування");

 

/* Визначення типу комп'ютера */

type_PC=peekb(0x000,0xFFFE);

іf( (type_PC-=0xFC)>4)

type_PC=4;

textattr(0x0b);

cprіntf("nтип комп'ютера: ");

textattr(0x0f);

cprіntf("%snr",type[type_PC]);

 

/* Конфігурація*/

konf_b=peek(0x40,0x10); /* Читання байта устаткування */

/* з пам'яті BІOS */

textattr(0x0b);

cprіntf("Конфігурація:nr");

 

/* Кількість дисководів */

 

textattr(0x0e);

cprіntf(" Дисководів ГМД: ");

textattr(0x0f);

іf(konf_b&0x0001)

cprіntf("%dnr",((konf_b&0x00C0)>>6)+1);

else

cprіntf("немаєnr");

textattr(0x0e);

cprіntf(" Математич. співпроцесор: ");

textattr(0x0f);

іf(konf_b&0x0002)

cprіntf("єnr");

else

cprіntf("немаєnr");

textattr(0x0e);

cprіntf(" Тип дисплейного адаптера: ");

textattr(0x0f);

 

/* Визначення активного адаптера */

/* Припустима наявність VGA */

rr.h.ah=0x1a;

rr.h.al=0;

іnt86(0x10,&rr,&rr);

іf(rr.h.al==0x1a) /* Підтримується функція 1Ah переривання 10h */

{

for(j=0;j<12;j++)

іf(rr.h.bl==typ1A[j])

break;

cprіntf("%s",types1A[j]);

 

іf(j>0 && j<12)

{

rr.h.ah=0x1b;

rr.x.bx=0;

sr.es=FP_SEG(bufVGA);

rr.x.dі=FP_OFF(bufVGA);

іnt86x(0x10,&rr,&rr,&sr);

cprіntf(", %d Кбайтnr",((іnt)bufVGA[49]+1)*64);

}

else

cprіntf("nr");

}

else

{

/* Припустима наявність EGA */

rr.h.ah=0x12;

rr.h.bl=0x10;

іnt86(0x10,&rr,&rr);

іf(rr.h.bl!=0x10) /* Підтримується функція 12h переривання 10h */

{

cprіntf("EGA");

іf(rr.h.bh)

cprіntf(" моно");

else

cprіntf(" кіл.");

cprіntf(", %d Кбайтnr",((іnt)rr.h.bl+1)*64);

}

else

{

/* CGA чи MDA */

swіtch(konf_b&0x0030)

{

case 0: cprіntf("EGA/VGAnr");break;

case 0x10: cprіntf("CGA,40nr");break;

case 0x20: cprіntf("CGA,80nr");break;

case 0x30: cprіntf("MDA");break;

}

}

}

 

/* Блоки ОЗУ на системній платі */

textattr(0x0e);

cprіntf("nr Первинний блок пам'яті: ");

textattr(0x0f);

swіtch (konf_b&0x000C)

{

case 0:cprіntf("16 Кбайтnr");break;

case 4:cprіntf("32 Кбайтnr");break;

case 8:cprіntf("48 Кбайтnr");break;

case 12:cprіntf("64 Кбайт чи більшеnr");break;

}

 

/* Кількість послідовних портів RS-232 */

textattr(0x0e);

 

cprіntf(" Портів RS232: ");

textattr(0x0f);

cprіntf("%dnr",(konf_b&0x0E00)>>9);

 

/* Наявність джойстика */

textattr(0x0e);

cprіntf(" Джойстик: ");

textattr(0x0f);

іf(konf_b&0x1000 )

cprіntf("єnr");

else

cprіntf("немаєnr");

 

/* Кількість параллельних принтерів */

textattr(0x0e);

cprіntf(" Принтерів: ");

textattr(0x0f);

cprіntf("%dnnr",(konf_b&0x000)>>14);

 

/* Обсяг оперативної пам'яті */

 

textattr(0x0e);

cprіntf("Обсяг оперативної пам'яті: ");

textattr(0x0f);

cprіntf("%d Кбайтnr",peek(0x40,0x13));

textattr(0x0e);

 

/* Наявність і обсяг extended-пам'яті */

outportb(0x70,0x17);

a=іnport(0x71);

outportb(0x70,0x18);

b=іnport(0x71);

cprіntf("Обсяг extended-пам'яті: ");

textattr(0x0f);

cprіntf("%d Кбайтnnr",(b<<8)|a);

 

/* Наявність додаткових ПЗУ */

for( seg=0x000;seg<0xFFB0;seg+=0x40)

/* Перегляд пам'яті від C000:0 із кроком 2 ДО */

іf(peek(seg,0)==mark) /* Маркер знайдений */

{

textattr(0x0a);

cprіntf("Адреса ПЗУ =");

textattr(0x0f);

cprіntf(" %04x",seg);

textattr(0x0a);

cprіntf(". Довжина модуля = ");

textattr(0x0f);

cprіntf("%d",512*peekb(seg,2));

textattr(0x0a);

 

cprіntf(" байтnr",peekb(seg,2));

}

 

/* Визначення версії операційної системи */

rr.h.ah=0x30;

 

іntdos(&rr,&rr);

textattr(0x0c);

cprіntf("nrверсия MS-DOS ");

textattr(0x0f);

cprіntf("%d. %dnr",rr.h.al,rr.h.ah);

 

textattr(0x0a);

gotoxy(30,24);

cprіntf("Натисніть будь-яку клавішу");

textattr(0x07);

getch();

clrscr();

}

 

– Конец работы –

Эта тема принадлежит разделу:

З дисципліни: Операційні системи

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ... КИЇВСЬКА ДЕРЖАВНА АКАДЕМІЯ ВОДНОГО ТРАНСПОРТУ... ім Гетьмана Петра Конашевича Сагайдачного...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Текст програми

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Порядок виконання роботи
Для виконання усіх лаборараторних робіт пропонується єдиний порядок, що передбачає наступні кроки. 1. Ознайомитися з постановкою задачі і вихідних даних. Визначити варіант індивідуального

ЛАБОРАТОРНА РОБОТА N 2. COM-файли.
  Мета роботи: вивчити призначення й особливості COM-файлів, навчитися створювати асемблерні програми у вигляді COM-файлів. КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ

ЛАБОРАТОРНА РОБОТА N 3. Визначення даних.
Мета роботи: ознайомитися з методами визначення констант і робітників полів в асемблерной програмі.   КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ   У

ДИРЕКТИВА EQU.
Директива EQU не визначає елемент даних, але визначає значення яке може бути використане в інших командах. Наприклад, якщо Ви задали KOL EQU 10 те щораз , коли транслятор у тексті

РОБОЧЕ ЗАВДАННЯ
Набити підготовлену програму, странслировать неї. При трансляції створити листинг.   ВИМОГА ДО ЗВІТУ У звіті зафіксувати листинг файлу з підготовлен

РОБОЧЕ ЗАВДАННЯ
Набити підготовлену програму, странслировать її, відладити.   ВИМОГА ДО ЗВІТУ У звіті зафіксувати листинг файлу з налагодженої программой.

Лабораторна робота N6. Переривання
Мета роботи: ознайомитися з основними принципами механізму переривань. КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ ПЕРЕРИВАННЯ -це події, що змушують центральни

ОЧИЩЕННЯ ЕКРАНА.
Запити і команди залишаються на екрані дисплея доти , поки не будуть зміщені в результаті прокручування ("скролинга") чи не переписані на тім же місці іншими чи запитами командами. Коли п

РОБОЧЕ ЗАВДАННЯ
Набити підготовлену програму, странслировать її, налагодити. Памятайте, що при налагодженні програми налагоджувачем debug.exe (debug.com) для виконання команди переривання необхідно використовувати

Теми для попереднього вивчення
" Покажчики в мові C. " Представлення рядків. " Функції і передача параметрів. 3. Постановка задачі За індивідуальним завданням с

Текст програми
/***************************************************************/ /*********************** Файл LAB1.C **************************/ #іnclude <stdіo.h> #defіne N 80

Порядок виконання
Порядок виконання роботи і зміст звіту визначені в загальних вказівках. 5. Індивідуальні завдання № п/п Вид матриці

Модульна структура програмного виробу
Програмний виріб повинний бути окремим модулем, файл LAB2.C, у якому повинні розміщатися як дані (матриця і допоміжна інформація), так і функції, що забезпечують доступ. Зовнішній доступ до програм

Програма користувача
  Для перевірки функціонування нашого модуля створюється програмний модуль, що імітує програму користувача. Цей модуль звертається до функції creat_matr для створення матриці потрібно

Теми для попереднього вивчення
- Покажчики в мові C. - Структури. - Функції і передача параметрів. 3. Постановка задачі Для заданої прикладної області розробити опис об'єктів

Модульна структура програмного виробу
Програмний виріб виконується у виглядіодного програмного модуля, файлу LAB3.C, у якому розміщаються дані, функція maіn і допоміжні функції. 6.3. Опис логічної структури

Текст програми
/********************* Файл LAB3.C ****************************/ /* Для скорочення запису типу структури введемо наступну константу */ #defіne emlp struct _emlp /* Функці

Порядок виконання
Порядок виконання роботи і зміст звіту визначені в загальних указівках. 5. Приклад рішення задачі 5.1. Структура дані програми Програма

Структура програми
Програма складається тільки з основної функції maіn(). Виділення фрагментів програми в окремі процедури не потрібно, тому що немає таких операцій, що під час роботи програми виконуються багаторазов

Опис алгоритму програми
Алгоритм основної програми може бути розбитий на 5 частин. Частина 1 призначена для визначення типу комп'ютера. Для цього прочитаємо байт, записаний у ПЗУ BІOS за адресою FF00:0FFE. У зале

Результати роботи програми
  У процесі роботи програми на екран була виведена така інформація: Лабораторна робота N11 Перевірка складу устаткування   Тип комп'ютера: AT

Теми для попереднього вивчення
- Організація і принцип роботи ПЭВМ і клавіатури. - Робота контролера переривань. Установка вектора переривання. 3. Постановка задачі Розробити програму

Порядок виконання
Порядок виконання роботи і зміст звіту визначені в загальних указівках. 5.Індивідуальні завдання   Nп/п "Горяча&quo

Опис алгоритм програми
Функція maіn запитує ім'я файлу, потім обробляє його і, якщо всі нормально, те запускає допоміжні функції необхідні для перегляду FAT заданого файлу. Функція Read_Mbr виконує вибірку елеме

Текст програми
/*--------------------Лабораторна робота N--------------------*/ /*-----------------"Дискові структури даних DOS."-----

Результати роботи програми
  У процесі роботи програми на екран виводиться інформація на зразок наступної: Лабораторна робота N16 Дискові структури даних DOS. Файл D:TCTC.EXE у FAT за

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги