1. Inhaltsverzeichnis

Ähnliche Dokumente
Zusammenfassung der Assemblerbefehle des 8051

4 Assembler für die 8051-Controller-Familie

Befehlssatz der Mikrocontroller der 51er -Familie

1 Rechnerstrukturen 1: Der Sehr Einfache Computer

Befehlssatz der Mikrocontroller der 51er -Familie

Mikrocomputertechnik

Rechnerstrukturen 1: Der Sehr Einfache Computer

Informatikgrundlagen I Grundlagen der Informatik I

Der von Neumann Computer

HC680 PROGRAMMER'S REFERENCE MANUAL

Der Toy Rechner Ein einfacher Mikrorechner

Einführung in die Informatik

Microcomputertechnik

4. Übung SPS-Programmierung

Von-Neumann-Architektur

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register

Rechnernetze und Organisation

Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab...

Mikroprozessor als universeller digitaler Baustein

MOP: Befehlsliste für den Mikrocontroller 8051

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

Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch , 14:00 Uhr

L3. Datenmanipulation

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

INFORMATIK Oberstufe. Funktionsweise eines Rechners

SPS S90U. 1. Grundlagen SPS Funktion

Die HAM. Die Hypothetische Akku-Maschine


Informatik 12 Kapitel 3 - Funktionsweise eines Rechners

Rechnerarchitektur. Inhaltsverzeichnis. M. Jakob. 1. Februar Aufbau eines Computersystems Praktische Grundlagen Von-Neumann-Rechner

Rechnerarchitektur Zusammengetragen vom Marc Landolt

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel

Prof. Dr. Sven-Hendrik Voß Sommersemester 2018 Technische Informatik (Bachelor), Semester 2 Termin 5, Maschinenorientierte Programmierung

Kontrollpfad der hypothetischen CPU

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)

Kontrollpfad der hypothetischen CPU

Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines

3. RAM als Rechnermodell

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

4. Mikroprogrammierung (Firmware)

Computer-Architektur Ein Überblick

Lösungsvorschlag zu 1. Übung

Komponenten eines Mikrocontrollers

Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega128

FAKULTÄT FÜR INFORMATIK

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

05. Assembler-Programmierung. Datenstrukturen des ATMega32. Literatur

Die Arithmetisch-Logische Einheit ALU 74181

Mikrocomputertechnik

Übungsblatt 6. Implementierung einer Befehlspipeline

Selbststudium Informationssysteme - H1102 Christian Bontekoe & Felix Rohrer

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

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

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation

N Bit Binärzahlen. Stelle: Binär-Digit:

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

Grundbegriffe der Informatik Tutorium 5

A ProgrAmmer s Guide to KIM Programming

Einstieg imperative Programmierung auf Von-Neumann-Rechnern

Labor für Prozessregelung und Rechnerverbund Anleitung zum WinMaster ( Dipl.-Ing. Peter Tarkany) Beschreibung: Dipl.-Ing.

Teil III: Wat macht ene Mikrokontroller?

Mikroprozessoren. Aufbau und Funktionsweise. Christian Richter. Ausgewählte Themen der Multimediakommunikation SS 2005

Assembler Programmierung Motivation. Informatik II SS 2004 Teil 4: Assembler Programmierung. Assembler vs. Maschinensprache

Computersysteme. Serie 11

Einführung in die Rechnerarchitektur (ERA) Zentralübung 6 am 2. Dezember 2016

Programmieren von MiniRISC-Prozessor in Assemblersprache

Rechnerarchitektur. M. Jakob. 1. Februar Gymnasium Pegnitz

Befehle zur Verarbeitung von Daten ( data processing ):

Versuch D3: Busse, Speicher und Ampelsteuerung mit Speicher

Aufbau eines Taschenrechners

MOPS. Modellrechner mit Pseudo Assembler. Version Simulation eines von Neumann Rechners mit integriertem Pseudo Assembler. vom

