Головна

Склад обладнання

  1. II. Складання таблиць істинності.
  2. II. скласти схему для догляду за особами похилого віку.
  3. III рівень. Клініко-експертна комісія органу управління охороною здоров'я території, що входить, до складу суб'єкта Федерації
  4. III. ГОТОВНІСТЬ ПЕРСОНАЛУ І ОБЛАДНАННЯ До проведення реанімаційних заходів
  5. IV. Повноваження осіб, які входять до складу комісії
  6. IV. скласти схему
  7. N Основу ТП виготовлення деталей становлять дії спрямованого формування радіотехнічних, хімічних, механічних та інших властивостей вихідного матеріалу заготовки

Опеределяется склад обладнання слід тільки після того, як ми визначили тип ПЕОМ. Це обумовлено тим, що способи отримання інформації про склад обладнання різні для XT і для AT. Розглянемо спочатку машини класу XT.

Склад обладнання XT (і PC) визначається положенням перемикачів на спеціальних колодках. Стан цих перемикачів може бути прочитано з програми зверненням до порту 0x60. Але необхідності в цьому немає - цю операцію виконує BIOS при ініціалізації системи. На підставі цієї інформації BIOS формує так званий список обладнання - 2-байтное слово за адресою 0040: 0010. Прочитати це слово можна або звернувшись за вказаною адресою, або звернувшись до BIOS через переривання 0x11. Призначення розрядів списку обладнання наступні:

 - Встановлено в 1, якщо є НГМД (див. Розряди 6, 7);
 - Встановлено в 1, якщо є співпроцесор;
 2,3  - Число 16-Кбайтних блоків ОЗУ на системній платі;
 4,5  - Код відеоадаптера: 11 - MDA, 10 - CGA, 80 колонок, 01 - CGA, 40 колонок, 00 - іншої;
 6,7  - Число НГМД-1 (якщо в розряді 0 одиниця);
 - 0, якщо встановлений канал ПДП;
 9,10,11  - Число послідовних портів RS-232;
 - 1, якщо встановлено джойстик;
 - 1, якщо встановлено послідовний принтер;
 14,15  - Число паралельних принтерів.

Для XT і AT біти 8 і 13 завжди будуть нульовими.

Нижче наведено приклад отримання та інтерпретації списку обладнання.

 / * = ПРИКЛАД 2 = * // * ============= Отримання списку обладнання ============ * / # include main () {union REGS rr; unsigned int d; / * Список устаткування * / int i; / * == Читання байта обоpудования через переривання 0x11 == * / / * Переривання 0x11 повертає його в регістрі AX * / int86 (0x11, & rr, & rr); / * Побітного роздруківка списку обладнання * / printf ( "Список активного обладнання з переривання 11 -"); for (i = 15; i> = 0; printf ( "% d", (rr.x.ax >> i -) & 0x01)); printf ( "(% 04x) \ n", rr.x.ax); / * == Читання байта обоpудования з пам'яті BIOS == * / / * Буде отримано те ж саме * / d = peek (0x40,0x10); printf ( "Список активного обладнання з пам'яті BIOS -"); for (i = 15; i> = 0; printf ( "% d", (d >> i -) & 0x01)); printf ( "(% 04x) \ n", d); / * == Розкодування списку обоpудования == * / printf ( "дисковод ГМД -"); if (d & 0x0001) printf ( "% d \ n", ((d & 0x00c0) >> 6) +1); else printf ( "немає \ n"); printf ( "Сопроцессор 8087 -"); if (d & 0x0002) printf ( "є \ n"); else printf ( "немає \ n"); printf ( "Тип дисплейного адаптера -"); switch (d & 0x0030) {case 0: printf ( "EGA / VGA"); break; case 0x10: printf ( "CGA, 40-кол"); break; case 0x20: printf ( "CGA, 80-кол"); break; case 0x30: printf ( "MDA"); break; } Printf ( "(неточно) \ n"); printf ( "Первинний блок пам'яті -"); switch (d & 0x000c) {case 0: printf ( "16 Кбайт \ n"); break; case 4: printf ( "32 Кбайт \ n"); break; case 8: printf ( "48 Кбайт \ n"); break; case 12: printf ( "64 Кбайт або більше \ n"); break; } Printf ( "Портів RS232 -% d \ n", (d & 0x0e00) >> 9); printf ( "Джойстик -"); if (d & 0x1000) printf ( "є \ n"); else printf ( "немає \ n"); printf ( "принтерів -% d \ n", (d & 0xe000) >> 14);}

Множення двійкових чисел | Визначення обсягу оперативної пам'яті

Особливості складання чисел в зворотному і додатковому кодах. | Числа з фіксованою точкою. | Числа з плаваючою точкою. | Арифметичні операції над числами з фіксованою точкою | Арифметичні операції над двійковими числами з плаваючою точкою | Команди додавання і віднімання | команди множення | команди ділення | Зміна розміру числа | Розширення байта до слова (convert byte to word): CBW |

© um.co.ua - учбові матеріали та реферати