Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 мая!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Возможности языков семейства Си по истине безграничны, однако, в этой свободе кроются и недостатки: всегда нужно программисту держать ухо востро и контроллировать "переполнение буфера", чтобы потом программа не вылетала в "синий экран" на массе разнообразных версий Windows и железа у пользователей. Те же крэкеры и реверсеры специально ищут в коде программ на Си уязвимости, куда можно подсадить любой вирусный код, об этом более подробно автор рассказывал в своём видеокурсе здесь. Я там многое узнал и теперь мой код стал значительно более безопасный.

biosequip

 
 Функция            Проверяет оборудование.
 
 
 
 Синтаксис          #include<bios.h>
 
                    int biosequip(void);
 
 
 
 Файл, содержащий   bios.h
 
 прототип
 
 
 
 Описание           biosequip возвращает целое число, описывающее
 
                    оборудование, подсоединенное к  системе.  Для  этой
 
                    цели используется прерывание 0x11 BIOS.
 
 
 
 Возвращаемое       Возвращаемое функцией значение представляет собой
 
 значение           набор битовых полей. Для компьютера IBM PC этот
 
                    набор будет следующим:
 
 
 
                    биты 14-15  Количество установленных параллельных
 
                                принтеров.
 
 
 
                                00 = 0 принтеров
 
                                01 = 1 принтер
 
                                10 = 2 принтера
 
                                11 = 3 принтера
 
 
 
                    бит 13      Подсоединение последовательного
 
                                принтера.
 
 
 
                    бит 12      Подсоединение игрового контроллера.
 
 
 
                    биты 9-11   Количество портов передачи данных.
 
                                000 = 0 портов
 
                                001 = 1 порт
 
                                010 = 2 порта
 
                                011 = 3 порта
 
                                100 = 4 порта
 
                                101 = 5 портов
 
                                110 = 6 портов
 
                                111 = 7 портов
 
 
 
                    бит 8       DMA (прямой доступ к памяти)
 
                                0=Компьютер имеет DMA.
 
                                1=Компьютер не имеет DMA; например,
 
                                PCJr.
 
 
 
                    биты 6-7    Количество дисков
 
                                00=1 дисковод
 
                                01=2 дисковода
 
                                10=3 дисковода
 
                                11=4 дисковода (только, если бит 0 = 1)
 
 
 
                    бит 4-5     Исходный видео-режим
 
                                00 = не используется
 
                                01 = 40х25 BW с цветной платой
 
                                10 = 80х25 BW с цветной платой
 
                                11 = 80х25 BW с монохромной платой
 
 
 
                    биты 2-3    Размер RAM на материнской плате
 
                                00 = 16К
 
                                01 = 32К
 
                                10 = 48К
 
                                11 = 64К
 
 
 
                    бит 1       сопроцессор с плавающей точкой
 
 
 
                    бит 0       загрузка с диска.
 
 
 
 Переносимость      biosequip поддерживается только на компьютерах
 
                    IBM PC или совместимых с ними.
 
 
 
 Пример:
 
 
 
 #include <stdio..h>
 
 #include <bios.h>
 
 
 
 #define CO_PROCESSOR_MASK 0x0002
 
 
 
 int main(void)
 
 {
 
    int equip_check;
 
    /* получить текущую конфигурацию оборудования */
 
    equip_check = biosequip();
 
    /* имеется ли сопроцессор? */
 
    if(equip_check & CO_PROCESSOR_MASK)
 
       printf("Сопроцессор установлен\n");
 
    else
 
       printf("Сопроцессор не установлен\n");
 
    return 0;
 
 }


<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS