Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

E INLEITUNG UND I NHALT 1 Quellen: Addison-Wesley – Das Assembler- Buch CPU-Register eines Pentium Prozessors Das Wissen über die Funktion der CPU-Register.

Ähnliche Präsentationen


Präsentation zum Thema: "E INLEITUNG UND I NHALT 1 Quellen: Addison-Wesley – Das Assembler- Buch CPU-Register eines Pentium Prozessors Das Wissen über die Funktion der CPU-Register."—  Präsentation transkript:

1

2 E INLEITUNG UND I NHALT 1 Quellen: Addison-Wesley – Das Assembler- Buch CPU-Register eines Pentium Prozessors Das Wissen über die Funktion der CPU-Register ist für die Assembler-Programmierung ein wichtiger Bestandteil – Schließlich braucht man sie für fast jede Operation. Zwar beinhaltet diese Präsentation keine detaillierten Fakten, dennoch kann sie als kurzer Einblick oder Einführung dienen. Um mit den Registern arbeiten zu können werden im ersten Teil die CPU-Datenformate aufgezeigt. Danach werden die Basis-Register genannt und einzeln erläutert. Am Ende befindet sich ein Quellenverzeichnis, Buchtipps und das Impressum.

3 CPU-D ATENFORMATE 2 Quellen: Addison-Wesley – Das Assembler- Buch CPU-Register eines Pentium Prozessors Der Prozessor kennt die aus den Hochsprachen bekannten Datenformate wie Integer, Boolean oder ähnliche nicht. So kennt er nicht mal den Unterschied zwischen vorzeichenbehafteten und vorzeichenlosen Integers: Für ihn gibt es, abgeleitet von den Daten, die die Prozessoren kennen, nur Byte-Daten (define bytes, DB) Word-Daten (define words; DW) Double-Word-Daten (define double words; DD) QuadWord-Daten (define quad words; DQ) Ob vorzeichenbehaftet oder nicht, das interessiert weder den Prozessor noch dem Assembler – hier ist die Interpretationsfähigkeit des Programmierers gefragt.

4 CPU-D ATENFORMATE 3 Quellen: Addison-Wesley – Das Assembler- Buch CPU-Register eines Pentium Prozessors Trotzdem verwenden die meisten Programmierer die seit langem eingeführten und probaten Datenformate: Bytes (8 Bits) Words (16 Bits) Double Words (32 Bits) Quad Words (64 Bits) Für vorzeichenlose Ganzzahlen ShortInts (7 Bits + Vorzeichen) SmallInts (15 Bits + Vorzeichen) LongInts (31 Bits + Vorzeichen) Für vorzeichenbehaftete Ganzzahlen

5 D IE CPU-B ASIS -R EGISTER 4 Quellen: Addison-Wesley – Das Assembler- Buch eines Pentium Prozessors Zum Bearbeiten der eben gezeigten Daten besitzt der Prozessorchip Strukturen, die man als Register bezeichnet. Es gibt mehrere Register mit verschiedenen Aufgaben z.b.: CPU-Register Bearbeitung von Daten mit logischen und arithmetischen Instruktionen Darstellung von Informationen über den aktuellen Zustand des Prozessors Entgegennehmen von Informationen Steuerung der Aktivitäten des Prozessors Aufnehmen von Adressen und Indices Gemäß dieser Aufgaben sind die Register unterteilt in: Allzweckregister Segmentregister Programm-Status- und –Kontroll-Register instruction pointer register

6 D IE CPU-B ASIS -R EGISTER – D IE A LLZWECKREGISTER 5 Quellen: Addison-Wesley – Das Assembler- Buch eines Pentium Prozessors CPU-Register Nehmen arithmetische oder logische Operanden auf. Nehmen Zeiger auf, die bei gewissen Befehlen, über die die Kommunikation mit der Peripherie erfolgt, eine Rolle spielen. Die modernen Pentium-4-Prozessoren besitzen acht solcher Register: EAX (Extendet Accumulator) EBX (Extendet Base register) ECX (Extendet Counter register) EDX (Extendet Data register) ESI (Extendet Source Index register) EDI (Extendet Destination Index register) EBP (Extendet Base Pointer register) ESP (Extendet Stack Pointer register) Alle sind jeweils 32 Bits groß, die ersten Bits, 0-15, werden auch als AX,BX,CX u.s.w bezeichnet. ESP und EBP sollte man nicht benutzen, sie dienen der Verwaltung des Stacks auf den der Prozessor immer wieder zurückreift.