Vorlesung "Struktur von Mikrorechnern" (SMR)

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

Fachbereich Medienproduktion

Praktikum Mikrorechner 4 (Bitmanipulation und Spezialregister)

Die Mikroprogrammebene eines Rechners

TU ILMENAU Fak. IA - FG Neuroinformatik & Kognitive Robotik. Vorkurs Informatik September Kurs: I 1. Dr. Klaus Debes.

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden.

Übung 7 Rechnerstrukturen

Technische Informatik 2: Addressierung und Befehle

Von Assembler zu Java

Einführungsbeispiel in das Programmiersystem CoDeSys

Mikrocomputertechnik

Assembler und Hochsprachen

Prinzipieller Aufbau und Funktionsweise eines Prozessors

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

Praktikum Mikrorechner 5 (Bitadressen, Sprünge und Schleifen)

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

Transkript:

Mikrocomputer Simulator

Inhaltsverzeichnis _ 2 _ 1. Inhaltsverzeichnis 1. INHALTSVERZEICHNIS...2 2. AUFBAU UND BEDIENUNG...3 2.1. EINFÜHRUNG...3 2.1.1. TECHNISCHE DATEN... 3 2.1.2. VERWENDUNGSZWECK... 4 2.1.3. SYSTEMVORAUSSETZUNGEN... 4 2.2. KOMPONENTEN...5 2.2.1. PROZESSOR... 5 2.2.1.1. AKKUMULATOR...5 2.2.1.2. INSTRUKTIONS-REGISTER...5 2.2.1.3. PROGRAMM-COUNTER...5 2.2.2. PROGRAMMSPEICHER... 6 2.2.3. DATENSPEICHER... 6 2.2.4. EINGABE- UND AUSGABEEINHEITEN... 7 2.2.4.1. ACHT SCHALTER...7 2.2.4.2. ACHT GELBE LEUCHTDIODEN...7 2.2.4.3. 7-SEGMENTANZEIGE MIT PUNKT...8 2.2.5. TAKTGEBER... 8 3. BEFEHLSSATZ DER CPU...9 3.1. EINFÜHRUNG...9 3.2. BEFEHLSSATZ...10 3.2.1. TRANSPORTBEFEHLE... 10 3.2.2. STEUERBEFEHLE... 10 3.2.3. LEERBEFEHLE... 10 3.2.4. LOGIKBEFEHLE... 11 3.2.5. ARITHMETIKBEFEHLE... 12 3.3. BEISPIELE...13 4. PROGRAMMIERÜBUNGEN...14 4.1. TRANSPORTBEFEHLE...14 4.1.1. AUFGABE 1... 14 4.1.2. AUFGABE 2... 14 4.1.3. AUFGABE 3... 14 4.2. LOGIKBEFEHLE...15 4.2.1. AUFGABE 1... 15 4.2.2. AUFGABE 2... 15 4.2.3. AUFGABE 3... 15 4.3. ARITHMETIKBEFEHLE...16 4.3.1. AUFGABE 1... 16 4.3.2. AUFGABE 2... 16 4.3.3. AUFGABE 3... 16 4.4. STEUERBEFEHLE...17 4.4.1. AUFGABE 1... 17 4.4.2. AUFGABE 2... 17

Aufbau und Bedienung _ 3 _ 2. Aufbau und Bedienung 2.1. Einführung Bei der Applikation MIKROCOMPUTERSIMULATOR handelt es sich um die Simulation eines einfachen Computersystems. Das simulierte System besteht aus den folgenden Einheiten: Prozessor (CPU) Programmspeicher (ROM) Datenspeicher (RAM) Eingabe- und Ausgabeeinheiten (IO) Taktgenerator (Clock) Bussystem (Daten-, Adress- und Steuerbus) Der Prozessor des simulierten Systems lässt sich in der Maschinensprache (binär, hexadezimal oder dezimal) programmieren. Dank dem integrierten Assembler lassen sich Programme auch in der Assemblersprache erstellen. 2.1.1. Technische Daten Das simulierte Computersystem besitzt die folgenden technischen Daten: CPU: 8 Bit RISC CPU mit 28 Befehlen und zwei Taktzyklen pro Befehl Clock: Taktgenerator 1 bis 100 Hz ROM: 16 x 16 Bit als Programmspeicher RAM: 16 x 8 Bit RAM als Datenspeicher IO: 8 x Schalter als Eingabe IO: 1 x 7-Segmentanzeige mit Punkt als Ausgabe IO: 8 x Leuchtdioden als Ausgabe

