|
char bitneg (int a)
{
asm ("LSR R17");
asm ("ROR R16");
asm ("LSR R17");
asm ("ROR R16");
asm ("LSR R17");
asm ("ROR R16");
asm ("LSR R17");
asm ("ROR R16");
asm ("LSR R17");
asm ("ROR R16");
asm ("LSR R17");
asm ("ROR R16");
asm ("LSR R17");
asm ("ROR R16");
asm ("LSR R17");
asm ("ROR R16");
}
вызываем
a = bitneg (a<<8);
a<<8 это для того, чтобы компилятор понял, что регистр R17 я сейчас использую.
вообще изврат с asm всего лишь из-за моего незнания, как в си сдвинуть с учетом флага переноса.
E-mail: info@telesys.ru