Аппаратные интерфейсы ПК - [213]
>IRQ12
(контроллер мыши PS/2);♦ >Int 75h
— >IRQ13
— исключение сопроцессора;
♦ >Int 76h
— >IRQ14
— контроллер жестких дисков;
♦ >Int 77h
— >IRQ15
.
Прерывания >Int 70h
->77h
имеют место только в AT.
Функции ROM BIOS (16-битные сервисы):
♦ >Int 05h
(F000:FF54h) — печать экрана;
♦ >Int 10h
— видеосервис;
♦ >Int 11h
— чтение списка оборудования (слово из BDA 0040:0010h), возвращает в >АХ
:
• биты 15:14 — число обнаруженных LPT-портов: 00 — 0, …, 11 — 3;
• бит 13 — резерв;
• бит 12 — обнаружен игровой адаптер;
• биты 11:9 — число обнаруженных СОМ-портов: 000 — 0, …, 111 — 7;
• бит 8 — наличие контроллера DMA;
• биты 7:6 — число обнаруженных НГМД: 00 — 1, …, 11 — 4;
• биты 5:4 — активный видеорежим: 00 — резерв, 10 — 80-колоночный цветной, 01 — 40-колоночный цветной, 11 — монохромный;
• биты 3:2 — размер ОЗУ на системной плате (теперь обычно 00);
• бит 1 — присутствие математического сопроцессора;
• бит 0 — присутствие дисководов;
♦ >Int 12h
— размер непрерывной памяти;
♦ >Int 13h
— дисковый сервис (блочный ввод-вывод);
♦ >Int 14h
— обслуживание СОМ-портов;
♦ >Int 15h
— AT-функции (системный сервис, функции определяются значением >АН
/>АХ
):
• 00-03h — управление и обмен данными с кассетным магнитофоном (были когда-то и такие «стриммеры»!) на старых PC;
• 4fh — перехват клавиатуры;
• 53xxh — сервисы управления потреблением АРМ (Advanced Power Management);
• 8300h — запуск таймера, устанавливающего флаг в заданной ячейке;
• 8301h — сброс того же таймера;
• 84h — джойстик (см. п. 8.6);
• 86h — программируемая задержка;
• 87h — перемещение блока расширенной памяти;
• 88h — получение размера расширенной памяти;
• 89h — переключение в режим V86;
• C0h — получение системной конфигурации, при успешном выполнении (>CF
=0, >AH
=0) >ES:BX
указывает на таблицу данных конфигурации;
• 80-82h, 85h, 90h, 91h — функции многозадачных ОС (BIOS устанавливает заглушки);
♦ >Int 16h
— клавиатурный ввод-вывод;
♦ >Int 17h
— обслуживание LPT-портов;
♦ >Int 18h
— процедура восстановления при неудаче начальной загрузки (прежде — ROM-Basic);
♦ >Int 19h
— начальная загрузка (вызов процедуры Bootstrap);
♦ >Int 1Ah
— системное время, дата, будильник и 16-битные вызовы сервисов PCI;
♦ >Int 1Bh
— обработчик нажатия клавиш >Ctrl+Break
;
♦ >Int 1Ch
— User Timer Interrupt, процедура, вызываемая обработчиком >Int 08h
каждые 55 мс; BIOS устанавливает простую заглушку (>IRET
), но программы могут перехватывать это прерывание; на время отработки этой процедуры все аппаратные прерывания запрещены (кроме NMI).
♦ >Int 33h
— поддержка мыши;
♦ >Int 4Ah
— обработчик будильника пользователя, установленного функцией BIOS >Int 1Ah
(6); прерывание вызывается асинхронно, так что при возврате из процедуры все регистры и флаги должны быть в том же состоянии, что и при входе; BIOS ставит заглушку (>IRET
);
♦ >Int 67h
— EMS-функции.
Указатели на таблицы:
♦ >Int 1Dh
— видеопараметры;
♦ >Int 1Eh
— параметры дискет;
♦ >Int 1Fh
— знакогенератор СGA;
♦ >Int 41h
— параметры HDD 0;
♦ >Int 46h
— параметры HDD 1;
♦ >Int 43h
— знакогенератор EGA.
12.8.1. Int 09h, Int 16h — поддержка клавиатуры
Поддержка клавиатуры заключается в обработке прерываний от устройства ввода и предоставлении сервисов ввода прикладным программам.
Прерывания, вызванные приходом кодов нажатия и отпускания клавиш, обрабатывает BIOS>Int 9h
. Каждый принятый скан-код (или цепочка) обрабатывается с учетом состояния клавиатурных флагов. Результат обработки (как правило, ASCII-символ в младшем байте и скан-код в старшем) помещается в клавиатурный буфер, расположенный в ОЗУ. По приему каждого символа указатель головы буфера увеличивается. Буфер организован в виде кольца, после достижения конца области буфера указатель головы установится на начало области. В случае переполнения буфера (указатель головы «догнал» указатель хвоста) очередное слово не записывается, и подается звуковой сигнал. Размер позволяет хранить описание шестнадцати фактов нажатий клавиш. Нажатие клавиш >Ctrl
, >Shift
, >Alt
и некоторых комбинаций в буфере не отмечается, но приводит к модификации бит ячеек флагов клавиатуры. Нажатие «системной» комбинации >Ctrl+Alt+Del
, клавиши >PrintScreen
(>SysRq
) и некоторых других к записи в клавиатурный буфер не приводит, а вызывает специальные процедуры.
Для обслуживания клавиатуры используются ячейки ОЗУ из области данных BIOS (BIOS Data Area):
♦ 0:0417, 0:418 — флаги клавиатуры;
♦ 0:0419 — аккумулятор кода >Alt
-набора;
♦ 0:041А — указатель головы буфера (Buffer Head), 2 байта (модифицируется при помещении символа в буфер);
♦ 0:041C — указатель хвоста буфера (Buffer Tail), 2 байта (модифицируется при извлечении символа из буфера);
♦ 0:041E-0:042D — область кольцевого буфера (16 слов).
Обработчик аппаратного прерывания до обработки принятого скан-кода вызывает прерывание BIOS >Int 15h
с >AH
=4Fh, а в >AL
находится принятый скан-код. Стандартный обработчик >Int 15h
(4Fh) просто выполняет возврат с >CF
=0, но его можно заменить специальным обработчиком, который будет при необходимости подменять принятые скан-коды на какие-либо иные (оставляя их в >AL
), что должно отмечаться установкой >CF
=1. В старых версиях BIOS такой возможности перехвата не было, ее наличие можно определить вызовом
На первый взгляд процедура удаления Windows 8 ничем не отличается от вполне обычного форматирования винчестера с последующей установкой системы. К сожалению, все гораздо сложней.
Arduino — стандартный микроконтроллер, получивший широкое признание у инженеров, мастеров и преподавателей благодаря своей простоте, невысокой стоимости и большому разнообразию плат расширения. Платы расширения, подключаемые к основной плате Arduino, позволяют выходить в Интернет, управлять роботами и домашней автоматикой.Простые проекты на основе Arduino не вызывают сложностей в реализации. Но, вступив на территорию, не охваченную вводными руководствами, и увеличивая сложность проектов, вы быстро столкнетесь с проблемой нехватки знаний — врагом всех программистов.Эта книга задумана как продолжение бестселлера «Programming Arduino: Getting Started with Sketches».
Вы приобрели нетбук? И теперь хотите понять, чем он отличается от привычного всем ноутбука? Тогда вы держите в руках действительно необходимую книгу. Прочитав ее, вы не только освоите все тонкости, относящиеся к работе с нетбуками, но и узнаете о том, как работать на компьютере. Вы научитесь выбирать мобильный компьютер и аксессуары к нему, узнаете, как установить и настроить операционную систему, научитесь пользоваться пакетом Microsoft Office, выясните, какие программы следует иметь на жестком диске, как защитить сам ноутбук и данные на нем, можно ли модернизировать нетбук и что делать в случае его поломки.
В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Жизнь современного человека — это движение. Мобильность для нас становится одним из самых важных моментов для работы, для общения, для жизни. Многие из нас сейчас уже не представляют жизнь без сотовых телефонов, которые из средства роскоши превратились в предмет, без которого жизнь современного человека стала просто немыслима. Многие уже оценили все преимущества Bluetooth, GPRS. Эти устройства превратили наши телефоны из средств связи в незаменимых помощников в работе. К сожалению, один из самых главных недостатков этих беспроводных технологий — малый радиус действия и низкая скорость передачи данных, что сейчас становится очень важным фактором для всех нас.