Aufbau und Bedienung _ 4 _ 2.1.2. Verwendungszweck Mit Hilfe der Applikation MIKROCOMPUTERSIMULATOR lässt sich die Arbeitsweise eines Computersystems detailliert untersuchen. Schwierigkeiten mit der Elektrik, Elektronik oder Mechanik, wie diese beim Arbeiten mit echter Hardware oft auftreten, gibt es mit dem Simulator nicht. 2.1.3. Systemvoraussetzungen Um den einwandfreien Betrieb des Simulators zu gewährleisten, werden die folgenden minimalen Systemvoraussetzungen empfohlen: Microsoft Windows 95/98/Me/NT/2000/XP oder höher Grafik mit einer Auflösung von 1024x768 Bildpunkten bei 256 Farben

Aufbau und Bedienung _ 5 _ 2.2. Komponenten 2.2.1. Prozessor Der simulierte Prozessor (CPU) beinhaltet die folgenden drei Speicherzellen: Akkumulator Instruktions-Register Programm-Counter 2.2.1.1. Akkumulator Der AKKUMULATOR ist die Arbeitsspeicherzelle der CPU. Alle arithmetischen und logischen Maschinenbefehle verwenden und wirken auf deren Inhalt. Mit einem Klick der rechten Maustaste auf den Namen der Speicherzelle erscheint ein Menu, in dem man die Darstellung des Akkumulatorinhaltes verändern kann. Es kann zwischen dezimaler, hexadezimaler und binärer Darstellung umgeschaltet werden. 2.2.1.2. Instruktions-Register Das INSTRUKTIONS-REGISTER beinhaltet den Maschinenbefehl, der aktuell von der CPU abgearbeitet wird. Mit einem Klick der rechten Maustaste auf den Namen der Speicherzelle erscheint ein Menu, in dem man die Darstellung des INSTRUKTIONS-REGISTERINHALTES verändern kann. Es kann zwischen dezimaler, hexadezimaler, binärer und mnemonischer Darstellung umgeschaltet werden. 2.2.1.3. Programm-Counter Der PROGRAMM-COUNTER beinhaltet die Adresse einer Programmspeicherzelle. Der Inhalt dieser Programmspeicherzelle wird als nächstes in das Instruktions-Register geladen und ausgeführt. Nach einem Reset der CPU, z.b. durch Betätigen des Knopfes RESET CPU, zeigt der PROGRAMM- COUNTER auf die Programmspeicherzelle 100 H. Alle Steuerbefehle wirken auf den Inhalt des PROGRAMM-COUNTERS und steuern so den Programmablauf. Mit einem Klick der rechten Maustaste auf den Namen der Speicherzelle erscheint ein Menu, in dem man die Darstellung des PROGRAMM-COUNTERINHALTES verändern kann. Es kann zwischen dezimaler, hexadezimaler und binärer Darstellung umgeschaltet werden.

