Сообщение от JonRembo
|
В этом мануале нету ни слова об "spi_busy_exit" точнее даже самого слова нету.
Также #0 отсутствует. Есть только %0 \n на одной страничке в Example 6-1:
Additional Inline Functions. Но там ни слов зачем они там.
Абсолютно нигде в этом мануале нету :: и "U".
Короче книжечка большая но информация не полная.
Описано кое как bra nz и btsts.
Но из за отсутствия информации об упомянутых выше инструкциях. Разобрать что все таки делает эта вставка не представляется возможным.
|
Бегло пробежали? Все там нормально расписано по формату инструкций ассемблера и сами инструкции подробно расписаны, даже примеры есть. #0 это номер бита в регистре по адресу %0.
Цитата:
|
Bit ‘bit4’ in file register ‘f’ is tested and the complement of the tested bit is stored to the Zero flag in the STATUS register.
|
А вот по формату вставок в си смотрите мануал на компилятор, потому что в асме "U" нет.
То что во вставке на ассемблере будет выглядеть
btsts.w 0x0,#0 - проверка бита 0 в регистре 0
bra nz, spi_busy_exit - если флаг zero в статусном регистре не 0, то переход к метке spi_busy_exit
\n это просто перевод на новую строку