-
Werbung
-
Erfahrener Benutzer
Fleißiges Mitglied
Hi VAJK!
Kann dass so stimmen?
#include <m8def.inc>
ldi R16, 0xff ;In R16 Wert 0xff laden
ldi R17, 0x01 ;In R17 Wert 0x01 laden
ldi R24, 0x02 ;In R24 Wert 0x02 laden
ldi R21, 255 ;In R21 Wert 255 laden
ldi R23, 0b00000010 ;In R23 Wert 0b0000010 laden
ldi R24, 0b00000100 ;In R24 Wert 0b00000100 laden
Start:
in R18, PINC ;Schreibe in R18, PINC
cpse R17, R18 ;Vergleiche R17 mit R18. Wenn gleich nächsten Schritt (rjmp Start) überspringen
rjmp Start ;Springe zu Start
Einmal:
out PORTC, R23 ;Ausgabe an PORTC, R23
in R18, PINC ;Schreibe in R18 PINC
cpse R17, R18 ;Vergleiche R17 mit R18. Wenn gleich nächsten Schritt (rjmp Einmal) übersrpingen
rjmp Einmal ;Springe zu Einmal
cbi PINC, 0x00 ;Alle Bit´s in PINC löschen
rjmp Zeitschleife ;Springe zu Zeitschleife
Zweimal:
out PORTC, R24 ;Ausgabe an PORTC, R24
in R18, PINC ;Schreibe in R18, PINC
cpse R17, R18 ;Vergleiche R17 mit R18. Wenn gleich nächsten Schritt (rjmp zweimal) überspringen
rjmp Zweimal ;Springe zu Zweimal
rjmp Einmal
Zeitschleife:
inc R20 ;erhöhe R20 um 1
cpse R20, R21 ;Vergleiche R20 mit R21
rjmp Zeit ;Springe zu Zeit
inc R22 ;erhöhe R22 um 1
Zeit:
sbrs R22, 0x05 ;Vergleiche R22 mit 0x05. Wenn gleich nächsten Schritt (rjmp Abfrage) überspringen
rjmp Abfrage ;Springe zu Abfrage
cbr R22, 0x20 ;Lösche alles in R22
rjmp Einmal ;Springe zu Einmal
Abfrage:
in R18, PINC ;Schreibe in R18, PINC
cpse R17, R18 ;Vergleioche R17 mit R18. Wenn gleich nächsten Schritt (rjmp Zeitschleife) überspringen
rjmp Zeitschleife ;Springe zu Zeitschleife
cbi PINC, 0x00 ;In PINC alle Bit´s löschen
cbr R18, 0x01 ;Lösche alles in R18
rjmp Zweimal ;Springe zu Zweimal
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Werbung
Lesezeichen