Инструменты пользователя

Инструменты сайта


dsp:lynx:builtinfunc

__builtin_ функции

Использование встроенных функций идентично использованию ассемблерных инструкций чтений/модификации системных регистров, однако более предпочтительно в программе на С/С++, чем ассемблерные вставки.

Для работы с built-in функциями необходимо подключить заголовочный файл sysreg.h.

Функции доступа к системным регистрам аналогичны основным инструкциям ассемблера, предназначенным для этих же целей, например:

__builtin_ Asm аналог Описание
int sysreg_read(const int SR_number) = sysreg Чтение системного регистра sysreg
sysreg_write(const int SR_number, const int new_value) sysreg = Запись системного регистра sysreg
sysreg_bit_clr(const int SR_number, const int bit_mask) bit clr sysreg bitmask Стирание битов в sysreg по маске
sysreg_bit_set(const int SR_number, const int bit_mask) bit set sysreg bitmask Установка битов в sysreg по маске
sysreg_bit_tgl(const int SR_number, const int bit_mask) bit tgl sysreg bitmask Инверсия битов в sysreg по маске
int sysreg_bit_tst(const int SR_number, const int bit_mask) bit tst sysreg bitmask Возвращает (sysreg & bit_mask) == bit_mask

Для всех функций есть варианты с _nop на конце функции. Использование такого варианта приводит к генерации команды nop после инструкции bit…

dsp/lynx/builtinfunc.txt · Последние изменения: 2018/04/17 17:01 — vasco