|
хотя зависит от версии компилера. Там в мануале есть глава про договорённости о названиях переменных и используемых компилером регистрах.
Я там ниже строчку на С отправлял ;) которая
x= (x&1) ? x>>1|0x80 : x>>1;
- сейчас откомпилировал (правда для PIC'a - компилер рядом ;)
ага, так и вышло -
1. смотрит младший бит, и если он установлен, то ставит перенос,
иначе сбрасывает
2. сдвигает регистр вправо имеющейся командой типа ROR (у пика она зовётся RRF)
Отсюда, кстати вывод, что в асме нужно добавить самую первую строчку
asm ("clc"); //поскольку перенос может торчать после предыдущих
операций ;)
Хотя asm тут не нужен - С компилер сделает всё точно также
E-mail: info@telesys.ru