Ich hab nen Slave in C geschreiben, dürfte sich recht einfach auf Assembler übertragen lassen:
https://www.roboternetz.de/wissen/in...ve_mit_avr-gcc

Eigentlich ist nen Slave ne recht simpele Sache: man schmeißt das TWI an (Adresse in TWAR, und in TWCR die Bits TWEA,TWEN und TWIE setzen.) und wartet auf den Interrupt. In der ISR liest man TWSR aus, und reagiert entsprechend der Tabelle im Datenblatt.