Mikrocomputertechnik. Adressierungsarten

Größe: px
Ab Seite anzeigen:

Download "Mikrocomputertechnik. Adressierungsarten"

Transkript

1 Adressierungsarten Ein Mikroprozessor bietet meist eine Reihe von Möglichkeiten, die Operanden für eine Rechenoperation zu bestimmen. Diese Möglichkeiten bezeichnet man als Adressierungsarten. unmittelbare Adressierung (immediate) Bei dieser Adressierungsart ist der Operand eine Konstante, die direkt hinter dem OpCode im Speicher steht. MOVE #123,D1 Lade D1 mit 123 Eine Konstante kann nur als Quelloperand auftreten, nie als Ergebnis einer Rechenoperation. Häufig wird diese Adressierung verwendet, um Register des Prozessors mit Startwerten oder Adressen vorzubelegen. In Assemblerschreibweise wird der Konstanten beim das Zeichen # vorangestellt. absolute Adressierung (direct, absolute) Die effektive Adresse des Operanden befindet sich als absolute Adresse direkt im Anschluß an den Opcode im Speicher. In der Assemblersyntax (68000) steht die Adresse ohne spezielle Kennzeichnung als Zahlenwert direkt hinter dem Opcode.

2 Registeradressierung (register direct) Der Operand steht in einem der Prozessorregister. Die Adresse steht als kurze Registeradresse im OpCode. Als Register können universelle Register wie z.b. Datenregister oder Adreßregister, aber auch spezielle Register wie Stackpointer, Statusregister usw. angesprochen werden. CLR D1 Lösche D1 Registerindirekte Adressierung (register indirect) Die effektive Adresse steht in einem Register, üblicherweise in einem Adreßregister, der Operand steht im Speicher. Diese Adressierungsart hat gegenüber der absoluten Adressierung den Vorteil, daß beim Holen des Befehls die Operandenadresse nicht gelesen werden muß. Sie wird eingesetzt, wenn innerhalb eines Programmteils häufig auf dieselbe Operandenadresse zugegriffen wird. In Assemblersyntax wird der Name des zur Adressierung verwendeten Registers in Klammern geschrieben. MOVE D1,(A1) Lade die Speicherstelle, mit der Adresse in A1 mit D1.

3 Registerindirekte Adressierung mit Postinkrement Bei der Adressierung wird der Inhalt des verwendeten Adreßregisters verändert. Beim Postinkrement wird nach der Verwendung der Adresse der Inhalt des Registers inkrementiert, wobei das Inkrement abhängig von der Datenbreite des adressierten Operanden die Werte 1, 2 oder 4 annehmen kann. Diese Anpassung der Schrittweite nennt man Skalierung, da das Inkrement mit dem skalaren Faktor 1,2 oder 4 multipliziert wird. Wird zum Beispiel mit dem Befehl MOVE.B D1, (A1)+ ein Byte vom Datenregister D1 in den Speicher kopiert, so wird A1 anschließend um den Wert 1 erhöht. Wird mit MOVE.L D1, (A1)+ ein Langwort, also 4 Byte kopiert, so wird A1 entsprechend um den Wert 4 inkrementiert. Nach der Befehlausführung zeigt daher das Adreßregister immer auf das nächste Datenwort im Speicher. Diese Adressierungsart eignet sich für die Bearbeitung von Datenfeldern in einer Schleife, wie das Beispiel 5.5 zeigt. Soll das Feld nicht byteweise, sondern wortweise mit 1 belegt werden, so muß nur move.b durch move.w ersetzt werden, die Adreßberechnung passt sich automatisch an. Im folgenden Programmausschnitt werden die Elemente eines Feldes mit dem ; Wert 1 vorbelegt. FELDANF equ ; Startadresse des Feldes FELDEND equ FELDANF+100 ; Endadresse des Feldes move.l #FELDANF,A1 ; Startadresse ins Register A1 LOOP move.b #1, (A1)+ ; 1 in das akt. Feldelement cmp.l FELDEND, A1 ; Vergleich auf Feldende ble LOOP ; Verzweigung zu LOOP, falls ; Feldende noch nicht erreicht ist

4 Registerindirekte Adressierung mit Prädekrement Das Gegenstück zum Postinkrement ist die Adressierung mit Prädekrement. Hierbei wird vor dem Speicherzugriff der Inhalt des Adressregisters dekrementiert. Diese Adressierungsart wird durch ein Minuszeichen vor dem Adreßregister symbolisiert. Wird als Adreßregister der Stackpointer verwendet, so ersetzen diese beiden Adressierungsarten die Befehle PUSH und POP zur Stackverwaltung Registerindirekte Adressierung mit Displacement Bei der Adressierung mit Displacement wird die effektive Adresse aus dem Inhalt eines Adreßregisters und einer konstanten Adreßdistanz (Displacement) berechnet. Das Displacement ist vorzeichenbehaftet (2er-Komplement) und erlaubt so eine positive und negative Adreßdistanz zur Basisadresse im Adreßregister. Diese Methode wird beim Zugriff auf Daten verwendet, die in einer festen Struktur im Speicher vorliegen, wie z.b. Directoryeinträge im Dateiverwaltungssystem oder Register eines Peripheriebausteins. Durch Ändern der Basisadresse im Adreßregister wird so auf das gleiche Element im nächsten Datensatz zugegriffen bzw. es kann eine variable IO-Basisadresse berücksichtigt werden. In der Assemblersyntax wird das Displacement durch eine Zahl vor dem Adreßregister angegeben.