Aufbau und Bedienung _ 6 _ 2.2.2. Programmspeicher Der simulierte Programmspeicher (ROM) beinhaltet 16 Speicherzellen mit einer Grösse von je 16 Bit. Die Speicherzellen besitzen die Adressen 100 H bis 10FH und werden als Programmspeicher verwendet. Mit einem Klick der rechten Maustaste auf den Ausdruck ROM erscheint ein Menu: Mit DEZ, HEX, BIN und MNEMONIC kann die Darstellung des Programmspeicherinhaltes verändert werden. Es kann zwischen dezimaler, hexadezimaler, binärer und mnemonischer Darstellung umgeschaltet werden. Mit CLEAR ROM kann der Inhalt sämtlicher Programmspeicherzellen auf 0 gesetzt werden. Mit SAVE ROM kann der gesamte Inhalt des ROMs in einem File (*.asm) gespeichert werden. Name und Pfad können frei gewählt werden. Mit LOAD ROM kann der gesamte Inhalt des ROMs aus einem File (*.asm) geladen werden. Name und Pfad können frei gewählt werden. 2.2.3. Datenspeicher Der simulierte Datenspeicher (RAM) beinhaltet 16 Speicherzellen mit einer Grösse von je 8 Bit. Die Speicherzellen besitzen die Adressen 500 H bis 50FH und werden als Datenspeicher verwendet. Mit einem Klick der rechten Maustaste auf den Ausdruck RAM erscheint ein Menu: Mit DEZ, HEX und BIN kann die Darstellung des Datenspeicherinhaltes verändert werden. Es kann zwischen dezimaler, hexadezimaler und binärer Darstellung umgeschaltet werden. Mit CLEAR RAM kann der Inhalt sämtlicher Programmspeicherzellen auf 0 gesetzt werden.

Aufbau und Bedienung _ 7 _ 2.2.4. Eingabe- und Ausgabeeinheiten 2.2.4.1. Acht Schalter Die simulierte Eingabeeinheit beinhaltet eine Speicherzelle mit einer Grösse von 8 Bit. Die Speicherzelle besitzt die Adresse 7FD H. Weiter sind acht Schalter S0 bis S7 vorhanden, welche mit der linken Maustaste einzeln ein- oder ausgeschalten werden können. Die Schalter beeinflussen direkt den Inhalt der Speicherzelle 7FD H. Mit einem Klick der rechten Maustaste auf den Ausdruck IO erscheint ein Menu: Mit DEZ, HEX und BIN kann die Darstellung des Speicherzelleninhaltes verändert werden. Es kann zwischen dezimaler, hexadezimaler und binärer Darstellung umgeschaltet werden. Mit CLEAR IO kann der Inhalt der Speicherzellen auf 0 gesetzt und die acht Tasten ausgeschalten werden. 2.2.4.2. Acht gelbe Leuchtdioden Die simulierte Ausgabeeinheit beinhaltet eine Speicherzelle mit einer Grösse von 8 Bit. Die Speicherzelle besitzt die Adresse 7FE H. Weiter sind acht gelbe Leuchtdioden (LED) L0 bis L7 vorhanden. Die Leuchtdioden werden direkt durch den Inhalt der Speicherzelle 7FE H beeinflusst. Mit einem Klick der rechten Maustaste auf den Ausdruck IO erscheint ein Menu: Mit DEZ, HEX und BIN kann die Darstellung des Speicherzelleninhaltes verändert werden. Es kann zwischen dezimaler, hexadezimaler und binärer Darstellung umgeschaltet werden. Mit CLEAR IO kann der Inhalt der Speicherzellen auf 0 gesetzt und die acht Leuchtdioden ausgeschalten werden.

