Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Топ:
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Интересное:
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Дисциплины:
2022-10-05 | 30 |
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.
Внимание
Регистры используются в исполняемой программе (явно используются регистры общего назначения и аккумулятор, неявно используются некоторые системные регистры). Неправильное использование регистровых псевдопеременных может привести к непредсказуемым результатам.
|
|
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!