5 Indizierte Adressierung mit Displacement Wird neben einer Konstanten noch eine variable Adreßdistanz benötigt, die erst zur Laufzeit eines Programms feststeht, so wird die indizierte Adressierung verwendet. Die effektive Adresse wird hier aus der Basisadresse in einem Adreßregister, einem konstanten und einem variablen Adreßversatz aus einem weiteren Register berechnet MOVE D1,$5(A1,D0) Lade die Speicherstelle an der Adresse A1+D0+$5 mit D1.

6 PC-relative Adressierung Eine interessante Variante ist die Verwendung des Befehlszählers (program counter) als Adreßregisters. Die effektive Adresse wird hier immer mit Bezug zum aktuellen Befehlszähler gebildet, d.h. alle Adressen werden nur mehr als relativer Adreßabstand zum Befehlszähler abgespeichert. Die befehlszählerrelative Adressierung ermöglicht es, ein übersetztes Programm mitsamt Daten und Konstanten im Speicher zu verschieben. Der Befehlszähler darf dabei natürlich nicht verändert werden, da sonst das Programm nicht mehr korrekt ablaufen würde. Von den bisher vorgestellten Methoden eignen sich daher nur die indizierte Adressierung oder die Adressierung mit Displacement zur PC-relativen Adressierung. Die Assemblersyntax verwendet die bereits besprochene Schreibweise, statt einem Adreßregister steht in Klammern das Symbol PC für ProgramCounter.

7

8 Assemblerprogramm 1 ; Es werden alle Zahlen von einem Startwert bis zu einem Endwert addiert 2 org $10000 ; Startadresse des Programms 3 STEP equ 1 ; Schrittweite wird als Konstante vereinbart 4 5 clr D0 ; Register D0 wird gelöscht 6 move FIRST,D1 ; Startwert ins Register D1 7 SCH add D1, D0 ; D1 wird zu D0 addiert, ; Ergebnis in D0 8 add #STEP,D1 ; D1 wird um Schrittweite inkrementiert 9 cmp LAST, D1 ; Vergleich von D1 mit dem Endwert 10 ble SCH ; Verzweigung zu SCH, falls Endwert ; noch nicht erreicht ist 11 move D0, SU ; Ergebnis wird in den Speicher kopiert 12 stop # FIRST dc.w 1 ; Speicherplatz für Startwert 15 LAST dc.w 100 ; und Endwert 16 SU ds.w 1 ; Speicherplatz für Ergebnis end ; Ende des Programms Maschinencode im Speicher in hexadezimaler Schreibweise Zeilen nr Adresse OpCode Operandenadres se D A D27C E B F00 FFF C E 4E

9

Mikrocomputertechnik - Programmierung

Mikrocomputertechnik - Programmierung 3 Programmierung Assembler Aufgaben: Übersetzt mnemotechnische Abkürzungen (z.b. move, add...) in die Maschinenbefehle des Prozessors Ermöglicht die Vergabe von Namen für Speicheradressen (Label) Berechnet

Mehr

Technische Informatik 2 Adressierungsarten

Technische Informatik 2 Adressierungsarten Technische Informatik 2 Adressierungsarten Prof. Dr. Miroslaw Malek Sommersemester 2009 www.informatik.hu-berlin.de/rok/ca Thema heute X-Adressmaschine 0-Adressmaschine 1-Adressmaschine 2-Adressmaschine

Mehr

Kurzübersicht MC68000 Mikroprozessor Dokumentversion 1.0 Sebastian Steinhorst

Kurzübersicht MC68000 Mikroprozessor Dokumentversion 1.0 Sebastian Steinhorst Hardwarearchitekturen und Rechensysteme Sommersemester 2009 Kurzübersicht MC68000 Mikroprozessor Dokumentversion 1.0 Sebastian Steinhorst Dieses Dokument erhebt keinen Anspruch auf Vollständigkeit, sondern

Mehr

DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE

DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE D - CA - IV - AA - 1 HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK Vorlesung 4 DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE Sommersemester 2003 Leitung:

Mehr

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

Mehr

Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c

Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c 1 Transportbefehle 1.1 Verwendung nur Akku und Register (R0, R1,... R7) 1.1.1 Kopieren Sie den Wert aus Register1 nach

Mehr

Assembler-Programmierung

Assembler-Programmierung Assembler-Programmierung Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Assembler-Programmierung 1/48 2012-02-29 Assembler-Programmierung

Mehr

68000 Assembler. WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren.

68000 Assembler. WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren. WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren. Ein Programm liegt der CPU in binärer Form vor und wird durch den Assembler in einer primitiven

Mehr

Prozessor HC680 fiktiv

Prozessor HC680 fiktiv Prozessor HC680 fiktiv Dokumentation der Simulation Die Simulation umfasst die Struktur und Funktionalität des Prozessors und wichtiger Baugruppen des Systems. Dabei werden in einem Simulationsfenster

Mehr

Technische Informatik 1

Technische Informatik 1 Technische Informatik 1 2 Instruktionssatz Lothar Thiele Computer Engineering and Networks Laboratory Instruktionsverarbeitung 2 2 Übersetzung Das Kapitel 2 der Vorlesung setzt sich mit der Maschinensprache

