======__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...