Bei Atmel gibt es Appnotes dazu!
AVR311: Using the TWI module as I2C slave
AVR315: Using the TWI module as I2C master
Ich hab schon erfolgreich nen Mega8 als Slave im Einsatz. Ist eigentlich nicht sonderlich kompliziert, man frag bei jedem TWI-Interrupt den Statuscode ab und reagiert laut der Tabelle im Datenblatt.
Für den Master benutze ich die lib von P. Fleury.

Ich werde mein Programm bald mal ins Wiki packen... [allerdings in C, aber das Prinzip dürfte leichtin in ASM zu übertragen sein]