Aufbau und Bedienung _ 8 _ 2.2.4.3. 7-Segmentanzeige mit Punkt Die simulierte Ausgabeeinheit beinhaltet eine Speicherzelle mit einer Grösse von 8 Bit. Die Speicherzelle besitzt die Adresse 7FFH. Weiter sind acht grüne Leuchtsegmente (7- Segmentanzeige) A bis H vorhanden. Die Leuchtsegmente werden direkt durch den Inhalt der Speicherzelle 7FFH beeinflusst. Mit einem Klick der rechten Maustaste auf den Ausdruck IO erscheint ein Menu: Mit DEZ, HEX und BIN kann die Darstellung des Speicherzelleninhaltes verändert werden. Es kann zwischen dezimaler, hexadezimaler und binärer Darstellung umgeschaltet werden. Mit CLEAR IO kann der Inhalt der Speicherzellen auf 0 gesetzt und die acht Leuchtsegmente ausgeschalten werden. 2.2.5. Taktgeber Mit dem simulierten Taktgeber (Clock) lassen sich Taktfrequenzen von 1 bis 100 Hz für den Prozessor erzeugen. Die drei Knöpfe STOP, STEP und RUN haben die folgende Funktion: Ist der Knopf STOP gedrückt, so ist der Taktgeber ausgeschalten und der Prozessor ist nicht aktiv. Wird der Knopf STEP gedrückt, so produziert der Taktgeber einen Takt und der Prozessor führt eine einzige Aktion durch. Ist der Knopf START gedrückt, so ist der Taktgeber eingeschalten und der Prozessor ist aktiv.

Befehlssatz der CPU _ 9 _ 3. Befehlssatz der CPU 3.1. Einführung Es stehen 28 Maschinenbefehle zur Verfügung um die CPU der Applikation MIKROCOMPUTERSIMULATOR zu programmieren. Jeder Maschinenbefehl ist 16 Bit lang und wird in zwei Taktzyklen abgearbeitet. Mit dem ersten Takt wir der Befehl vom ROM in das Instruktions-Register der CPU geladen und mit dem zweiten Takt dann ausgeführt. Jeder Maschinenbefehl besteht aus einem Operations- und einem Operandenteil, wobei der Operandenteil nicht bei jedem Maschinenbefehl verwendet wird. Der 5 Bit grosse Operationsteil eines Maschinenbefehls wird durch einen Namen gekennzeichnet. Diese Kennzeichnung nennt man mnemonische Abkürzung. Der Name beschreibt die Funktion des Maschinenbefehls (z.b. ADD für Addition). Der 11 Bit grosse Operandenteil gibt Ziel, Quelle oder Konstante einer Operation an. Der Befehlssatz der CPU gliedert sich in 5 Gruppen welche auf den folgenden Seiten aufgelistet und genauer beschrieben werden: Transportbefehle Steuerbefehle Leerbefehle Logikbefehle Arithmetikbefehle

Befehlssatz der CPU _ 10 _ 3.2. Befehlssatz 3.2.1. Transportbefehle Es stehen drei Maschinenbefehle zur Verfügung um 8 Bit-Daten in den Akkumulator oder vom Akkumulator weg zu bringen. Mnemonic: Beschreibung: Maschinencode: LD #cch LOAD Lädt den Akkumulator mit dem konstantem Wert cch. 2000 H LD aaah LOAD Lädt den Akkumulator mit dem Datenspeicherzellen-Inhalt der Adresse 2800 H aaah. STR aaah STORE Speichert den Akkumulator-Inhalt in der Datenspeicherzelle der Adresse aaah. 3000 H 3.2.2. Steuerbefehle Es stehen drei Maschinenbefehle zur Verfügung um den Programmfluss zu steuern. Diese bewirken das bedingte oder unbedingte Unterbrechen des sequenziellen Programmablaufes um an einer anderen Stelle fortzufahren. Mnemonic: Beschreibung: Maschinencode: JMP oooh JUMP Verzweigt zur Programmadresse oooh. 0800 H JZ oooh JUMP IF ZERO Verzweigt zur Programmadresse oooh wenn der Akkumulator-Inhalt 0 ist. 1000 H JNZ oooh JUMP IF NOT ZERO Verzweigt zur Programmadresse oooh wenn der Akkumulator-Inhalt nicht 0 ist. 1800 H 3.2.3. Leerbefehle Es steht ein Maschinenbefehl zur Verfügung mit dem keine Operation durchgeführt wird. Mnemonic: Beschreibung: Maschinencode: NOP NO OPERATION Führt keine Operation durch. 0000 H