Mehr

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

Mehr

1. Übung - Einführung/Rechnerarchitektur

1. Übung - Einführung/Rechnerarchitektur 1. Übung - Einführung/Rechnerarchitektur Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: Was ist Hard- bzw. Software? a Computermaus b Betriebssystem c Drucker d Internetbrowser

Mehr

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

Mehr

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)

Mehr

Der Toy Rechner Ein einfacher Mikrorechner

Der Toy Rechner Ein einfacher Mikrorechner Der Toy Rechner Ein einfacher Mikrorechner Dr. Gerald Heim Haid-und-Neu-Str. 10-14 76131 Karlsruhe 16. Mai 1995 Allgemeine Informationen 2 Quelle: Phil Kopmann, Microcoded versus Hard-Wired Logic, Byte

Mehr

Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen:

Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: 1 ADRESSIERUNG IN MMIX Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: no base address is close enough to the address A! relative address

Mehr

Wer in der Grundschule ein wenig aufgepasst hat, sollte in der Lage sein schriftlich eine Zahl durch eine zweite zu teilen.

Wer in der Grundschule ein wenig aufgepasst hat, sollte in der Lage sein schriftlich eine Zahl durch eine zweite zu teilen. Teilen binär Teil 1 - Vorzeichenlose Ganzzahlen ============ Irgendwann steht jeder Programmieren vor diesem Problem. Wie teile ich eine Binärzahl durch eine zweite? Wer in der Grundschule ein wenig aufgepasst

Mehr

Ergänzungen zum Manual OS V 2.05/2.06

Ergänzungen zum Manual OS V 2.05/2.06 Ergänzungen zum Manual OS V 2.05/2.06 SYSTEMRESOURCEN - PROGRAMM DOWNLOAD - Ab der Betriebssystemversion 2.05 haben die C-Control Units M-2.0 und Station 2.0 die Möglichkeit das Anwenderprogramm von einem

Mehr

68000 Assembler J. Teepe

68000 Assembler J. Teepe 68 Assembler J. Teepe 2 J. Teepe 68 Assembler Inhaltsverzeichnis I N H A L T S V E R Z E I C H N I S Kapitel Einführung... 7. Übersicht der Computersprachen... 7.. Maschinencode - Assembler... 8..2 Höhere

Mehr

INFORMATIK Oberstufe. Funktionsweise eines Rechners

INFORMATIK Oberstufe. Funktionsweise eines Rechners INFORMATIK Oberstufe Funktionsweise eines Rechners Lehrplan Inf 12.3 (ca. 17 Std.): Grundlegende Kenntnisse über den Aufbau eines Rechners und seiner prinzipiellen Funktionsweise helfen den Schülern, den

Mehr

Die Daten (Befehle und numerische Daten) werden in Form von BIT-Folgen verarbeitet.

Die Daten (Befehle und numerische Daten) werden in Form von BIT-Folgen verarbeitet. Übung Nr. 1b: MIKROPROZESSOR, Hewlett - Packard µ-lab en sind kleine Computer, die mit externen Geräten Daten austauschen können. Sie verfügen über Speicher, um Programme und Daten zu speichern und Eingangsund

Mehr

3.0 8051 Assembler und Hochsprachen

3.0 8051 Assembler und Hochsprachen 3.0 8051 Assembler und Hochsprachen Eine kurze Übersicht zum Ablauf einer Programmierung eines 8051 Mikrocontrollers. 3.1 Der 8051 Maschinencode Grundsätzlich akzeptiert ein 8051 Mikrocontroller als Befehle

Mehr

Tutorübung 7: Mikroprogrammierung I

Tutorübung 7: Mikroprogrammierung I Tutorübung 7: Mikroprogrammierung I Vorlesung Einführung in die Technische Informatik (ETI) Lehrstuhl für Rechnertechnik und Rechnerorganisation Institut für Informatik 10 Technische Universität München

Mehr

Befehlssatz AVR RISC Controller

Befehlssatz AVR RISC Controller Befehlssatz AVR RISC Controller Design-Philosophie des AVR Befehlssatzes Assembler-Sprache AVR-Befehlssatz Philosophie RISC = Reduced Instruction Set Computing keine komplexen Befehle möglichst symmetrischer

Mehr

Übungscomputer mit Prozessor 8085 - Bedienungsanleitung

Übungscomputer mit Prozessor 8085 - Bedienungsanleitung Seite 1 von 9 Pinbelegung der Steckerleisten im Übungsgerät Seite 2 von 9 Inbetriebnahme: Schalter S1, S2, und S3 in Stellung 1 (oben) schalten. Spannung 5 V anlegen. ACHTUNG auf Polarität achten. Taste

Mehr

12. Maschinennahes Programmieren

