Gruppe 1

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 )

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License