Ассемблернаая вставка
- Войдите на сайт для отправки комментариев
Чт, 12/07/2018 - 20:33
есть массив
uint8_t d[] = "________";
нужно прочитать из регистра B элемент массива d[7], и поменять местами нибблы, делаю это на ассемблере так
(http://microsin.net/programming/avr/avr-gcc-inline-assembler.html)
asm volatile("in %0 , %1" : "=r"(d[7]) : "I"(_SFR_IO_ADDR(PORTB)) ); asm volatile("swap %0" : "=r" (d[7]) : "0" (d[7]) );
компиляция проходит , но нужного результата нет ,d[7] равен 0...
оказывается всё правильно работает , не правильно укзал регистр