Seite 1
Z 1013 Mikrorechnerbausatz Handbuch Teil VEB Robotron-Elektronik Riesa...
Seite 2
ROBOTRON _____________________________________________________ Der Herausgeber ist jederzeit für Korrekturhinweise fachlicher, stilistischer und redaktioneller Art dankbar. Z 1013 Herausgeber: VEB Robotron-Elektronik Riesa Pausitzer Str. 60 Riesa 8400 VEB Robotron-Elektronik Riesa III-6-15 4255-86 706-68-86 digitalisiert: U.Zander, 2011 <zander@felix.sax.de>...
Seite 3
R O B O T R O N Mikrorechnerbausatz Z 1 0 1 3 Handbuch Teil 1 Inhaltsverzeichnis ------------------ Seite Grundbegriffe der Mikrorechentechnik ..... 2 2.1. Hardware oder Software ......2 2.2. Bestandteile eines Mikrorechners ....3 2.2.1. Zentrale Verarbeitungseinheit ....3 2.2.2.
Seite 5
2. Grundbegriffe der Mikrorechentechnik 2.1. Hardware oder Software? Dieses Kapitel ist vor allem für den Leser gedacht, der in der Mikrorechentechnik nicht bewandert ist. Es werden hier einige Grundbegriffe erläutert, die das Verständnis der nachfolgenden Kapitel erleichtern sollen. Der erste Begriff, der zu klären wäre, ist der des Mikrorech- ners.
Seite 6
oder die Steuerung benötigte Geschwindigkeit entscheidend ist, ist dieser Nachteil nur in wenigen Fällen von Bedeutung. Eine Änderung der Aufgabenstellung führt meist nur zu einer Änderung Anweisungen für Mikroprozessor. Diese Änderung ist schnell realisierbar. Mit dem Mikroprozessor lassen sich ohne technische Veränderungen vielerlei...
Seite 7
besitzen spezielle Bedeutung, sogenannte Kellerzeiger (Stackpointer SP), Befehlszähler (PC), Refresh- register und Interruptregister (s. auch Abschn. 4.). Bestimmte Register sind doppelt vorhanden und können durch einen Befehl umgeschaltet werden. Ein Register wird benutzt, um den Zustand der CPU während der Befehlsabarbeitung zu speichern.
Seite 8
Je nach Eingabe der Information unterscheidet man: ROMs, die bereits während der Herstellung ihre Informationen erhalten ROMs, nachträglich elektrisch programmiert werden können (ein einmaliger Vorgang, da die Struktur des Speichers verändert wird). Diese letztgenannten Speicher heißen PROM (Programmable ROM). Eine weitere Speicherart kann sowohl pro- grammiert als auch wieder gelöscht werden.
Seite 9
2.2.3. Ein/Ausgabe-Einheiten Unter externen Geräten sollen im folgenden alle Geräte ver- standen werden, mit denen Informationen in den Mikrorechner eingegeben oder vom Mikrorechner ausgegeben werden. Damit ist möglich, sowohl Daten auch Programme Mikrorechner zu bringen und die Ergebnisse für den Nutzer sichtbar zu machen.
Seite 10
2.3. Programmabarbeitung 2.3.1. Ablauf in der CPU Wie bereits gesagt, benötigt die CPU zur Lösung ihrer Aufgaben Anweisungen, gesamten Ablauf Mikrorechners steuern. Diese Anweisungen oder Befehle findet die CPU in den angeschlossenen Speichereinheiten einer ganz bestimmten, für sie verständlichen Form, die als Maschinenkode bzw. MC bezeichnet wird.
Seite 11
Um ein solches Programm ab Null nach dem Einschalten zur Ver- fügung zu stellen, ist ein nicht flüchtiger Speicher, z. B. ein EPROM notwendig. Befindet sich in diesem Speicherbereich kein Programmspeicher, findet zufällige Bitkombinationen, die als Befehl aufgefaßt und abgearbeitet werden. Es kann also immer nur ein Programm nach dem Einschalten ge- startet werden.
Seite 12
wurde bereits Speicher einer endlichen Anzahl Fächer eines Schranken verglichen, denen Informationen abgelegt werden können. Durch eine Adresse wird die Nummer eines konkreten Faches bereitgestellt. Wenn Informationen sowohl gelesen als auch abgelegt werden können, entspricht das dem Prinzip des Schreib-Lese-Speichers. Als Information kann das Vorhandensein eines Zeichens, einer Markierung oder dergleichen gedeutet werden.
Seite 13
2.4. Grundbegriffe der Software 2.4.1. Darstellung von Zahlen Das Wesentliche bei der Programmabarbeitung besteht in der Veränderung der eingegebenen Zahlen, um die gewünschten Ergeb- nisse zu erhalten. Das gewohnte Dezimalsystem ist für die Zahlendarstellung Mikrorechner nicht geeignet; zwei möglichen Zustände führen auf ein anderes Zahlensystem, das sogenannte Dualsystem.
Seite 15
Eine vorzeichenlose ganze Zahl mit der Bitfolge 01001010B kann auch in der Form: Z = 0*128 + 1*64 + 0*32 + 0*16 + 1*8 + 0*4 + 1*2 + 0*1 = 74 geschrieben werden. Sollen auch negative Zahlen dargestellt werden, besitzt das Bit 7 die Funktion des Vorzeichens.
Seite 16
Die binäre Darstellung der Dezimalzahlen von 0 bis 9 nennt man auch BCD-Zahlen. Auch mit dieser Zahlendarstellung kann ge- rechnet werden. Dabei muß aber eine Dezimalkorrektur vorgenommen werden. Warum und wie, wird bei der Erläuterung des DAA-Befehls im Befehlssatz genauer erklärt. Zur besseren Unterscheidung Dezimalzahlen werden...
Seite 17
Die wichtigsten dieser Operationen sind: - Komplementbildung (NEGATION): Eine Dualzahl wird in ihr Komplement überführt, indem alle Bitstellen einzeln auf den entgegengesetzten Wert gebracht werden. Zahl: 0 1 0 0 1 0 1 0 --------------------------------- Ergebnis: 1 0 1 1 0 1 0 1 Diese Operation wird nur mit einer Dualzahl durchgeführt.
Seite 18
- NICHT-UND-Verknüpfung (NAND) Diese Verknüpfung stellt eine Konjunktion mit anschließender Negation dar. 1. Zahl | 2. Zahl | Ergebnis Sinnbild: ---------------------------- & - ODER-Verknüpfung (DISJUNKTION, OR) Zwei disjunktiv verknüpfte Dualzahlen liefern im Ergebnis eine "1", wenn in der ersten oder zweiten Dualzahl in der jeweiligen Bitposition eine "1"...
Seite 19
2.4.3. Arithmetische Verknüpfungen Zu den arithmetischen Operationen gehören Addition und Sub- traktion. Multiplikation zweier Dualzahlen kann durch fortlaufende Addition einer Dualzahl gleichzeitiger Verringerung anderen Dualzahl, diese Null ist, vorgenommen werden. Auch eine teilweise Addition, kombiniert mit Verschiebung von Ergebnis und Operand ist üb]ich. Die Division kann analog dazu als eine fortlaufende Subtraktion einer Dualzahl von einer anderen durchgeführt werden.
Seite 20
Vorzeichenstelle ein-, aber kein Übertrag aus der Vorzeichen- stelle herausläuft. - SUBTRAKTION Die Subtraktion zweier Dualzahlen verläuft ähnlich der der Dezimalzahlen, d. h. wenn die Subtraktion einen negativen Wert in der Bitposition ergibt, muß von der höherwertigen Stelle etwas "geborgt" werden, es entsteht ein Übertrag. Daraus resultiert folgende Wertetabelle: 1.
Seite 21
-17: Negation: Addition: ---------------------------------------- Ergebnis: Das Zweierkomplement wird verwendet, um eine Subtraktion auf eine Addition zurückzuführen. Die Addition einer Zahl und ihres Zweierkomplements liefert als Ergebnis immer eine Null. Abschließend noch ein Beispiel zur Multiplikation, die hier als eine fortlaufende Addition betrachtet werden soll. Es werden die Dualzahlen 9 und 5 miteinander multipliziert: Ausgangswerte: 5: Multiplika-...
Seite 22
3. Hardware des Z1013 Am konkreten Beispiel des MRB Z1013 soll in diesem Kapitel die Arbeitsweise eines Mikrorechners erläutert werden. Grundlage dafür bilden Stromlaufpläne des Z 1013, die Sie in der, Anlage 16 finden. 3.1. Blockschaltbild _____ ___________ __________ ___________...
Seite 23
Signale, die sowohl von der CPU empfangen als auch ausgesandt werden können. (A-Ausgabe, E-Eingabe, B-bidirektional, d. h. sowohl Ein- als auch Ausgabe) - A0 bis A15 (A) bilden 16-Bit-Adreßbus. werden gebildet und bei der Arbeit mit den Speichern als Speicher- adresse sowie die Leitungen A0 bis A7 bei der E/A-Arbeit als E/A-Adresse verwendet.
Seite 24
- /RFSH (A) Zeigt den angeschlossenen Speichereinheiten in Verbindung mit /MREQ, daß auf dem Adreßbus eine Refresh-Information verfüg- bar ist. Diese Refresh-Information besteht aus einer 7-Bit- Adresse (A0 bis A6), die festlegt, welche Speicherzellen in den dynamischen Speichern; aufgefrischt werden sollen. Das Adreßbit 7 kann durch den Programmierer gesetzt oder rückge- setzt werden und ist Bestandteil der Refresh-Information.
Seite 25
- /NMI (E) Dieser Eingang stellt äquivalent zum INT-Signal eine Unter- brechungsmöglichkeit laufenden CPU-Arbeit dar, allerdings nicht gesperrt werden kann. Die Abarbeitung des Unterbrechungsbehandlungsprogramms beginnt Adresse 66H, nachdem zuvor die Fortsetzungsadresse des gerade laufen- den Programmes gerettet wurde. - /RESET (E) Unterbricht jede weitere Arbeit der CPU, stellt einen An- fangszustand ein und gibt mit dem Übergang nach H-Pegel die CPU wieder frei.
Seite 26
Taktfrequenzen von 4 MHz, 2 MHz und 1 MHz anliegen. Der Z 1013.01 arbeitet standardmäßig mit 1 MHz Systemtakt, der Z 1013.12 mit 2 MHz. Hinweis: Das Umrüsten des Z 1013.01 auf 2 MHz führt zum Erlö- schen der Garantie. Die Taktfrequenz 4 MHz ist nicht zugelassen!
Seite 27
Je nach Lage von E1 erhält die CPU den Takt mit der Frequenz entsprechend folgender Zuordnung: Lage Systemtakt E1.1 1 MHz E1.2 2 MHz Mittels des Widerstandes R52 erfolgt noch die erforderliche Pegelanpassung zur Speisung der CPU (A7) und des E/A-Schalt- kreises A45.
Seite 28
3.3 Speichereinheiten 3.3.1. Anschluß Der Anschluß der Speicherschaltkreise ist abhängig vom Typ. Im MRB Z1013 werden drei Arten verwendet. In einem PROM U 2616 bzw. ROM U 2316 (A14) ist das Monitor- programm enthalten. Dieser Schaltkreis besitzt eine Kapazität von 2048 (=2K) Speicherplätzen, wobei bei jedem Zugriff acht Bit parallel gelesen werden.
Seite 29
Die Bildung der Auswahlsignale kann über das Signal MEMDI am Steckverbinder X1 von außerhalb verhindert werden. Das wird dann sinnvoll sein, wenn der MRB Z1013 als Bestandteil eines Mikrorechnersysteme betrieben wird diesen Adreßbe- reichen bereits Speichereinheiten angeschlossen sind. Bei der Verwendung der dynamischen 16 KByte Speicher U 256 bzw.
Seite 30
3.3.2. Zusammenarbeit mit der CPU Wenn die CPU auf den Speicher zugreifen möchte, sei es, um Befehle oder Daten zu holen oder um etwas abzuspeichern, ist das durch folgende Signale gekennzeichnet: - /MREQ (Speicheranforderung) wird Low, d. h. aktiv und zeigt damit den Zugriff auf den Speicher an.
Seite 31
Außerdem verfügt er über eine Reihe von Steuersignalen, deren Bedeutung hier kurz erläutert werden soll: Es gelten die gleichen Vereinbarungen wie im Abschnitt 3.2.1. - B/A SEL (E) Liegt dieser Eingang auf "L", so wird das Tor A, liegt er auf "H", dann das Tor B freigegeben.
Seite 32
- C (E) Systemtakt analog zur CPU, - /ASTB (E), /BSTB (E) Diese Steuerleitungen werden zur Quittung des erfolgten Da- tenaustausches verwendet. Ausgabe wird diese Leitung (Low-aktiv) vom angeschlossenen Gerät aktiviert und damit die Daten übernommen. Bei der Eingabe wird mit dieser Leitung angezeigt, daß...
Seite 33
Mit dem im vorigen Abschnitt zu den C/D-SEL- und B/A-SEL- Signalen Gesagten ergibt sich folgende Adreßverteilung: ADR: 7 C/D SEL 0, wenn Information Daten 1, wenn Information Steuerworte B/A SEL , wenn Tor A beliebig, z.B. , wenn Tor B ==>...
Seite 34
Betriebsart 2: Diese bidirektionale Betriebsart ist nur mit dem Kanal A möglich. Kanal dann noch Betriebsart möglich, da für die Abwicklung des Datentransfers alle vier Quittungssignale ARDY, ASTB, BRDY und BSTB benötigt werden. ARDY und ASTB steuern die Ausgabe, die beiden anderen die Eingabe.
Seite 35
6. Interrupt Ein/Aus Bit: Belegung: beliebig Kennzeichen ,Interrupt gesperrt ,Interrupt freigegeben 3.4.2. Tastaturanschluß Elektrisch stellt die Tastatur nichts anderes als eine Matrix von Schaltern in folgender Anordnung dar: Die Zeilen dieser Anordnung sind mit den Widerständen R11 bis R14 auf "H"-Pegel gelegt. Diese Leitungen sind mit dem Tor B, verbunden, welche für...
Seite 36
Ausgangssignal eines Magnetbandgerätes wird gleichspan- nungsfrei einem Operationsverstärker A48 zugeführt. Das auf TTL-Pegel verstärkte Signal wird an einen Anschluß der PIO (PB 6) geleitet. Durch entsprechende Software wird dieser Anschluß ständig abgefragt und aus dem ankommenden seriellen Datenstrom durch Serien/Parallelwandlung ursprüngliche Information wieder zurückgewonnen.
Seite 37
bildet die Bildinformation des Bild-, Austast- und Synchron- signals (BAS-Signal). Mit den Gattern der Schaltkreise A9, A10, A13 und A20 werden aus dem Zählfolgen entsprechend der Fernsehnorm die Synchron- impulse dekodiert. Außerdem wird durch diese Schaltung gesichert, daß für der Strahlrücklauf Signal dunkelgesteuert...
Seite 38
starke Belastung dieses Bauelementes erfolgt, wird eine angemessene Kühlung benötigt. Die Spannung 5N wird mittels einer Z-Diode D4 stabilisiert. Diese einfache Widerstands/Z-Dioden-Kombination geringen Leistungsbedarf ausreichend. Um die Spannung 12P zu erzeugen, wird eine verdoppelte und anschließend mit einer Widerstands/Z-Dioden-Kombination stabi- lisierte Spannung der Basis eines Transistors V2 zugeführt.
Seite 39
4. Der Befehlssatz des Mikroprozessors U880 Dieser Abschnitt soll das Verständnis der Arbeitsweise und der Programmierung Mikrorechnerbausatzes Z1013 erleichtern. Anhand Beispielen erfolgt eine Erläuterung verschiedenen Mikroprozessor-Befehle und deren Wirkungsweise Anwendungsmöglichkeiten. folgende Überblick soll prinzipielle Eigenschaften Besonderheiten Mikroprozessors U 880 aufzeigen: - 64 K Byte Adreßraum für Speicher - 256 Ein-/Ausgabekanäle - 3 Doppelregister mit Alternativregistersatz...
Seite 40
Kanaladressen: 0...255 256 Eingänge 0...255 256 Ausgänge Befehlsvorrat: 158 Grundbefehle 4.1. Befehlsschlüssel Der Mikroprozessor erhält seine Befehle vom Speicher über den 8 Bit-Datenbus binär verschlüsselt zugeführt. Für den Program- mierer diese Darstellung Binärcode meistens detailliert erschwert Programmierung; werden deshalb Hexadezimalkodes mit entsprechend zugehöriger Mnemonik des Maschinenbefehls verwendet.
Seite 41
Beispiel: Befehls- Maschinen- Quellkode Kommentar zähler kode -------------------------------------------------------------- 1000 ;Lade B mit A 1001 INC HL ;HL:=HL+1 1002 1003 ADD C Die Form des Beispiels soll als Normativ eines Programmproto- kolls dienen. Es empfiehlt sich, diese übersichtliche Dar- stellung bei der Erstellung von Programmen zu nutzen, da sich in dieser tabellenartigen Zusammenstellung alle Angaben wider- spiegeln, die zu einem Programm gehören.
Seite 42
Ist das 2. Byte ein OPC, so stellt das 1. Byte das Signalbyte dar. Beispiele: Befehls- Maschinen- Quellkode Kommentar zähler kode -------------------------------------------------------------- 1000 DD 23 INC IX ;IX:=IX+1 1002 FD 23 INC IY ;IY:=IY+1 1004 CB 40 BIT 0,B 1006 3E 10 A,10H ;Lade A mit 16...
Seite 43
Beispiele: Befehls- Maschinen- Quellkode Kommentar zähler kode -------------------------------------------------------------- 1000 21 00 F7 HL,0F700H ;Lade HL mit 0F7OCH 1003 C3 2D F0 JMP 0F02DH ;Springe zur Adresse ;0F02DH 1006 CD B7 E1 CALL OF1B7H ;Sprung ins Unterprogr. 1009 DD 46 3F LD B,(IX+3FH) 100C FD 72 00...
Seite 44
(binär) Die Angabe von Operanden, die sich im Hauptspeicher befinden, kann auf verschiedene Weise erfolgen. Der Zugriff auf eine bestimmte Speicherstelle (beim U 880 ist eine 16-Bit-Adresse erforderlich) erfolgt durch Bereit stellen der entsprechenden Adresse zu dem Zeitpunkt, wo der Maschinenbefehl diese benö- tigt.
Seite 45
Anmerkung: Zur indirekten Adressierung wird gern das Doppel- register HL zur Adressenbereitstellung eingesetzt; man schreibt auch: (HL)= M (englisch: Memory = Gedächtnis, Speicher) Dann würde die letzte Zeile des obigen Beispiels lauten: 1007 LD M,A ;= LD (HL),A 4.2.4. Indexierte Adressierung Soll Speicherzugriff mittels...
Seite 46
beeinflußt (Ausnahmen bilden nur die Befehle LD A,I und LD A,R). Allgemeiner Aufbau der Ladebefehle: [MARKE:] LD Ziel , Quelle [;KOMMENTAR] eingeklammerten Angaben sind wahlfrei, können vorhanden sein, müssen aber nicht. Beispiele für Byte-Ladebefehle: (d.h. die transportierten Daten umfassen ein Byte) Befehls- Maschinen- Quellkode...
Seite 47
Beispiele für Zählbefehle: Befehls- Maschinen- Quellkode Kommentar zähler kode ------------------------------------------------------------- 1000 INC A ;A:=A+1 1001 INC (HL) ;(HL):=(HL)+1 1002 INC BC ;BC:=BC+1 1003 DD 23 INC IX 1005 DEC C ;C:=C-1 1006 DD 35 00 DEC (IX+0) ;(Ix+0):=(1X+0)-1 1009 DD 2B DEC IX ;IX:=IX-1 Die Byte-Zählbefehle beeinflussen das Z-Flag.
Seite 48
Die arithmetischen Operationen laufen prinzipiell in folgender Form ab: A := A + Operand s Hierbei ist die Konstruktion ":=" als "ergibt sich aus" zu in- terpretieren: A ergibt sich aus A plus Operand s. Diese Be- fehlsgruppe beeinflußt das Flagregister vollständig. Die Wir- kungsweise der Flag-Bits läßt sich günstig bei Zahlenbereichs- überschreitungen nach Ausführung der Operationen zeigen: Beispiel:...
Seite 49
4.3.4. Vergleichsbefehle Einen Sonderfall der Arithmetik-Befehle bilden die Vergleichs- befehle. Es wird eine Subtraktion des A-Registerinhaltes mit dem jeweiligen Operanden ausgeführt, allerdings werden im Er- gebnis der Operation nur die Flags geändert, der A-Registerin- halt bleibt unverändert. Beispiele für Vergleichsbefehle: Befehls- Maschinen- Quellkode...
Seite 50
Das Flag-Register wird bei diesen Operationen neu bestimmt: Carry-Flag ist stets 0 Zero-Flag entsprechend dem A-Registerinhalt Sign-Flag entsprechend dem Bit 7 des A-Registers Paritäts-Flag entsprechend der Anzahl der 1-Bits des Ergebnisses (P=1, wenn die Anzahl der 1-Bits geradzahlig ist) 4.3.6. Spezielle arithmetische Hi1fsoperationen DAA ;...
Seite 52
Für alle Operanden 's' gilt: s = A, B, C, D, E, H, L, (HL), (IX+d), (IY+d) Linksverschieben um eine Dualstelle RLC s ; Linksverschieben mit Setzen des Carry-Flags ----------------------------------------------------------- RL s ; Linksverschieben über das Carry-Flag ----------------------------------------------------------- SLA s ; Linksverschieben durch Carry-Flag ----------------------------------------------------------- RLCA ;...
Seite 53
Beispiel: Ein beliebiger Inhalt A-Registers soll nach rechts verschoben werden, bis Bit 0 des A-Registers = 1 ist. Wenn das A-Register gelöscht war, sollen keine Verschiebungen stattfinden. Befehls- Maschinen- Quellkode Kommentar zähler kode -------------------------------------------------------------- 1000 OR A ;Z = 1, wenn A = ist 1001 28 0D JRZ END-#...
Seite 54
Rechtsverschiebung um vier Dualstellen ; der Befehl wirkt ebenfalls nur zwischen A und (HL) (HL): 4.3.9 Sprungbefehle Grundsätzlich werden bedingte und unbedingte Sprünge unter- schieden. - Unbedingte Sprünge: Bei Erkennen des Sprungbefehls wird vom Prozessor der Befehls- zähler entweder mit der im Adreßteil des Befehl angegebenen Sprungadresse geladen (absolute Sprungadresse) oder der Be- fehlszähler wird...
Seite 55
Befehls- Maschinen- Quellkode Kommentar zähler kode ------------------------------------------------------------- 1000 21 00 10 LD HL,1000H ;Zähler laden 1003 LD M,L 1004 INC L 1005 20 FC JRNZ M1-# 1007 INC H ;Programmfortsetzung Sprungweitenberechnung für den Sprungbefehl auf PC = 1005H: Zieladresse: 1003H Absprungadresse: - 1007H -------------------------...
Seite 56
Ein Sonderbefehl ist der Zyklusbefehl mit relativer Adressie- rung. DJNZ e ;Das B-Register wird dekrementiert (um 1 vermindert). Solange dessen Inhalt größer Null ist, erfolgt der relative Sprung (PC:=PC+e), sonst wird der diesem Befehl folgende aufgerufen. Befehls- Maschinen- Quellkode Kommentar zähler kode --------------------------------------------------------------...
Seite 57
Grund 8-Bit-Datenbusses wird deutlich, daß eine Kelleroperation immer in zwei Schritten abläuft. Beim Kellern wird zuerst der Stackpointer dekrementiert, das höherwertige Byte gekellert, wieder dekrementiert dann niederwertige Byte Keller gebracht. Entkellern erfolgt derart, daß zuerst das niederwertige Byte gelesen und der SP inkrementiert wird.
Seite 58
erkennt, daß "Zurückholen" genau umgekehrter Reihenfolge erfolgen muß wie das "Retten". Die Ursache liegt darin begründet, daß der zuletzt gerettete Wert zuerst wieder zurückgeholt wird und demzufolge der zuerst gerettete Wert als letzter im Stack verfügbar ist. Im Keller werden also alle geretteten Werte "aufeinandergestapelt"...
Seite 59
Die Bedingungen der Unterprogrammrufe sind die gleichen wie bei den bedingten Sprungbefehlen. Einen Sonderfall des Unterprogrammrufes bilden die Restart- Befehle. Hier entfällt die Angabe einer 2-Byte Sprungadresse. Es erfolgen Sprünge zu festen Adressen (0000H, 0008H, 0010H, 0018H, 0020H, 0028H, 0030H, 0038H). RST hh ;Unterprogrammruf, der aktuelle PC des RST-Befehle (konkret...
Seite 60
muß, da sonst bei der Entkellerung bei Unterprogrammrückkehr ein falscher Wert in den Befehlszähler kommt und Programm undefiniert und nicht ab der Aufrufstelle weiterläuft. Eine Verschachtelung mehrerer Unterprogramme (ein UP ruft ein weiteres UP auf) ist möglich, die Anzahle der Schachtelungen ist theoretisch unbegrenzt.
Seite 61
4.3.13. Gruppenoperationen für Lade-, Vergleichs- und Ein-/ Ausgabe-Befehle Gruppenoperationen in diesem Sinne sind hardwaremäßig im Pro- zessor U 880 installierte Befehlsabläufe, die vom Programmie- lediglich Generierung bestimmter Register Parameter verlangen. Diese Befehle vermeiden nicht nur das umständliche Programmieren einzelnen Befehlen, sondern führen besonders zur Programmbeschleunigung und Einsparung von Programmspeicherplätzen.
Seite 62
; dekrementierende Eingabe wie INI, nur HL:=HL-1 OUTI ; inkrementierende Ausgabe - Zieladresse ist in C zu laden - Kanaladresse ist in Hl zu laden - Blocklänge in B Befehlsausführung: (C):=(HL) HL:=HL+1 B:=B-1 Z=1 bei B=0 0 bei B<>0 OUTD ;...
Seite 63
Befehls- Maschinen- Quellkode Kommentar zähler kode -------------------------------------------------------------- 1000 21 00 0D LD HL, 0D00H ;Quelladresse 1003 3E E3 LD A, 0E3H 1005 LD (HL),A ;(HL):=0E3H, ;1. Speicherplatz geladen 1006 11 01 0D LD DE,0D01H ;1. Zieladresse 1009 01 FE 02 LD BC,2FEH ;Blocklänge -1 ;da ein Byte schon geladen wurde -...
Seite 64
4.3.15. CPU-Steuerbefehle Es wird keine Operation ausgeführt, nur der Befehls- zähler um ein Byte weitergestellt. HALT ; Prozessor führt intern NOP-Operationen zur Aufrecht- erhaltung des Refresch-Zyklusses durch. Der Befehlszähler erhält die Adresse des nachfolgenden Befehls. Dieser Befehl wird aber erst nach vollständigen Ausführung...
Seite 65
P=1 bei gerader Anzahl vorhandener Bit-Einsen, die Abfrage kann mit JPPE erfolgen Abfrage einer ungeraden Anzahl mit JPP0 Es zeigt im Gegensatz zu Carry den echten Überlauf V des Resultates nach einer arithmetischen Operation Operanden an. Abfrage mit JPPE Das Flag sichert nach LD A,I und LD A,R das Bit aus IFF2, damit es mit 'LD A,I' wieder in IFF2 gesetzt werden kann.
Seite 66
4.4. Unterbrechungsorganisation Um auf Signale aus der Umwelt des Prozessors reagieren zu können, kann mit einem Programm eine Leitung (also ein Signal) zyklisch abgefragt werden. Das setzt aber voraus, daß dieses Programm immer dieses Signal abfragt. Eine Reaktion Rechners erfolgt erst, wenn Signal...
Seite 67
anfordernde Gerät der Befehl auf den Datenbus gelegt wird. IM1: Nach dem Akzeptieren des Unterbrechungswunsches wird der Befehl 'RST 38H' automatisch ausgeführt. Gegebenenfalls muß im Interruptbehandlungsprogramm eine Abfrageroutine eingeleitet werden, welche den "Interrupt- Anmelder" feststellt und danach entsprechende Programme aktiviert. IM2: Diese Betriebsart stellt für den Prozessor die leistungs- fähigste Unterbrechungsbehandlung dar.
Seite 68
Durch Aneinandersetzen des I-Registers als High-Teil und des variablen Zeigerteils Low-Teil entsteht gesamte Zeiger. Das heißt zum Beispiel: Peripheriebaustein 2 meldet einen Interrupt an. Der Interrupt 2 wird zu gegebener Zeit akzeptiert und der Peripheriebaustein muß jetzt variablen Zeigerteil Falle Zahlenbeispiels 02H, auf den Datenbus legen (Vektorlesen der CPU).
Seite 69
- Rückkehrbefehle aus dem Interruptprogramm: RETI ; Rückkehr aus dem maskierbaren Interruptprogramm RETN ; Rückkehr aus dem nichtmaskierbaren Interruptprogramm Hinweis: RETI bewirkt beim Peripheriebaustein, welcher Interruptroutine ausgelöst hat, Wiederschließen der Prioritätskette (IEO=high). Somit können nach RETI auch die Peripheriebausteine niedriger Priorität einen Interrupt auslösen.