Определение секций

Определение секций в этом фрагменте кода совпадает с их расположением на рис. 3.4, так как make-файл, приведенный в листинге 3.4, выводит плоский двоичный файл. Определение секций начинается ключевым словом Section. Определение секции кода начинается ключевым словом. text, секции данных только для чтения — ключевым словом. rodata, секции данных — ключевым словом. data и секции базового сегмента стека — ключевым словом. bss. Ключевое слово Align Служит для выравнивания начального адреса определе­ния соответствующей секции по границе, кратной предопределенному количе­ству байтов. В приведенном фрагменте кода определения секций, за исключе­нием секции кода, выравниваются по границе, кратной четырем байтам Секциям можно присваивать любые имена, по усмотрению программиста. Тем не менее, для ясности, рекомендуется присваивать им имена, руково­дствуясь образцом, приведенным в этой главе. В этих операторах make-файла используется утилита Objcopy из набора ути. лит GNU Для обработки двоичных файлов. Флаг — о Binary Указыва. ет, что утилита Objcopy должна создавать плоский двоичный файл из предва — рительно скомпонованного объектного файла. Здесь следует отметить, что утилита Objcopy просто копирует соответствующее содержимое объектного файла в плоский двоичный файл, не изменяя расположения секций в ском. понованном объектном файле. Следующая строка кода в make-файле выгля. дит так: Эта строка вызывает специализированную утилиту, которая накладыает нащ плоский двоичный файл в качестве «заплатки» основной двоичный файл BIOS платы расширения PCI. Итак, после прочтения данной главы вы приобрели необходимые знания об использовании сценариев компоновки для создания плоских двоичных файлов из исходных файлов, написанных на языке ассемблера и на языке С. Дополни­тельная информация представлена в разделе о BIOS плат расширения PCI. В этой главе механизм исполнения кода BIOS рассматривается в общих чер­тах. Исполнение кода BIOS отличается от исполнения кода большинства прикладных программ. Сложности аппаратного и программного обеспече­ния, а также проблемы совместимости, унаследованные от первого поколе­ния процессоров х86, усложняют этот механизм. Всестороннему освещению этих сложностей, а также общей архитектуры процессоров х86 и посвящена данная глава. Особое внимание уделяется организации и принципам работы материнской платы, центрального процессора и набора системной логики1.



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

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