Akkumulator oder Register A im 8085 Mikroprozessor
Register A ist ein 8-Bit-Register, das im 8085 verwendet wird, um arithmetische, logische, I/O & LOAD/STORE-Operationen durchzuführen. Register A wird oft auch als Akkumulator bezeichnet. Ein Akkumulator ist ein Register für die kurzfristige Zwischenspeicherung von arithmetischen und logischen Daten in einer Computer-CPU (Central Processing Unit) Bei einer arithmetischen Operation mit zwei Operanden muss ein Operand in diesem Register stehen. Das Ergebnis der arithmetischen Operation wird in diesem Register gespeichert oder akkumuliert. In ähnlicher Weise muss sich bei einer logischen Operation mit zwei Operanden ein Operand im Akkumulator befinden. Auch einige andere Operationen, wie Komplementierung und Dezimalanpassung, können nur mit dem Akkumulator durchgeführt werden.
Betrachten wir nun ein Programmsegment, das nur den Inhalt von Accumulate betrifft. Im 8085-Befehlssatz ist STA ein Kürzel, das für STore Accumulator contents in memory steht. Bei diesem Befehl wird der 8-Bit-Inhalt des Akkumulators an einer Speicherstelle gespeichert, deren 16-Bit-Adresse im Befehl als a16 angegeben ist. Dieser Befehl verwendet die absolute Adressierung zur Angabe des Ziels. Dieser Befehl belegt 3 Bytes Speicherplatz. Das erste Byte wird für den Opcode benötigt, und die nächsten 2 Bytes liefern die 16-Bit-Adresse, die nacheinander in jeweils 8 Bits aufgeteilt wird.
Mnemonics, Operand | Opcode (in HEX) | Bytes |
---|---|---|
STA Adresse | 32 | 3 |
Betrachten wir STA 4050 hat einen Beispielbefehl dieses Typs. Es handelt sich um einen 3-Byte-Befehl. Das erste Byte enthält den Opcode-Hexwert 32H. Wie in der 8085-Assembler-Kodierung üblich, sollte das niederwertige Byte der Adresse als erstes genannt werden und dann das höherwertige Byte der Adresse als nächstes. Das nächste Byte im Speicher wird also 50H enthalten und danach wird 40H im letzten Drittel des Bytes gespeichert. Nehmen wir an, der anfängliche Inhalt des Akkumulators ist ABH und der anfängliche Inhalt der Speicherstelle 4050H ist CDH. Nach der Ausführung bleibt der Inhalt des Akkumulators also ABH und der Inhalt der Speicherstelle 4050H wird ABH und ersetzt den vorherigen Inhalt CDH. Die Inhaltsverfolgung dieses Befehls ist unten dargestellt –
Vor | Nach | |
---|---|---|
(A) | ABH | ABH |
(4050H) | CDH | ABH |
Adresse | Hex-Codes | Merkmal | Kommentar |
---|---|---|---|
2008 | 2A | STA 4050H | Der Inhalt der Speicherstelle 4050H ← A |
2009 | 50 | Low-order Byte der Adresse | |
200A | 40 | High order Byte der Adresse |
Das Timing-Diagramm dieses Befehls STA 4050H ist wie folgt.
Zusammenfassung – Dieser Befehl SDA 4050H benötigt also 3-Bytes, 4-Maschinen-Zyklen (Opcode Fetch, Memory Read, Memory Read, Memory Write) und 13 T-States zur Ausführung, wie im Timing-Diagramm dargestellt.