12. Maschinennahes Programmieren 12. Maschinennahes Programmieren Der Kern jedes Computers oder jeder Microcontroller-gestützten Schaltung ist ein Prozessor: in Hochleistungsservern sind es 64-Bit-Prozessoren (z.b. vom Typ Spark oder

Mehr

HC680 PROGRAMMER'S REFERENCE MANUAL

HC680 PROGRAMMER'S REFERENCE MANUAL HC680 PROGRAMMER'S REFERENCE MANUAL Programmieranleitung Mnemonic Assembler Maschinenbefehl Wirkung /Bedeutung Register (0 bis 3 allg. Reg.) Ope- Opcode/Binärcode - Adressierungsart - Nr Bez. xx Bin Art

Mehr

LCD-Display am MVUS 80535 (nur einfachste Betriebsweise im Text Display Modus - ausführliche Beschreibung )

LCD-Display am MVUS 80535 (nur einfachste Betriebsweise im Text Display Modus - ausführliche Beschreibung ) Prof. Komar - 1 - LCD-Display LCD-Display am MVUS 80535 (nur einfachste Betriebsweise im Text Display Modus - ausführliche Beschreibung ) Das LCD-Modul TLX-1021 besteht aus einem - LCD-Panel mit 120 x

Mehr

5.BMaschinensprache und Assembler

5.BMaschinensprache und Assembler Die Maschinenprogrammebene eines Rechners Jörg Roth 268 5.BMaschinensprache und Assembler Die vom Prozessor ausführbaren Befehle liegen im Binärformat vor. Nur solche Befehle sind direkt ausführbar. So

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

2. Rechnerarchitektur 2.1 einfache Computer

2. Rechnerarchitektur 2.1 einfache Computer Fakultät Informatik Institut Systemarchitektur Professur Rechnernetze WS 2012 LV Informatik-I für Verkehrsingenieure 2. Rechnerarchitektur 2.1 einfache Computer Dr. rer.nat. D. Gütter Mail: WWW: Dietbert.Guetter@tu-dresden.de

Mehr

4.2 Universalrechner: Schaltung unabhängig vom Problem 185

4.2 Universalrechner: Schaltung unabhängig vom Problem 185 4.2 Universalrechner: Schaltung unabhängig vom Problem 85 a) Geben Sie binär die Befehlsworte an, mit denen Sie die Eingänge a, b und c in die Register R, R2 und R übernehmen. K D M4 M M2 M Kommentar XXXXXXXXXXX

Mehr

7 Ein einfacher CISC-Prozessor

7 Ein einfacher CISC-Prozessor 7 Ein einfacher CISC-Prozessor In diesem Kapitel wird ein einfacher Prozessor vorgestellt. Die Architektur, die wir implementieren, wurde von R. Bryant und D. O Hallaron entworfen und verwendet eine Untermenge

Mehr

Grundlagen der Programmiersprache C++

Grundlagen der Programmiersprache C++ / TU Braunschweig Grundlagen der Programmiersprache C++ Um den Studierenden den Einstieg in die FE-Programmierung zu erleichtern werden die wesentlichen Elemente eines C-Programmes beschrieben, soweit

Mehr

Mikrocomputertechnik. Einadressmaschine

Mikrocomputertechnik. Einadressmaschine technik Einadressmaschine Vorlesung 2. Mikroprozessoren Einführung Entwicklungsgeschichte Mikroprozessor als universeller Baustein Struktur Architektur mit Akku ( Nerdi) FH Augsburg, Fakultät für Elektrotechnik

Mehr

7a. Rechnerarchitektur und Grundzüge der Assemblerprogrammierung

7a. Rechnerarchitektur und Grundzüge der Assemblerprogrammierung 7a. Rechnerarchitektur und Grundzüge der Assemblerprogrammierung Inhalt: Schichtenmodell x86-architektur und x86-assemblerprogrammierung Assemblersprache und Einbindung in C 1 Schichtenmodell Strukturierung

Mehr

Rechnerarchitektur und Betriebssysteme (CS201): AVR-CPU und -Assembler

Rechnerarchitektur und Betriebssysteme (CS201): AVR-CPU und -Assembler Rechnerarchitektur und Betriebssysteme (CS201): AVR-CPU und -Assembler 1. Oktober 2013 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik, Universität Basel Wiederholung / Diskussion 1.

Mehr

Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online

Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online Themen heute Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online Besprechung des 3. Übungsblattes Aufgabe 3 Speicherplätze für Mikrocode-Anweisungen

Mehr

Die Befehle mit dem Ziel IP sind nichts anderes als Sprungbefehle, sie sind unten noch mal aufgeführt.

Die Befehle mit dem Ziel IP sind nichts anderes als Sprungbefehle, sie sind unten noch mal aufgeführt. Die Befehle des Modellrechners in übersichtlichen Tabellen: Alle Opcodes sind Hexadezimal angegeben (s.u.). 1.) Die Ladebefehle zwischen den einzelnen Registern. In der oberen Zeile steht jeweils die Quelle

Mehr

Maschinensprache und Assembler

Maschinensprache und Assembler 4. Befehle, die ein Digitalrechner ausführen soll, müssen binär codiert vorliegen. Diese Befehle werden als Maschinenbefehle bezeichnet. Will man z.b. beim 8051 den Inhalt des Accus in das Register R2

Mehr

Was kann ein Assembler?

Was kann ein Assembler? Assemblerprogrammierung Assembler und Maschinensprache Befehle und Pseudo-Befehle C-Konstrukte in Assembler übersetzt Aufrufkonventionen (ABI) Der netwide assembler nasm Binärformate Was ist ein Assembler?

Mehr

