Выбрать главу

Директива section определяет новый сегмент, за ней должна идти строка в кавычках, определяющая название сегмента за которым могут следовать один или более флагов сегментов. Возможные флаги: code, data, readable, writeable, executable, shareable и discardable. Среди флагов также могут быть определены специальные PE идентификаторы данных, чтобы создать сегмент специальные данных, доступные идентификаторы export, import, resource и fixups. Когда выбрано определение данных fixups, они создаются автоматически и не требуют дополнительной информации. Начало сегмента выравнивается по страницам (4096 байт).

Директива entry устанавливает точку входа для Portable Executable, необходимо значение точки.

Директива stack устанавливает размер стека для PE, за директивой идет значение, резервируемое под стек, произвольная величина стека может следовать через запятую. Когда стек не задан, он создается размером 4096 байт.

Директива heap задает размер кучи для PE, за директивой идет значение, резервируемое под кучу, произвольная величина стека может следовать через запятую. Когда куча не определена, она создается по умолчанию 65536 байт, когда размер кучи совершенно не установлен, она устанавливается в 0.

Директива data начинает определение специальных PE данных, она должна сопровождаться одним из идентификаторов данных (export, imort, resource или fixups) или номером записи данных в PE заголовке. Данные должны быть определены на следующих строках, заканчивающихся директивой end data. Когда выбрано определение данных fixups, они создаются автоматически и не требуют дополнительной информации.

Формат COFF (Common Object File Format)

Чтобы выбрать формат COFF, используйте format COFF или format MS COFF, если Вы хотите создать простой или Microsoft COFF файл. В этом формате код по умолчанию 32 бит.

Директива section определяет новый сегмент, за ней должна идти строка в кавычках, определяющая название сегмента за которым могут следовать один или более флагов сегментов. Возможные флаги: code и data для обоих COFF вариантов, readable, writeable, executable, shareable и discardable только для Microsoft COFF. Начало сегмента выравнивается по страницам (4096 байт).

Директива extrn определяет внешний символ, она должна сопровождаться названием символа и опционально оператором размера, определяющим размер данных, маркированных этим символом.

Команда public объявляет существующий символ как public, он должен сопровождаться названием символа.

[C] Dreamer2