Аппаратные интерфейсы ПК - [219]
=0. Во избежание ошибок некоторых BIOS при вызове флаг >CF
должен быть сброшен.
6. >АН
=5 — установка даты в RTC, назначение регистров и признак результата аналогичен функции 4.
7. >АН
=6 — установка времени срабатывания будильника RTC. Возвращает в упакованном BCD-формате час (в регистре >СН
), минуту (>CL
) и секунду (>DH
). Если будильник уже установлен, переустановка не производится и возвращается флаг >CF
=1. При срабатывании будильник вызывает прерывание >Int 4Ah
.
8. >АН
=7 — отмена установки будильника.
Функции BIOS>Int 15h
позволяют программировать таймер CMOS RTC — вводить задержку или запускать таймер установки флага, указывая время в микросекундах (СХ — старшее слово, DX — младшее). Нулевое значение интервала не вызывает никаких действий. Достижимое разрешение в зависимости от производительности ПК может достигать единиц миллисекунд, максимальная выдержка — около 70 часов. Перечисленные ниже номера функций указываются при вызове в регистре >АН
или >АХ
.
9. >AH
=86h — задержка на заданное время. Управление будет возвращено вызвавшему процессу только через указанный интервал. По окончании задержки будет установлен бит 7 в ячейке BDA 0040:00A0. Таймер может оказаться занятым, тогда вызов сразу возвратит флаг >CF
=1 (при успехе >CF
=0, а в >AL
окажется маска, записанная в 8259А#2).
10. >AX
=8300h — запуск таймера, устанавливающего флаг после указанной задержке бит 7 в ячейке, заданной регистрами >ES
:>BX
. При успешном запуске >CF
=0; если таймер занят (он один) — >CF
=1 и >AL
=0. Управление возвращается процессу сразу, а флаг будет установлен через заданное время. Перед завершением программа, запускавшая таймер, должна его сбросить функцией 8301h (во-первых, чтобы освободить; во-вторых, чтобы снять «адскую машинку», которая неожиданно сама может изменить значение ячейки памяти, вполне возможно уже задействованную другим, ничего не «подозревающим» процессом).
11. >AX
=8301h — сброс того же таймера.
12.8.7. PCI BIOS
Функции PCI BIOS используются только для поиска и конфигурирования устройств PCI — процедур, требующих доступа к их конфигурационному пространству (см. п. 8.2). Регулярная работа с этими устройствами выполняется через обращения к регистрам устройств по адресам, полученным при конфигурировании, и обработке известных номеров прерываний от этих устройств. Для 16-битного интерфейса реального режима, V86 и 16-битного реального режима, функции PCI BIOS вызываются через прерывание >Int 1Ah
; номер функции задается при вызове в регистре >АХ
. Возможна и программная имитация прерывания дальним вызовом по физическому адресу 000FFE6EH (стандартная точка входа в обработчик >Int 1Ah
) с предварительным занесением в стек регистра флагов.
Признаком нормального выполнения является >CF
=0 и >АН
=0; при >CF
=1 >АН
содержит код ошибки:
♦ 81h — неподдерживаемая функция;
♦ 83h — неправильный идентификатор производителя;
♦ 86h — устройство не найдено;
♦ 87h — неправильный номер регистра PCI.
Вызовы требуют глубокого стека (до 1024 байт). Для 32-разрядных вызовов защищенного режима все эти же функции вызываются через точку входа, найденную через каталог 32-разрядных сервисов (см. выше), при этом назначение входных и выходных регистров и флага >CF
сохраняется. До использования 32-разрядного интерфейса следует сначала найти его каталог и убедиться в наличии сервисов PCI. Функции PCI BIOS перечислены ниже:
♦ >АХ
= B101h — проверка присутствия PCI BIOS. При наличии PCI BIOS возвращает >CF
=0, >АН
=0 и >EDX
=20494350h (строка символов "PCI "); проверяться должны все три признака. При этом в >AL
находится описатель аппаратного механизма доступа к конфигурационному пространству и генерации специальных циклов PCI:
• Бит 0 — поддержка механизма № 1 для доступа к конфигурационному пространству;
• Бит 1 — поддержка механизма № 2 для доступа к конфигурационному пространству;
• Биты 2:3=00 (резерв);
• Бит 4 — поддержка генерации специального цикла по механизму № 1;
• Бит 5 — поддержка генерации специального цикла по механизму № 2;
• Биты 6:7=00 (резерв).
В регистрах >ВН
и >BL
возвращается старший и младший номер версии (BCD-цифры), в >CL
— максимальный номер шины PCI, присутствующий в системе (число шин +1, поскольку они нумеруются с нуля последовательно). В регистре >EDI
может возвращаться линейный адрес точки входа 32-разрядных сервисов BIOS. Этот адрес возвращается не всеми версиями BIOS (некоторые не изменяют >EDI
); для проверки можно при вызове обнулять >EDI
и проверять на нуль возвращенное значение.
♦ >АХ
= B102h — поиск устройства по идентификатору. При вызове в >СХ
указывается идентификатор устройства, в >DX
— идентификатор производителя, в >SI
— индекс (порядковый номер) устройства. При успешном возврате в >ВН
— номер шины, в >BL[7:3]
— номер устройства, >BL[2:0]
— номер функции. Для нахождения всех устройств с указанными идентификаторами вызовы выполняют, последовательно инкрементируя >SI
от 0 до получения кода возврата 86h.
♦ >AX
= B103h — поиск устройства по коду класса. При вызове в >ЕСХ[23:16]
указывается код класса, в >ЕСХ[15:8]
— подкласса, в >ЕСХ[7:0]
— интерфейс, в >SI
— индекс устройства (аналогично предыдущему). При успешном возврате в
На первый взгляд процедура удаления Windows 8 ничем не отличается от вполне обычного форматирования винчестера с последующей установкой системы. К сожалению, все гораздо сложней.
Arduino — стандартный микроконтроллер, получивший широкое признание у инженеров, мастеров и преподавателей благодаря своей простоте, невысокой стоимости и большому разнообразию плат расширения. Платы расширения, подключаемые к основной плате Arduino, позволяют выходить в Интернет, управлять роботами и домашней автоматикой.Простые проекты на основе Arduino не вызывают сложностей в реализации. Но, вступив на территорию, не охваченную вводными руководствами, и увеличивая сложность проектов, вы быстро столкнетесь с проблемой нехватки знаний — врагом всех программистов.Эта книга задумана как продолжение бестселлера «Programming Arduino: Getting Started with Sketches».
Вы приобрели нетбук? И теперь хотите понять, чем он отличается от привычного всем ноутбука? Тогда вы держите в руках действительно необходимую книгу. Прочитав ее, вы не только освоите все тонкости, относящиеся к работе с нетбуками, но и узнаете о том, как работать на компьютере. Вы научитесь выбирать мобильный компьютер и аксессуары к нему, узнаете, как установить и настроить операционную систему, научитесь пользоваться пакетом Microsoft Office, выясните, какие программы следует иметь на жестком диске, как защитить сам ноутбук и данные на нем, можно ли модернизировать нетбук и что делать в случае его поломки.
В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Жизнь современного человека — это движение. Мобильность для нас становится одним из самых важных моментов для работы, для общения, для жизни. Многие из нас сейчас уже не представляют жизнь без сотовых телефонов, которые из средства роскоши превратились в предмет, без которого жизнь современного человека стала просто немыслима. Многие уже оценили все преимущества Bluetooth, GPRS. Эти устройства превратили наши телефоны из средств связи в незаменимых помощников в работе. К сожалению, один из самых главных недостатков этих беспроводных технологий — малый радиус действия и низкая скорость передачи данных, что сейчас становится очень важным фактором для всех нас.