Institut für Informatik Prof. Dr. D. Hogrefe Dipl.-Inf. R. Soltwisch, Dipl.-Inform. M. Ebner, Prof. Dr. D. Hogrefe Informatik II - SS 04.

Institut für Informatik Prof. Dr. D. Hogrefe Dipl.-Inf. R. Soltwisch, Dipl.-Inform. M. Ebner, Prof. Dr. D. Hogrefe Informatik II - SS 04. Kontrollstrukturen Informatik II SS 2004 Teil 4: Assembler Programmierung Sprünge (bedingte und unbedingte) If-then-else, Case Loop (n Durchläufe) While (Abbruchbedingung) Institut für Informatik Prof.

Mehr

Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015

Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015 Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015 Ziele der Übung Aufgabe 1 Aufbau und Aufruf von Funktionen in Assembler Codeanalyse

Mehr

Unterprogramme, Pointer und die Übergabe von Arrays

Unterprogramme, Pointer und die Übergabe von Arrays Unterprogramme, Pointer und die Übergabe von Arrays Unterprogramme Wie schon im Abschnitt über Funktionen erwähnt, versteht man unter einem Unterprogramm im engeren Sinn eine Prozedur, welche die Werte

Mehr

Einführung in AVR Assembler

Einführung in AVR Assembler Einführung in AVR Assembler Dennis Fassbender Institut für Technik Autonomer Systeme (LRT8) Universität der Bundeswehr München 09042014 Was ist Assembler? Low-level-Programmiersprache Erlaubt direkten

Mehr

Der MS-DOS Standardmonitor und Debugger DEBUG

Der MS-DOS Standardmonitor und Debugger DEBUG Einfache Assemblerprogrammierung mit DOS-DEBUG 1/7 Auf Personalcomputern kann in der Regel leicht eine einfache Umgebung zur Software-Entwicklung für die Intel Rechnerfamilie 80x86 eingerichtet werden.

Mehr

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper Speicherverwaltung Real Mode Nach jedem starten eines PC befindet sich jeder x86 (8086, 80386, Pentium, AMD) CPU im sogenannten Real Mode. Datenregister (16Bit) Adressregister (20Bit) Dadurch lassen sich

Mehr

IT- Handbuch für Fachinformatiker, 7. Auflage: Text- Lösungen Sascha Kersken

IT- Handbuch für Fachinformatiker, 7. Auflage: Text- Lösungen Sascha Kersken IT- Handbuch für Fachinformatiker, 7. Auflage: Text- Lösungen Sascha Kersken Im Folgenden finden Sie jeweils die korrekte Antwort zu den im Buch abgedruckten Prüfungsfragen, soweit die Antworten in Textform

Mehr

Karlsruher Institut für Technologie

Karlsruher Institut für Technologie Karlsruher Institut für Technologie Lehrstuhl für Programmierparadigmen Sprachtechnologie und Compiler WS 2010/2011 Dozent: Prof. Dr.-Ing. G. Snelting Übungsleiter: Matthias Braun Lösung zu Übungsblatt

Mehr

Betriebssysteme Teil 4: Übersetzung von C-Programmen

Betriebssysteme Teil 4: Übersetzung von C-Programmen Betriebssysteme Teil 4: Übersetzung von C-Programmen 18.10.13 1 Übersicht Übersetzungsprozess gcc(i) als Steuerprogramm Assembler Binder Hauptprogramme in C In dieser Einheit werden nur die Grundprinzipien

Mehr

Steuern des GSR-Interface mit QBasic

Steuern des GSR-Interface mit QBasic Steuern des GSR-Interface mit QBasic Erstellt von Jochen Sendler, Geschwister-Scholl-Realschule Mannheim Inhaltsverzeichnis 1. Die Programmiersprache QBasic 3 2. Starten von QBasic 3 3. Ansteuern einzelner

Mehr

Kapitel 04: Das erste Projekt Abschnitt 04: Überblick über das Programm

Kapitel 04: Das erste Projekt Abschnitt 04: Überblick über das Programm Kapitel 04: Das erste Projekt Abschnitt 04: Überblick über das Programm Beim Durchgehen des Programms will ich die verschiedenen Abschnitte zeigen, aus denen jedes ATmega-Assemblerprogramm besteht. Da

Mehr

0 C (Carry) Überlauf des 8ten Bits. 1 DC (Digit Carry) Überlauf des 4ten Bits. Mnemonic Parameter Beschreibung Status-Flags.

0 C (Carry) Überlauf des 8ten Bits. 1 DC (Digit Carry) Überlauf des 4ten Bits. Mnemonic Parameter Beschreibung Status-Flags. 3. Assembler-Programmierung Der PIC 16F84A Microcontroller kennt 35 verschiedene Befehle. Für eine ausführliche Beschreibung aller Befehle siehe PIC16F84A-Datenblatt Kapitel 7.1. 3.1 Wichtige Flaggen im

Mehr

Instruktionssatz-Architektur

Instruktionssatz-Architektur Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Übersicht 1 Einleitung 2 Bestandteile der ISA 3 CISC / RISC Übersicht 1 Einleitung 2 Bestandteile

Mehr

Mikroprozessortechnik

Mikroprozessortechnik Lehrplan Mikroprozessortechnik Höhere Berufsfachschule für Automatisierungstechnik Ministerium für Bildung Hohenzollernstraße 60, 66117 Saarbrücken Postfach 10 24 52, 66024 Saarbrücken Saarbrücken 2010