Befehlssatz der CPU _ 11 _ 3.2.4. Logikbefehle Es stehen elf Maschinenbefehle zur Verfügung um mit dem Akkumulatorinhalt logische 8 Bit- Operationen durchzuführen. Das Ergebnis einer Operation wird im Akkumulator angezeigt. Mnemonic: Beschreibung: Maschinencode: AND #cch AND Verknüpft den Akkumulator-Inhalt logisch UND mit dem konstanten Wert 7800 H cch. AND aaah AND Verknüpft den Akkumulator-Inhalt logisch UND mit dem Datenspeicherzellen-Inhalt 8000 H der Adresse aaah. OR #cch OR Verknüpft den Akkumulator-Inhalt logisch ODER mit dem konstanten Wert 8800 H cch. OR aaah OR Verknüpft den Akkumulator-Inhalt logisch ODER mit dem Datenspeicherzellen-Inhalt 9000 H der Adresse aaah. XOR #cch EXCLUSIVE OR Verknüpft den Akkumulator-Inhalt logisch EXOR mit dem konstanten Wert 9800 H cch. XOR aaah EXCLUSIVE OR Verknüpft den Akkumulator-Inhalt logisch EXOR mit dem Datenspeicherzellen-Inhalt A000 H der Adresse aaah. CLR CLEAR Löscht den Akkumulator-Inhalt. A800 H INV INVERT Invertiert den Akkumulator-Inhalt. B000 H RL ROTATE LEFT Schiebt den Akkumulator-Inhalt um eine Stelle nach links. D000 H RR ROTATE RIGHT Schiebt den Akkumulator-Inhalt um eine Stelle nach rechts. D800 H SWP SWAP Tauscht die beiden Nibble (Halbbytes) des Akkumulator-Inhalts. C800 H

Befehlssatz der CPU _ 12 _ 3.2.5. Arithmetikbefehle Es stehen zehn Maschinenbefehle zur Verfügung um mit dem Akkumulatorinhalt arithmetische 8 Bit-Ganzzahloperationen ohne Vorzeichen durchzuführen. Das Ergebnis einer Operation wird im Akkumulator angezeigt Mnemonic: Beschreibung: Maschinencode: ADD #cch ADD aaah SUB #cch SUB aaah MUL #cch MUL aaah DIV #cch DIV aaah INC DEC ADD Addiert den konstanten Wert cch zum Akkumulator-Inhalt. ADD Addiert den Datenspeicherzellen-Inhalt der Adresse aaah zum Akkumulator-Inhalt. SUB Subtrahiert den konstanten Wert cch vom Akkumulator-Inhalt. SUB Subtrahiert den Datenspeicherzellen-Inhalt der Adresse aaah vom Akkumulator-Inhalt. MULTIPLY Multipliziert den konstanten Wert cch mit dem Akkumulator-Inhalt. MULTIPLY Multipliziert den Datenspeicherzellen-Inhalt deradresse aaah mit dem Akkumulator-Inhalt. DIVIDE Dividiert den Akkumulator-Inhalt durch den konstanten Wert cch. DIVIDE Dividiert den Akkumulator-Inhalt durch den Datenspeicherzellen-Inhalt der Adresse aaah. INCREMENT Erhöht den Akkumulator-Inhalt um 1. DECREMENT Vermindert den Akkumulator-Inhalt um 1. 3800 H 4000 H 4800 H 5000 H 5800 H 6000 H 6800 H 7000 H B800 H C000 H

