Programm1
Problem
Der Eingang ist Pin A und der Ausgang Port B.
Lösung
Data Direction auf Port A setzen —> Ausgang
Programm
Code
loop
in temp, PINA ( temp in PINA einlesen )
out PORTB, temp ( PORTB in temp einlesen )
rjmp loop ( Springt zur angegebener Sprungmarke )
Programm2
Problem
Eine Zahl von PINA mit 5 multiplizieren —> Port B ausgeben
Lösung
2 Variablen ( zahl und erg ).
Port B als Ausgang definieren.
"lsl" Befehl anwenden (Der Wert in einem Register wird mit 2 multipliziert) —> 2 mal verwendet
Die eigentliche Zahl wird mit dem "add" Befehl hinzugefügt.
Ergebnis —> Port B
Code
.def Zahl = R16
.def erg = R17
loop
clr erg
in zahl, PINA ( zahl in PINA einlesen )
add erg, zahl
lsl erg ( multiplizieren mit 2 )
lsl erg ( multiplizieren mit 2 )
add erg, zahl ( zahl hinzu für verfünffachen )
out PORTB, erg ( Ausgabe auf PORTB )
rjmp loop ( Springt zur angegebener Sprungmarke )