Gruppe 4

Aufgabe1

Aufgabe ist es, ein Programm zu entwickeln, das ein Signal (Bit) über Pin A aufnimmt und es dann über Port B abgibt.

Durchleiter

.include "8515def.inc"     ; Der 8515 wird geladen. Ermöglicht verwendung der Symbole statt Adressen.    

.def temp =r16            ; Definiert das Register welches verwendet wird.    

loop:                    ;Springt hierhin zurück. Sprungmarke.

    in temp,PINA            ;Von PINA wird das Signal in TEMP eingelesen.

    out PORTB,temp        ; Aus TEMP wird das Signal in PORTB übermittelt.

    rjmp loop                 ; Springt zum LOOP

Aufgabe 2

Aufgabe ist es ein Programm zu entwickeln, das wie bei Aufgabe 1 das Signal(Bit) durchleitet und es mit der Ziffer 5 multipliziert.

5 Fach Multiplizierer

.include "8515def.inc"     

.def zahl =r16        ;hier definiere ich das Register zahl.    
.def erg  =r17        ;  "                        "        erg. 

loop:

    clr erg        ; mit dem Befehl, wird das Register resetet.

    in zahl,PINA    ; Die aufgenommenen Bit's von Pin A werden in Register zahl gespeichert.     

    add erg,zahl     ; Hier werden die Informationen (Bit's) aus Register zahl zu Register erg addiert.

    lsl erg        ; Hier werden die Bit's um einen Pin nach Links verschoben ( mit 2 Multipliziert).
    lsl erg         ; Hier werden die Bit's nochma um einen Pin nach links verschoben ( also mit 2*2 Multipliziert).

    add erg,zahl    ; Bei dem register erg wird nun das Register zahl dazu addiert ( 4*X+1X=5X ) .  

    out PORTB,erg    ; die Zahl, die jetzt 5 mal höher ist wie im Ursprung wird über Port B ausgegeben. 

rjmp  loop                   ;    Spring zur gesetzten Sprungmarke.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License