Gast
#4730111
Hallo, nein das hier ist keine Hausaufgabe und ja, ich versuche das
wirklich zu verstehen und nein, ich will nicht nur das Ergebnis..
Die Aufgabe:
Der Eingabe-/Ausgabe-Baustein 8255 hat die (hexadezimale) Grundadresse
64h und ist mit folgendem Kontrollwort (im Steuerregister) konfiguriert:
98 (hexadezimal)
aus der 96h habe ich folgendes entnommen:
MSB: 1 <- Mode Set Flag = aktiv
0 <- Mode 0
0 <- Mode 0
1 <- PortA= Input
1 <- PortC= Input (Upper)
0 <- Mode 0
0 <- PortB= Output
0 <- Port C = Output ( lower)
An den peripherieseitigen Portleitungen sind folgende hexadezimalen
Signalwerte gegeben:
Port A : 12h
Port B : 00h
Port C : A3h
Der μP führt nun folgende EA-Operationen zwischen seinem
Akkumulatorregister AL und den Ports durch:
IN AL, 64h ; Wert aus der Peripherie nach
AL einlesen
XOR AL, 25d ; Exklusiv-ODER Verknüpfung mit
Dezimalwert,
; Ergebnis steht in
AL
OUT 66h, AL ; Ausgabe des AL-Wertes
OUT 65h, AL ; an die Peripherie
Welche hexadezimalen Werte befinden sich nach den Ausgabebefehlen in den
Ports?
Port A : 12h , da Port A ein Input ist
Port B : 0bh , berechnet durch Programmablauf, da Port B ein Output ist
Port C : ?
Wie ihr seht habe ich mir schon einige Gedanken gemacht. Wie Verhält
sich der Port C, bzw wie komme ich zum Wert in Port C?
MfG
