#include #define loop_until_mybit_is_clear(port,bit) \ __asm__ __volatile__ ( \ "L_%=: " "sbic %0, %1" "\n\t" \ "rjmp L_%=" \ : /* no outputs */ \ : "I" (_SFR_IO_ADDR(port)), "I" (bit) \ ) int main(){ uint8_t bit=7; loop_until_mybit_is_clear(PORTD,bit); loop_until_mybit_is_clear(PORTB,bit); }