#4 30.10.07 17:05
Re: [asm]загрузчик
Сложно сказать с чего. Читать описание boot секторов. Сейчас про такое уже давно не пишут, но в старых докциях было, смотреть загрузчик через хотя бы DE (diskedit). Ещё такую инфу можно встретить в докциях для написания вирусов или если разрыть исходные коды загрузочных вирусов. А вообще там по-моему как-то просто было, в каком-то смещении стоит jmp на длинный адрес загрузчика, запоминаешь его, на его место ставишь свой код, но в другом секторе, а по окончании своей работы делаешь "прыжок" на стандартный загрузчик. Как-то так кажется.
Offline
#7 30.10.07 17:24
Re: [asm]загрузчик
Ах вот о каком загрузчике речь ))
После Power-On-Self-Test процессор генерирует прерывание 19h, обработчик которого управляет дальнейшим ходом загрузки. Он находит первый (в порядке приоритетов, устанавливаемых в BIOS Setup) загрузочный диск, считывает его первый сектор по линейному адресу 07C00 и передает ему управление.
Поскольку тело загрузят по адресу 7C00 и загрузчик вряд ли уместится в пределы одного сектора (512 байт), надо обеспечить загрузку всего остального кода с диска.
Код: ASM:
ORG 0x7C00 use16 start: jmp init <здесь данные> init: <здесь код>
Взято здесь: Wasm. Статья о другом, но этот вопрос тоже мимоходом рассматривается. Там и конкретный код найдешь.
Offline

