Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Директивы, которые инициализируют константы (данные и память)




Директивы, которые определяют разделы

Директивы ассемблера

Директивы ассемблера поставляют данные программе и управляют процессом трансляции. Директивы ассемблера дают возможность Вам делать следующее:

· Транслировать код и данные в указанные разделы.

· Резервировать пространство в памяти для неинициализированных переменных.

· Управлять видом листинга.

· Инициализировать память.

· Транслировать условные блоки.

· Определять глобальные переменные.

· Определять библиотеки, из которых ассемблер может получить макрокоманды.

· Исследовать информацию о символьной отладке.

Таблица дает сводку директив ассемблера. Помимо директив ассемблера, указанных здесь, программные средства ’C6x поддерживают следующие директивы:

· Ассемблер использует несколько директив для макрокоманд. Макро-директивы обсуждаются в главе 5, Макроязык; они не обсуждаются в этой главе.

· Оптимизатор ассемблера использует несколько директив, которые поставляют данные и управляют процессом оптимизации. Директивы оптимизатора Ассемблера обсуждены в Руководстве «Оптимизирующий компилятор C TMS320C6x»; они не обсуждаются в этой книге.

· Компилятор C использует директивы для символьной отладки. В отличие от других директив, директивы символьной отладки не используются в большинстве программ на языке ассемблера. Приложение B, Директивы символьной отладки, обсуждает эти директивы; они не обсуждаются в этой главе.

Внимание: Метки и комментарии не показаны в синтаксисе.

Любая исходная инструкция, которая содержит директиву, может также содержать метку и комментарий. Метки начинаются в первом столбце (они - единственные элементы, кроме комментариев, которые могут появляться в первом столбце), а комментарии должны начинаться с точки с запятой или звездочки, если комментарий - единственный элемент в строке. Чтобы улучшать разборчивость, метки и комментарии не показываются, как часть синтаксиса директив. В описании части, заключенные в квадратные скобки, могут пропускаться, ассемблер будет их задавать по умолчанию.

Мнемоника и синтаксис Описание
bss символ, размер в байтах [, выравнивание [, сдвиг банка]] Резервирует пространство в разделе.bss (неинициализированные данные)
.data Транслирует в раздел.data (инициализированные данные)
.sect ”имя раздела” Транслирует в названный (инициализированный) раздел
.text Транслирует в раздел.text (выполняемый код)
символ.usect ”имя раздела”, размер в байтах [,выравнивание] Резервирует пространство в названном разделе (неинициализированном)
Мнемоника и синтаксис Описание
.bss размер в байтах Резервирует пространство в текущем разделе; метка указывает на конец зарезервированного пространства
.byte значение1 [,..., значениеN] Инициализирует один или более байт в текущем разделе
.char значение1 [,..., значениеN] Инициализирует один или более байт в текущем разделе
.double значение1 [,...,значениеN] Инициализирует 64-битнуые константы с плавающей точкой, IEEE с двойной точностью  
.field значение [, размер] Инициализирует поле размером в битах (1-32) со значением
.float значение1 [,...,значениеN] Инициализирует 32-битные константы с плавающей точкой, IEEE с однократной точностью
.half значение1 [,...,значениеN] Инициализирует 16-разрядные целые числа
.int значение1 [,...,значениеN] Инициализирует 32-разрядные целые числа
.long значение1 [,...,значениеN] Инициализирует 32-разрядные дробные числа
.short значение1 [,...,значениеN] Инициализирует 16-разрядные дробные числа
.space размер Резервирует пространство в текущем разделе; метка указывает на начало зарезервированного пространства
.string {выраж.1 ”строка1”} Инициализирует одну или более текстовых строк
.word значение1 [,...,значениеN] Инициализирует 32-разрядные целые числа



Поделиться с друзьями:


Дата добавления: 2014-10-17; Просмотров: 289; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.