Вопрос № 142312: Уважаемые эксперты, в главе 2.3 Калашников пишет: «Работать с клавиатурой позволяет прерывание BIOS (ПЗУ) 16h, которое можно вызвать даже до запуска операционной системы, в то время как прерывания 20h, 21h и пр. доступны только после загрузки IO.SYS/...
Вопрос № 142.312
Уважаемые эксперты, в главе 2.3 Калашников пишет: «Работать с клавиатурой позволяет прерывание BIOS (ПЗУ) 16h, которое можно вызвать даже до запуска операционной системы, в то время как прерывания 20h, 21h и пр. доступны только после загрузки IO.SYS/MSDOS.SYS …» Вопрос у меня, а как этот вызов прерывания 16h можно проверить до запуска ОС? Возможно ли на ассемблере написать программу, которая даст запуститься ОС только после того, когда я нажму клавишу на клавиатуре? Мне в голову ничего не приходит. Может,
поможете с ответом.
Отправлен: 26.08.2008, 15:04
Вопрос задал: Masada (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Masada!
Да это так. Сразу после включения компьютера BIOS производит самодиагностику всего установленого "железа" и если тесты POST прошли успешно, то она начинает перебирать все устройства указаные в списке начальной загрузки(см. приложение 1):
Код:
«Boot
Sequence» (последовательность начальной загрузки системы) — определяется последовательность опроса накопителей для загрузки операционной системы. Эти устройства обозначаются либо буквами для физических жестких дисков и обычных дисководов, либо названием устройства. Поддерживаются устройства: LS-120, Iomega ZIP, ATAPI CD-ROM, IDE- и SCSI-диски. Может принимать значения: «A,C» — такой выбор оправдан только для случая загрузки с дискеты и встречается в старых моделях ПК
«A,C,SCSI» «C only» «C,A» «C,A,SCSI» «C,CDROM,A» «CDROM,C,A» «D,A,SCSI» (предназначено при использовании минимум двух IDE-жестких дисков) «E,A,SCSI» (аналогично для 3-х дисков) «F,A,SCSI» (аналогично для 4-х дисков) «LS/ZIP,C» «SCSI,A,C» «SCSI,C,A» В некоторых версиях BIOS опция «Boot Sequence» трансформировалась в несколько самостоятельных опций, с большей возможностью отбора и большей гибкостью: «First Boot Device», «Second Boot Device», «Third Boot Device»,
«Boot Other Device» (соответственно «первое», «второе», «третье» и «другое» загрузочные устройства). Могут принимать следующие значения: «Floppy» «HDD-0» «HDD-1» «HDD-2» «HDD-3» «LAN» «SCSI» «LS/ZIP» «CDROM» «Enable» «Disable» Обычно, следует выбирать вариант, в котором первым опрашиваемым устройством является жесткий диск, чтобы система не тратила время на опрос других накопителей.
На каждом из этих устр
ойств ищется главный загрузочный сектор ( MBR-Master boot record), его структуру для FDD и HDD смотрите по 7.1.24. Формат первого сектора жесткого диска (очень много полезной информации). Как только будет найден MBR, BIOS передаст ему управление и уже дальнейшую загрузки любой операционной системы будет производить код MBR. Только после этого будут
доступны прерывания DOS. В приложении программа которая запишет загрузочный сектор на дискету - FDD и при загрузке с нее будет считывать информацию об MBR - HDD с выводом на экран. Удачи!
Приложение:
--------- И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Профессор) Украина, Киев Тел.: +380979536619 Адрес: Украина г.Киев ---- Ответ отправлен: 26.08.2008, 15:59 Оценка за ответ: 5 Комментарий оценки: Суперответ, подробный, очень оперативный, тем более с ссылками на информацию, которую я уже изучаю.