Пр о ц е с с о р TMS 3 2 0C4 x
147
неинициализированные –
резервируют память для неинициализированных
данных. Секция .bss является неинициализированной, секции, создаваемые
ассемблерной директивой
.usect
, – неинициализированные.
Содержимое инициализированных секций точно определено после за-
грузки программы в память, в отличие от неинициализированных, которые по-
сле загрузки содержат произвольные данные.
2. Формат COFF-файла
При работе с процессорами TMS320C4x используется формат файлов, по-
казанный на рис.Г.1. Каждая секция кода или данных, входящая в файл COFF,
содержит заголовок, собственно данные, информацию о перемещении и отла-
дочную информацию, сгруппированные, как показано на рисунке. Кроме того, в
файл входят основной и дополнительный заголовки, таблицы символов и строк
(или длинных имен). Справа показаны некоторые структуры файла, необходи-
мые для понимания процесса ассемблирования и компоновки. Формат конкрет-
ного файла может отличаться от приведенного, но файл всегда включает все
указанные заголовки и данные секций (такой формат имеет выходной файл
компоновщика-исполняемый файл). Кроме того, объектный файл, получаемый
ассемблером, всегда содержит информацию перемещения и таблицу символов.
3. Синтаксис ассемблера
Строки исходного ассемблерного файла могут содержать четыре поля:
[label][:] mnemonic [operand list]
[;comment]
label
необязательное поле метки. Если метка используется, она
должна располагаться в
первой позиции строки
. Завершающее двоеточие
может не использоваться. Метка должна начинаться с буквы.
mnemonic
поле мнемоники, может содержать мнемонику машинной
инструкции, директиву ассемблера или макрос. Поле мнемоники
не должно
начинаться с первой позиции строки
.
operand list –
список требуемых операндов,они должны разделяться запя-
тыми, если несколько.
comment
поле комментария. Комментарием считается любая строка
текста, если в первой позиции строки стоит
′∗′
, а также любая строка, после
символа
;
Здесь и далее в квадратные скобки заключены необязательные поля, т.е.
строка исходного текста может выглядеть так:
mnemonic
; comment
Поля обязательно должны разделяться пробелами или табуляторами.
Длина строки исходного текста не может превышать 200 символов.
I...,137,138,139,140,141,142,143,144,145,146 148,149,150,151,152,153,154,155,156,157,...186