Разработка приложений BIOS на чистом ассемблере

Каждому системному программисту известно, что BIOS — это программное обеспечение, работающее, так сказать, на «голом железе». Это программное обеспечение взаимодействует напрямую с аппаратными средствами, без ка­ких бы то ни было «посредников». Таким образом, между кодом BIOS J Кремниевыми интегральными схемами нет никаких промежуточных уровне Программного обеспечения. Это значит, что любой код, который требуете11 Внедрить в BIOS, должен иметь формат плоского двоичного файл3 Термин Плоский двоичный файл подразумевает однородный файл неисполняемого формата, не содержащий заголовков или иных структур. Иными слоя3 Ми, плоский двоичный файл может содержать только чистый машинный независимые данные. Существует лишь одно исключение из этого правила — для BIOS плат расширения существует формат заголовка, которого не­обходимо придерживаться. В этом разделе рассматривается процедура гене­рации плоского двоичного файла из файла, содержащего исходный код на языке ассемблера при помощи трансляторов NASM и FASM. NASM — это бесплатно распространяемый ассемблер, который можно ска­чать с сайта Имеются версии NASM для Windows и для Linux. Программа довольно мощная, и на данном этапе ее возможностей нам будет достаточно. В листинге 3.1 показан исходный код «заплатки», которую я наложил на мою BIOS. Данный код разработан на язы­ке ассемблера и предназначен для трансляции с помощью NASM. Чтобы убедится в том, что ассемблер генерирует желаемый код, выходной файл можно проанализировать при помощи ndisasm или какого-либо другого дизассемблера. Теперь давайте рассмотрим другой, относительно более простой в использо­вании ассемблер — FASM. Ассемблер FASM подходит для разработки за­платок BIOS, так как он генерирует плоский двоичный файл по умолчанию. Как и NASM, FASM тоже распространяется бесплатно; скачать его можно с сайта В этом разделе мы рассмот­рим приемы работы с версией ассемблера FASM для Windows — FASMW. Сначала модифицируем предыдущую заплатку под синтаксис ассемблера FASM. Соответствующий исходный код показан в Чтобы ассемблировать код из листинга 3.3, скопируйте его в текстовый ре­дактор FASMW и нажмите комбинацию клавиш +. Как видим, процесс ассемблирования FASMW более удобен, нежели анало­гичный процесс с помощью NASM.



Рубрика: Женский интерес

Комментарии закрыты.