| Infos Home | Impressum | Original Artikel & Autoren Liste |
Die Funktionen des 80386 sind auch in allen Nachfolgemodellen immer noch vorhanden. Die Register dieser Prozessorfamilie sowie der Adressraum der Architektur sind 32 Bit breit.
Eine Spezialvariante war die SX-Version mit einer Busbandbreite von 32bit intern und 16bit extern.
Der 80386 kann direkt bis zu 4 GiB Hauptspeicher adressieren (386SX: 16 MiB). Er hat acht allgemeine 32-Bit-Register, die zum Rechnen und allgemeinen Datenaustausch verwendet werden:
| Abk. | Englischer Name | Verwendung |
|---|---|---|
| EAX | Accumulator | allgemein verwendbar, spezielle Bedeutung bei Arithmetikbefehlen |
| EBX | Base Register | allgemein verwendbar |
| ECX | Count Register | allgemein verwendbar, spezielle Bedeutung bei Schleifen |
| EDX | Data Register | allgemein verwendbar, spezielle Bedeutung bei Multiplikation und Division |
| EBP | Base Pointer | Zeiger auf temporäre Speicherstellen im Stack (z.B. Stackframe für lokale Variablen etc.) |
| ESP | Stack Pointer | Zeiger auf die aktuelle Position im Stacksegment |
| ESI | Source Index | Quelle für Stringoperationen |
| EDI | Destination Index | Ziel für Stringoperationen |
Daneben gibt es auch noch weitere Register zur Steuerung des Verhalten der CPU:
| Abk. | Englischer Name | Verwendung |
|---|---|---|
| EIP | Instruction Pointer | Zeigt auf den nächsten auszuführenden Befehl. Wird durch Sprunganweisungen verändert. |
| EFLAGS | Flag Register | Die einzelnen Bits besitzen unterschiedliche Bedeutungen und zeigen z. B. Überläufe bei arithmetischen Operationen u.ä. an. |
| CS | Code Segment | Gibt die Position des Codesegmentes (in dem der aktuell auszuführende Programmcode steht) an. |
| DS | Data Segment | Gibt die Position des Datensegmentes (in dem die globalen Daten des Programms stehen) an. |
| SS | Stack Segment | Gibt die Position des Stacksegmentes (in dem der Stack für die lokalen Daten und Rücksprungadressen stehen) an. |
| ES | Extra Segment | Gibt die Position eines weiteren Datensegmentes (wird z.B. für Stringkopierbefehle verwendet) an. |
| FS und GS | Extra Segment 2 und 3 | Gibt die Position zweier weiterer Datensegmente an. |
| GDTR | Global Descriptor Table Register | Gibt die Position der GDT an |
| LDTR | Global Descriptor Table Register | Gibt die Position der LDT an |
| IDTR | Interrupt Descriptor Table Register | Gibt die Position der IDT an |
| CR0 - CR3 | Control Register 0 ... 3 | Steuern u.a. das Paging im Protected Mode |
| TR6 - TR7 | Test Register 6 ... 7 | .. |
| DR0 - DR7 | Debug Register 0 ... 7 | Dienen zum festlegen von Breakpoints auf Prozessorebene (DR0..DR3) u.a. |
| TR | Task Register | Segmentselektor des Task Status Segments (TSS) |
Der Nachfolger war der 486er.
|
Der Ursprungsartikel stammt von der deutschsprachigen Wiki pedia (siehe oben: "Original Artikel & Autoren Liste"). Der Text steht unter der GNU Freie Dokumentation Lizenz. |