7 D IE CPU-B ASIS -R EGISTER – D IE S EGMENTREGISTER 6 Quellen: Addison-Wesley – Das Assembler- Buch eines Pentium Prozessors CPU-Register Es gibt sechs Segmentregister. Sie enthalten Adressen, die beim Zugriff auf den Speicher eine wesentliche Rolle spielen. – Sie sind auch nur für diesen Zweck nutzbar. Das Segmentregister DS spielt eine besondere Rolle:es dient der Adressberechnung zum Zugriff auf Daten als Standart-Bezugsregister. Die Nutzung der Register ES, FS und GS zu diesem Zweck ist zwar möglich, verlangt aber einen sogenannten segment override prefix, der ein zusätzlichen Byte in der Instruktion darstellt und die Befehlsbearbeitung in den Pipelines entsprechend verzögert. Die Register CS und SS haben ebenfalls eine Sonderstellung, sie sind für das Codesegment und für den Stack reserviert.

8 D IE CPU-B ASIS -R EGISTER – D ER INSTRUCTION POINTER 7 Quellen: Addison-Wesley – Das Assembler- Buch eines Pentium Prozessors CPU-Register Der instruction pointer (dt.: Befehlszeiger) wird nur der Vollständigkeit erwähnt. Denn der Zugriff ist für den Programmierer vollständig verwehrt. Das Register untersteht ausschließlich der Kontrolle des Prozessors: Hier speichert er die Adresse des nächsten auszuführenden Befehls Der Inhalt wird vom Prozessor bei jeder Ausführung eines Befehls aktualisiert Es gibt auch keinen Grund den Inhalt des Registers zu ändern, schließlich kann man mit dem JMP, dem Jcc oder dem CALL-Befehl das gleiche erreichen

9 D IE CPU-B ASIS -R EGISTER – D AS EF LAGS -R EGISTER 8 Quellen: Addison-Wesley – Das Assembler- Buch eines Pentium Prozessors CPU-Register Dieses Register ist (direkt) nur schwer zugänglich: Es gibt nur wenige Befehle im Assembler, die das EFlags-Register als Quelle oder Ziel einer Operation akzeptieren. Das Datum in EFlags wird in eindeutiger Weise Interpretiert: als Feld von 32 Bits. Diese Bits sind völlig unabhängig voneinander und beeinflussen sich gegenseitig nicht. Sie dienen 3 Zwecken: Darstellung des derzeitigen Programmstatus (Condition Code) Steuerung gewisser Programmabläufe (Kontrollflags) Darstellung bestimmter Systemparameter (Systemflags) Da diese Bits bestimmte Sachverhalte signalisieren sollen werden sie auch als Signal-Flags bezeichnet

10 D IE CPU-B ASIS -R EGISTER – D AS EF LAGS -R EGISTER 9 Quellen: Addison-Wesley – Das Assembler- Buch eines Pentium Prozessors CPU-Register Die wichtigsten und häufigsten benutzten Flags sind die Statusflags, es gibt folgende: das carry flag (CF) das parity flag (PF) das adjust flag (AF) das zero flag (ZF) das sign flag (SF) und das overflow flag (OF) Sie zeigen zum Beispiel an: Ob bei der letzten Rechnung ein Übertrag oder ein Unterlauf entstanden ist, oder Ob bei der letzten Rechnung eine vorzeichenbehaftete Zahl heraus kam oder nicht Ebenfalls können sie anzeigen ob bei einer Operation 0 heraus kam.

11 Q UELLENVERZEICHNIS UND B UCHTIPS 10 Quellen: Addison-Wesley – Das Assembler- Buch eines Pentium Prozessors CPU-Register Das Wissen über die Inhalte dieser Präsentation stammen aus dem Buch: Das Assembler-Buch Von Trutz Eyke Podschun, Erschienen im Addison-Wessley-Verlag Diese Buch wird auch von mir ganz stark empfohlen, weil da steht alles drin!

12 I IMPRESSUM 11 Quellen: Addison-Wesley – Das Assembler- Buch eines Pentium Prozessors CPU-Register Idee: Michael Wellner Design: Michael Wellner Programmierung: Michael Wellner Weitere Infos: oder © 2003


Herunterladen ppt "E INLEITUNG UND I NHALT 1 Quellen: Addison-Wesley – Das Assembler- Buch CPU-Register eines Pentium Prozessors Das Wissen über die Funktion der CPU-Register."

Ähnliche Präsentationen


Google-Anzeigen