Понятно , что пример в GCC-AVR Inline Assembler Cookbook 2/8 бестолковый для бестолковых начинающих ... Собственно , начал я отсюда , да простит меня модератор , но программу на FBD в Floworks можно представить только в форме картинки :

хотя вот эта вставка
asm volatile("nop\n\t"
"nop\n\t"
"nop\n\t"
"nop\n\t"
: : ) ;
из кукбук нормально компилировалась -
int main()
{ //Initialisation
MCUSR=0x00;
WDTCR=0x10;
//Interrupt initialisation code
//C code
//C Code:
asm volatile(
"nop\n\t"
"nop\n\t"
"nop\n\t"
"nop\n\t"
: : ) ;
mainendloop: goto mainendloop;
}
Получилось -
int main()
{
//Initialisation
MCUSR=0x00;
WDTCR=0x10;
//Interrupt initialisation code
//C code
//C Code:
__asm__ __volatile__ (
"in %0, %1"
: "=r" (value)
: "I" (_SFR_IO_ADDR(PORTD))
);
mainendloop: goto mainendloop;
}
Сообщение отредактировал nicname - Apr 26 2008, 16:21