.include "m16def.inc" ;Definitionsdatei einbinden, ggf. durch ;2333def.inc ersetzen .def temp = r16 ldi temp, LOW(RAMEND) ; LOW-Byte der obersten RAM-Adresse out SPL, temp ldi temp, HIGH(RAMEND) ; HIGH-Byte der obersten RAM-Adresse out SPH, temp ldi r18, 0b11001100 ;Bytespeicher ldi r19, 0b00110011 ;Bytespeicher ldi r16, 0xFF out DDRD, r16 ldi r20, 0x00 ;Counterregister ldi r21, 0x08 ;Durchlaufangaberegister ldi r16, 0b00000000 ;AusgabeRegister Schleife: SBRC r18, 0x0 rjmp ByteAusleseWennEins CBR r16, 0b00001000 rjmp EndeDerByteAuslese ByteAusleseWennEins: SBR r16, 0b00001000 EndeDerByteAuslese: out PORTD, r16 ;rcall TuNichts nop SBRC r16, 0x0 rjmp TaktWenn1 SBR r16, 0b00000001 rjmp TaktAendernEnde TaktWenn1: CBR r16, 0b00000001 TaktAendernEnde: out PortD,r16 ;rcall TuNichts inc r20 lsr r18 cp r20, r21 BRNE Schleife CBR r16, 0b00000010 out PortD,r16 NOP NOP SBR r16, 0b00000010 out PortD,r16 ;rcall TuNichts ;CBR r16, 0b00000010 /* rcall TuNichts SBR r16, 0b00000010 out PortD,r16 rcall TuNichts CBR r16, 0b00000010 */ ende: rjmp ende /* TuGanzLangeNichts: rcall TuLangeNichts rcall TuLangeNichts rcall TuLangeNichts rcall TuLangeNichts rcall TuLangeNichts rcall TuLangeNichts rcall TuLangeNichts rcall TuLangeNichts rcall TuLangeNichts rcall TuLangeNichts rcall TuLangeNichts rcall TuLangeNichts rcall TuLangeNichts rcall TuLangeNichts rcall TuLangeNichts ret TuLangeNichts: rcall TuNichts rcall TuNichts rcall TuNichts rcall TuNichts rcall TuNichts rcall TuNichts