Mehr

L3. Datenmanipulation

L3. Datenmanipulation L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus

Mehr

3 Rechnen und Schaltnetze

3 Rechnen und Schaltnetze 3 Rechnen und Schaltnetze Arithmetik, Logik, Register Taschenrechner rste Prozessoren (z.b. Intel 4004) waren für reine Rechenaufgaben ausgelegt 4 4-Bit Register 4-Bit Datenbus 4 Kbyte Speicher 60000 Befehle/s

Mehr

1.7 Assembler Programmierung

1.7 Assembler Programmierung 1.7 Assembler Programmierung Die nach außen sichtbare Programmierschnittstelle eines Prozessors ist der Befehlscode. Dies ist eine binäre Dateninformation, die vom Prozessor Byte für Byte abgearbeitet

Mehr

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF ITS Teil 2: Rechnerarchitektur 1. Grundschaltungen der Digitaltechnik a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF b. Zähler (Bsp. 4-Bit Zähler) - Eingang count wird zum Aktivieren

Mehr

Klausur zur Mikroprozessortechnik

Klausur zur Mikroprozessortechnik Prof. Dr. K. Wüst WS 2001 FH Gießen Friedberg, FB MNI Studiengang Informatik Klausur zur Mikroprozessortechnik Nachname: Vorname: Matrikelnummer: 7.3.2001 Punkteverteilung Aufgabe Punkte erreicht 1 3 2

Mehr

VisualBasic - Variablen

VisualBasic - Variablen Typisch für alle Basic-Dialekte ist die Eigenschaft, dass Variablen eigentlich nicht deklariert werden müssen. Sobald Sie einen Bezeichner schreiben, der bisher nicht bekannt war, wird er automatisch angelegt

Mehr

x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013

x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013 x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013 1 / 53 Inhaltsverzeichnis 1 Einführung 2 Assembler Syntax, Register und Flags 3 Hauptspeicher 4 Stack 5 Assemblerbefehle

Mehr

Hinweise 80x86-Architektur

Hinweise 80x86-Architektur Hinweise 80x86-Architektur Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Hinweise 80x86-Architektur

Mehr

3 Variablen. 3.1 Allgemeines. 3.2 Definition und Verwendung von Variablen

3 Variablen. 3.1 Allgemeines. 3.2 Definition und Verwendung von Variablen 3 Variablen 3.1 Allgemeines Variablen werden in Prozeduren, Mustern und Parameter-Dokumenten definiert und verwendet und bei der Jobgenerierung durch die Werte, die ihnen zugewiesen werden, ersetzt. Variablen

Mehr

Fehlerkorrektur Bild 3.190 Demoprozessor

Fehlerkorrektur Bild 3.190 Demoprozessor 7 Prozessor 3 0 Flags C V N Z A IP 0 SP AB 8 MS W/R DB 4 00h..6Fh Daten Speicher 70h..70h PA 71h..71h PB 72h..73h PC 74h..76h PD 80h..FFh Programm Speicher Fehlerkorrektur Bild 3.190 Demoprozessor Die

Mehr

Skriptum Mikrocontroller-Systeme. Kapitel 6: Kapitel 7:

Skriptum Mikrocontroller-Systeme. Kapitel 6: Kapitel 7: Hochschule Karlsruhe Fakultät Elektro- und Informationstechnik Studiengang Energie- und Automatisierungstechnik Skriptum Mikrocontroller-Systeme Kapitel 6: Befehlssatz des Mikrocontrollers C517 Kapitel

Mehr

3 Assembler- und Maschinenbefehle, Programmablauf-Steuerung

3 Assembler- und Maschinenbefehle, Programmablauf-Steuerung 3 Assembler- und Maschinenbefehle, Programmablauf-Steuerung In der Vorlesung wurde folgendes Beispiel-Programm in der höheren Programmiersprache C vorgestellt: int x=0; int i= 0; for (i=1;i

Mehr

Multitasking / virtuelle Maschinen mittels Atmel AVR- Mikrocontrollern (Simple & Stupid)

Multitasking / virtuelle Maschinen mittels Atmel AVR- Mikrocontrollern (Simple & Stupid) VM/AVR SIMPLE & STUPID 1 Multitasking / virtuelle Maschinen mittels Atmel AVR- Mikrocontrollern (Simple & Stupid) Stand: 26. 1. 2010 Zweck: Elementare Demonstration der Mehrprogrammausführung auf Grundlage

Mehr

1 Einleitung zum RISC Prozessor

1 Einleitung zum RISC Prozessor 1 Einleitung zum RISC Prozessor Wesentliche Entwicklungsschritte der Computer-Architekturen [2, 3]: Familienkonzept von IBM mit System/360 (1964) und DEC mit PDP-8 (1965) eingeführt: Gleiche Hardware-Architekturen

Mehr

Betriebssysteme Teil 6: Hardware-Schicht II

Betriebssysteme Teil 6: Hardware-Schicht II Betriebssysteme Teil 6: Hardware-Schicht II 13.11.15 1 Literatur [6-1] Engelmann, Lutz (Hrsg.): Abitur Informatik Basiswissen Schule. Duden-Verlag, 2003, S.43-53, 214-224, 239-242, S. 267-299,304-313 [6-2]

Mehr

Microsoft Excel 2013 Automatisches Ausfüllen

Microsoft Excel 2013 Automatisches Ausfüllen Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft Excel 2013 Automatisches Ausfüllen Automatisches Ausfüllen in Excel 2013 Seite 1 von 10 Inhaltsverzeichnis Lineare Reihen erstellen...

Mehr

Stephan Brumme, SST, 2.FS, Matrikelnr. 70 25 44

Stephan Brumme, SST, 2.FS, Matrikelnr. 70 25 44 Aufgabe 33 a) Der Pseudobefehl move $rd,$rs wird als addu $rd,$0,$rs übersetzt. Dabei macht sich SPIM zunutze, dass das Register $0 immer Null ist. Somit wird das Register $rd ersetzt durch $rd=0+$rs=$rs,

