How to create delays in AVR assembly language
AVR LibC already has macros that do this, provided F_CPU is set correctly.

// Note: The Arduino IDE gets the value for F_CPU from boards.txt
#define F_CPU xxxxxxxxxx

#include &lt;util/delay.h&gt;

 ...

_delay_ms(1);
_delay_us(100);
_delay_us(1);