Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Топ:
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Интересное:
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Типы long long и unsigned long long – 64-битные целочисленные типы, знаковый и беззнаковый соответственно. Их можно использовать во всех языковых конструкциях, где разрешены все другие целочисленные типы. Для них существует поддержка со стороны библиотеки, аналогичная таковой поддержке для других целочисленных типов.
К примеру, в заголовочном файле limits.h содержатся макросы LLONG_MIN, LLONG_MAX и ULLONG_MAX, обозначающие соответственно минимальное и максимально значения типа long long и максимальное значение типа unsigned long long.
О поддержке этих типов дополнительно можно посмотреть в главе Раздел 4.3.4, «Функции преобразования чисел в строки и наоборот»
Поддержка кода в соответствии с ограничениями платформы
Генерируемый компилятором код соответствует ограничениям аппаратной платформы на следование инструкций. Достигается это путём вставления инструкций nop между инструкциями.
Библиотеки
Стандартные заголовочные файлы для библиотеки С и заголовочные файлы поддержки языка С++ находятся в подкаталоге Include каталога установки. Заголовочные файлы полной библиотеки С++ находятся в подкаталоге STL; при их использовании не нужно добавлять в пути поиска заголовочных каталог Include.
Библиотечные файлы находятся в подкаталоге Lib каталога установки. Библиотка rtl.lib содержит функции поддержки языка С, она необходима для любых программ написанных на С/С++. Библиотека clib.lib содержит функции Стандартной библиотеки С. Библиотека cpplib.lib содержит функции поддержки языка С++. Библиотека stllib.lib содержит функции Стандартной библиотеки С++.
6.1 Макрос _alloca
Макрос _alloca предназначен для выделения памяти в стеке, в «окне» стека (stack frame) текущей функции, для нужд временного хранения информации. Таким образом память выделяется гораздо быстрее, чем с помощью функции malloc(), и не требует специального освобождения (освобождается автоматически при выходе из функции).
Параметр макроса – размер памяти, который необходимо выделить, в байтах. Результат макроса – указатель типа void* на выделенную память. Память, выделенную с помощью _alloca, можно использовать до выхода из функции, в которой она была выделена (в том числе и в вызванных из неё функциях).
Для использования макроса _alloca необходимо включить заголовочный файл malloc.h.
Работа с регистрами через псевдопеременные
Для удобства обращения с регистрами напрямую из C/C++ программы, поддержаны регистровые псевдопеременные. Чтобы прочесть значение из регистра, достаточно прочесть значение соответствующей переменной. Аналогично, чтобы записать значение в регистр, достаточно присвоить его соответствующей переменной. Переменные, соответствующие регистрам, запись в которые запрещена, имеют тип с модификатором const. В таблицах 6.1 и 6.2 приведены регистры и регистровые пары, доступные по чтению и записи. Указанные в таблице 6.3 регистры доступны в NM6405, но отсутствуют в NM6403.
Таблица 6.1 - Регистры и регистровые пары, доступные по чтению/записи
|
Регистры | Регистровые пары | |
| ar0... ar7(sp) | gr0... gr7 | (ar0, gr0)... (ar7, gr7) |
| icc0 | ica0 | (icc0, ica0) |
| icc1 | ica1 | (icc1, ica1) |
| occ0 | oca0 | (occ0, oca0) |
| occ1 | oca1 | (occ1, oca1) |
| t0 | t1 | (t0, t1) |
| pswr | Pc | (pswr, pc) |
| lmicr | Gmicr | - |
Таблица 6.2 - Регистры и регистровые пары, доступные только по записи
|
Запись 32-разрядных слов | Запись 64-разрядных слов | |
| nb1l | nb1h | nb1 |
| sbl | Sbh | sb |
| f1crl | f1crh | f1cr |
| f2crl | f2crh | f2cr |
| vrl | Vrh | vr |
Таблица 6.3 - Регистры NM6405
| Регистр | Разрядность | Доступ на чтение | Доступ на запись |
| pcr | 32 | + | + |
| lema | 32 | + | + |
| gema | 32 | + | + |
| lima | 14 | + | + |
| gima | 14 | + | + |
| irr | 12 | + | - |
| imr | 12 | + | + |
| gpa | 12 | + | + |
| lmcr0 | 32 | - | + |
| lmcr1 | 32 | - | + |
| gmcr0 | 32 | - | + |
| gmcr1 | 32 | - | + |
| dmac0 | 14 | + | + |
| dmac1 | 14 | + | + |
| iop | 8 | + | + |
| iopcr | 8 | + | + |
Имена регистровых псевдопеременных состоят из двух символов подчеркивания "_" и имени соответствующего регистра.
__ar0 … __ar7, __gr0 … __gr7, __icc0, __icc1, __nb1l, __nb1 …
Аналогичным образом могут быть прочитаны/присвоены значения регистровым парам. Имена соответсвующих регисровым парам псевдопеременных формируются аналогичным образом: два символа подчеркивания "_" и имена регистров пары.
__ar0gr0, __ar1gr1, __ar7gr7, __icc0ica0...
Псевдоперемнные объявлены в заголовочном файле neuromatrix.h.
Внимание
Регистры используются в исполняемой программе (явно используются регистры общего назначения и аккумулятор, неявно используются некоторые системные регистры). Неправильное использование регистровых псевдопеременных может привести к непредсказуемым результатам.
|
|
|
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!