Mehr

Mikroprozessor als universeller digitaler Baustein

Mikroprozessor als universeller digitaler Baustein 2. Mikroprozessor 2.1 Allgemeines Mikroprozessor als universeller digitaler Baustein Die zunehmende Integrationsdichte von elektronischen Schaltkreisen führt zwangsläufige zur Entwicklung eines universellen

Mehr

COMPILER & CODE ANALYSE. Eine Einführung in die Code Analyse auf Grundlage von Compilern und deren Optimierung. 1

COMPILER & CODE ANALYSE. Eine Einführung in die Code Analyse auf Grundlage von Compilern und deren Optimierung. 1 1 COMPILER & CODE ANALYSE Eine Einführung in die Code Analyse auf Grundlage von Compilern und deren Optimierung. 1 INHALT Einleitung Werkzeuge Compiler Aufbau Optimierung Beispiel Code Analyse Einführung

Mehr

Atmel AVR für Dummies

Atmel AVR für Dummies Atmel AVR für Dummies fd0@koeln.ccc.de 29.12.2005 Übersicht 1 Hardware Kurzvorstellung Atmega8 Programmierkabel (Eigenbau vs. Kommerzlösung) Alternative: Bootloader (Programmieren via rs232) Software Speicher

Mehr

Wie arbeiten Computer?

Wie arbeiten Computer? Autor: Ortmann, Jürgen. Titel: Wie arbeiten Computer? Quelle: Einführung in die PC-Grundlagen. München, 8. Auflage, 2003. S. 29-41. Verlag: Addison-Wesley Verlag. Die Veröffentlichung erfolgt mit freunlicher

Mehr

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär Zahlensysteme Menschen nutzen zur Angabe von Werten und zum Rechnen vorzugsweise das Dezimalsystem Beispiel 435 Fische aus dem Teich gefischt, d.h. 4 10 2 + 3 10 1 +5 10 0 Digitale Rechner speichern Daten

Mehr

Funktionaler Aufbau eines Computers Untersuchung von Delphi-Compilaten

Funktionaler Aufbau eines Computers Untersuchung von Delphi-Compilaten Funktionaler Aufbau eines Computers Im Folgenden soll der Weg untersucht werden, wie ein Programm, das von einem Compiler/Interpreter in Maschinencode übertragen wurde, schließlich vom Prozessor abgearbeitet

Mehr

Mikrocontrollerprogrammierung in Assembler und C

Mikrocontrollerprogrammierung in Assembler und C mitp Professional Mikrocontrollerprogrammierung in Assembler und C für die Mikrocontroller der 8051-Familie - Simulation unter Multisim von Herbert Bernstein 1. Auflage Mikrocontrollerprogrammierung in

Mehr

So funktioniert der Szenario-Manager

So funktioniert der Szenario-Manager So funktioniert der Szenario-Manager Eine wichtige Basis für Entscheidungen ist zu wissen, welche Annahmen zu welchen Ergebnissen führen. Ein spezielles Excel-Werkzeug ist hier eine große Hilfe: der Szenario-Manager.

Mehr

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

RO-Serie CAN-Übertragungsprotokoll

RO-Serie CAN-Übertragungsprotokoll RO-Serie CAN-Übertragungsprotokoll Juni 2009 1 EINLEITUNG...3 2 REGISTER-ZUGRIFFE...4 2.1 Was sind überhaupt Register?... 4 2.2 Registerzugriff mit 8/ 16 oder 32 Bit-Datenbreite... 4 2.3 Registerbelegung...

Mehr

Die Software-/Hardeware-Hierarchie