Befehlssatz der CPU _ 13 _ 3.3. Beispiele Setzt das Programm mit dem Maschinenbefehl der Programmspeicherzelle der Adresse 102 H fort. In diesem Fall bedeutet dies, dass das Programm keine weiteren Aktionen mehr durchführt. Speichert den Akkumulator-Inhalt in der Datenspeicherzelle der Adresse 500 H. Lädt den konstanten Wert 06 H in den Akkumulator. Setzt das Programm mit dem Maschinenbefehl der Programmspeicherzelle der Adresse 100 H fort. In diesem Fall bedeutet dies, dass das Programm wieder am Anfang beginnt. Speichert den Akkumulator- Inhalt in der Datenspeicherzelle der Adresse 7FF H. Verknüpft den Akkumulator-Inhalt logisch UND mit dem konstanten Wert F0 H. Das Ergebnis befindet sich wiederum im Akkumulator. Lädt den Datenspeicherzellen-Inhalt der Adresse 7FD H in den Akkumulator.

Programmierübungen _ 14 _ 4. Programmierübungen 4.1. Transportbefehle 4.1.1. Aufgabe 1 Entwickeln Sie ein Programm, das unendlich lang den konstanten Wert 08 H in die Datenspeicherzelle der Adresse 501 H schreibt. Das untere Beispiel aus Seite 13 kann hierfür hilfreich sein. 4.1.2. Aufgabe 2 Entwickeln Sie ein Programm, das einmal den konstanten Wert 15 H in die Datenspeicherzelle der Adresse 50F H schreibt und danach keine weiteren Aktionen mehr durchführt. Das obere Beispiel aus Seite 13 kann hierfür hilfreich sein. 4.1.3. Aufgabe 3 Entwickeln Sie ein Programm, das unendlich lang den Status der acht Schalter (S0 S7) einliest und über die acht LEDs (L0 L7) darstellt. Das untere Beispiel aus Seite 13 kann hierfür hilfreich sein.

Programmierübungen _ 15 _ 4.2. Logikbefehle 4.2.1. Aufgabe 1 Entwickeln Sie ein Programm, das unendlich lang den Status der acht Schalter (S0 S7) einliest und über die acht LEDs (L0 L7) invertiert darstellt. 4.2.2. Aufgabe 2 Entwickeln Sie ein Programm, das unendlich lang den Status der vier Schalter (S0 S3) einliest und über die vier LEDs (L0 L3) darstellt. Das untere Beispiel aus Seite 13 kann hierfür hilfreich sein. 4.2.3. Aufgabe 3 Entwickeln Sie ein Programm, das unendlich lang nacheinander die acht LEDs ein- und wieder ausschaltet (Lauflicht). Die Laufrichtung des Lauflichts soll von rechts nach links sein.

Programmierübungen _ 16 _ 4.3. Arithmetikbefehle 4.3.1. Aufgabe 1 Entwickeln Sie ein Programm, das unendlich lang den Datenspeicherzellen-Inhalt der Adresse 506 H hochzählt (x=x+1). 4.3.2. Aufgabe 2 Entwickeln Sie ein Programm, das die Datenspeicherzelle der Adresse 50A H mit dem Wert 255 lädt und diesen darauf hin unendlich lang herunterzählt (x=x-1). 4.3.3. Aufgabe 3 Entwickeln Sie ein Programm, das unendlich lang den Datenspeicherzellen-Inhalt der Adresse 7FD H liest und den mit zwei multiplizierten Wert in die Datenspeicherzelle der Adresse 7FE H schreibt.

Programmierübungen _ 17 _ 4.4. Steuerbefehle 4.4.1. Aufgabe 1 Entwickeln Sie ein Programm, das den Datenspeicherzellen-Inhalt der Adresse 7FE H hochzählt, bis dieser den Wert 255 erreicht. Danach soll das Programm keine weiteren Aktionen mehr durchführen. 4.4.2. Aufgabe 2 Entwickeln Sie ein Programm, das den Datenspeicherzellen-Inhalt der Adresse 508 H hochzählt bis dieser den Wert 90 H erreicht hat. Danach soll das Programm den Inhalt der gleichen Datenspeicherzelle wieder herunterzählen bis dieser den Wert 60 H erreicht hat. Darauf hin soll das Programm wieder mit dem Anfang beginnen.