/media/sda-magnetic/david/Dok-15-2023-11-27/informatik/atmega8-2023-12-26/beispiel.asm


; Beispiel-Projekt beispiel.asm
.include "m8def.inc" ; Definitionen für unseren Mikrocontrollertyp

         ldi r16, 0xFF       ; lade Arbeitsregister r16 mit der Konstanten 0xFF
         out DDRB, r16       ; Inhalt von r16 ins IO-Register DDRB ausgeben
  ldi r16,0b00000 ; binären Zahlenwert 11110 ins Register Nummer 16
  out PORTB,r16 ; Inhalt des Registers 16 ins Ausgaberegister
loop: ; ab hier der Teil des Programms, der ständig wiederholt wird
  sbi PORTB,1 ; schalte die Leuchtdiode ein
   rcall warten ; Aufruf des Warte-Unterprogramms
  cbi PORTB,1 ; schalte die Leuchtdiode aus
   rcall warten ; Aufruf des Warte-Unterprogramms
  rjmp loop ; springe zum Label 'loop'

warten: ; ca. 1/6 Sekunde verzögern
  inc r21
  brne PC-1
  inc r22
  brne PC-3
  ret ; Rücksprung ins Hauptprogramm