Die Software-/Hardeware-Hierarchie Umgangssprache Spezifikationssprache Hohe Programmiersprache Assembler Maschinencode Microcode Gatter Physik mach Primzahl i p: p(modi) > 0 for (i=; i*i

Mehr

FACHHOCHSCHULE LAUSITZ Prof. Dr.-Ing. M. Strunz Lehrgebiet Projektmanagement Übungsskript 1

FACHHOCHSCHULE LAUSITZ Prof. Dr.-Ing. M. Strunz Lehrgebiet Projektmanagement Übungsskript 1 1.3 Break-Even-Analyse FACHHOCHSCHULE LAUSITZ Prof. Dr.-Ing. M. Strunz Lehrgebiet Projektmanagement Übungsskript 1 Das folgende Beispiel behandelt die Break-Even-Analyse. Das ist ein Verfahren, bei dem

Mehr

VBA Grundlagen. VBA Grundlagen - Steuerelemente. VBA Grundlagen - Variable. VBA Grundlagen Namensbildung, Kommentar

VBA Grundlagen. VBA Grundlagen - Steuerelemente. VBA Grundlagen - Variable. VBA Grundlagen Namensbildung, Kommentar VBA Grundlagen Basic = Programmiersprache (Beginners All Purpose Symbolic Instruction Code). Wurde 1964 als einfache Programmiersprache entwickelt. Bestandteil vom Anfang des MS-DOS (1981) an als BASICA,

Mehr

Grundlagen der Adreßrechnung

Grundlagen der Adreßrechnung REHNERARHITEKTUR 2 - GRUNDLAGEN DER ADREßREHNUNG 1 Grundlagen der Adreßrechnung Im folgenden wollen wir elementare Adressierungsweisen und Rechengänge betrachten, mit denen effektive Adressen berechnet

Mehr

Zahlensysteme: Oktal- und Hexadezimalsystem

Zahlensysteme: Oktal- und Hexadezimalsystem 20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen

Mehr

Johann Wolfgang Goethe-Universität

Johann Wolfgang Goethe-Universität Flynn sche Klassifikation SISD (single instruction, single data stream): IS IS CU PU DS MM Mono (Mikro-)prozessoren CU: Control Unit SM: Shared Memory PU: Processor Unit IS: Instruction Stream MM: Memory

Mehr

lldeckblatt Migration von AWL-Programmen nach S7-1500 STEP 7 (TIA Portal) V12 FAQ Januar 2013 Service & Support Answers for industry.

lldeckblatt Migration von AWL-Programmen nach S7-1500 STEP 7 (TIA Portal) V12 FAQ Januar 2013 Service & Support Answers for industry. lldeckblatt Migration von -Programmen nach S7-1500 STEP 7 (TIA Portal) V12 FAQ Januar 2013 Service & Support Answers for industry. Migration von -Programmen nach S7-1500 Dieser Beitrag stammt aus dem Siemens

Mehr

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

Direkter Zugriff auf I/O-Ports bzw. CPU-Register

Direkter Zugriff auf I/O-Ports bzw. CPU-Register MAX-P- und P-Bibliotheken Direkter I/O-Zugriff 1 Direkter Zugriff auf I/O-Ports bzw. PU-Register Die auf dem X-MAX-1 verwendete PU AMD S400 bietet über die Standard-P- alität (486-kompatibel) hinaus eine

Mehr

Steuerungen. 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC)

Steuerungen. 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC) Steuerungen 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC) VPS - Funktion der Steuerung in der Schaltungstopologie

Mehr

Technische Informatik 2: Addressierung und Befehle

Technische Informatik 2: Addressierung und Befehle Technische Informatik 2: Addressierung und Befehle Memory Map Programm Speicher: Adresse $000-$FFF max. 4096 Byte für kompiliertes Programm Data Memory: Adresse $0000-$FFFF 32 8Bit Register 64 I/O Register

Mehr

Informationssysteme Semesterwoche 3

Informationssysteme Semesterwoche 3 Informationssysteme Semesterwoche 3 Teil 1: Zahlen und Logik A) Aufgaben zu den ganzen Zahlen 1. Konvertieren Sie die folgenden Zahlen in die Binärform: 1984 / 2 = 992 0 (LSB) / 2 = 496 0 / 2 = 248 0 /

Mehr

Konfiguratorsoftware. für. M-Bus Impulssammler

Konfiguratorsoftware. für. M-Bus Impulssammler Konfiguratorsoftware für M-Bus Impulssammler Typ : M-Count 2C Seite 2 Inhaltsverzeichnis 1. Installation des M-Bus Konfigurators...3 2. Starten des M-Bus Konfigurators...3 3. Basiskonfiguration...5 4.

Mehr

Einführung in die technische Informatik

Einführung in die technische Informatik Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen

Mehr

Übung 7. Mikroprozessor & Eingebettete Systeme 1

Übung 7. Mikroprozessor & Eingebettete Systeme 1 Übung 7 Mikroprozessor & Eingebettete Systeme 1 WS2015/2016 Hinweis: Die folgenden Aufgaben erheben nicht den Anspruch, eine tiefergehende Kenntnis zu vermitteln; sie sollen lediglich den Einstieg in weiterführende

Mehr

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht Kap.2 Befehlsschnittstelle Prozessoren, externe Sicht 2.1 elementare Datentypen, Operationen 2.2 logische Speicherorganisation 2.3 Maschinenbefehlssatz 2.4 Klassifikation von Befehlssätzen 2.5 Unterbrechungen

Mehr

9 Zeiger (Pointer). Dynamischer Speicher

9 Zeiger (Pointer). Dynamischer Speicher 9 Zeiger (Pointer). Dynamischer Speicher Jörn Loviscach Versionsstand: 25. September 2013, 18:07 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html

Mehr

Applikation 5030. Kommunikation mit der PA-CONTROL Touch über ModbusTCP

Applikation 5030. Kommunikation mit der PA-CONTROL Touch über ModbusTCP Applikation 5030 Kommunikation mit der PA-CONTROL Touch über ModbusTCP Kurzfassung: In dieser Applikationsschrift wird aufgezeigt, wie mit dem Modbus-TCP-Protokoll über die TCP/IP-Schnittstelle mit der

Mehr