CP1 Anleitung (Manual) - 8Bit-Homecomputermuseum
CP1 Anleitung (Manual) - 8Bit-Homecomputermuseum
CP1 Anleitung (Manual) - 8Bit-Homecomputermuseum
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
1.43 Ein Automatik-Zähler<br />
Erinnern Sie sich an unser Gedankenspiel „Com<br />
puter-gesteuertes Parkhaus?" Dort werden durch<br />
Addition und Subtraktion Autos abgezählt. Wir<br />
haben jetzt für Sie ein Programm bereit, das selbst<br />
tätig von 000 bis 255 zählt. Was dabei abgezählt<br />
werden soll, überlassen wir Ihrer Fantasie, es spielt<br />
auch gar keine Rolle. Wir nennen das Programm<br />
schlicht „automatischer Zähler mit Digitalanzeige".<br />
Wie würden Sie vorgehen, wenn Sie das Pro<br />
gramm entwerfen müßten? Sie würden sicher zu<br />
erst in den Akku eine „1" laden und für eine ge<br />
wisse Dauer anzeigen lassen (Befehle LDA, ANZ<br />
und VZG). Dann sollte man eine „1" addieren, wie<br />
der den Akku-Inhalt (der nach der Addition „2" ist)<br />
anzeigen und verzögern. Das sähe dann so aus:<br />
001 Lade in den Akku eine „1"<br />
002 Zeige den Akku-Inhalt an<br />
003 Verzögern<br />
004 Addiere zum Akku-Inhalt eine „1"<br />
005 Zeige den neuen Akku-Inhalt an<br />
006 Verzögern<br />
007 Addiere ein weiteres Mal eine „1"<br />
(1. Wiederholung)<br />
008 Zeigen den neuen Akku-Inhalt an<br />
009 Verzögern<br />
010 Addiere ein weiteres Mal eine „1"<br />
(2. Wiederholung)<br />
usw.<br />
Wenn man diese Prozedur 253mal wiederholen<br />
würde, könnte man bis 255 zählen. Aber - der<br />
Speicherplatz würde bei weitem nicht ausreichen.<br />
Wir haben ja nur 128 Speicherzellen zur Verfü<br />
gung.<br />
Was tun?<br />
1.44 SPU - der Sprung hilft weiter<br />
Wir befehlen dem Computer (mit einem Befehl, den<br />
wir gleich kennenlernen werden), die normale Pro<br />
Listing 3: Automatischer Zähler mit Digitalanzeige<br />
Adresse Mnemonics Code Kommentar<br />
grammreihenfolge zu verlassen und nach dem Ver<br />
zögerungsbefehl in Zelle 006 zum Additionsbefehl<br />
in Zelle 004 zurückzukehren, Addition, Anzeige und<br />
Verzögerung auszuführen, wieder zurückzukehren<br />
usw.<br />
Sie erkennen natürlich sofort den Vorteil: Pro<br />
grammteile, die sich ständig wiederholen, müssen<br />
nur einmal in den Speicher eingegeben werden.<br />
Die Befehlsfolge ADD - ANZ - VZG wiederholt der<br />
Computer immer wieder bis ... nun, bis durch die<br />
fortlaufenden Additionen im Akku der Wert 255<br />
steht, und der Computer ein weiteres Mal eine „1"<br />
addieren soll. Er wird jetzt das Programm abbre<br />
chen und Ihnen durch die Fehleranzeige F .006 sig<br />
nalisieren, daß nunmehr sein Zahlenbereich über<br />
schritten wird.<br />
Der Befehl, mit dem wir den Computer zum Ver<br />
lassen der normalen Befehlsreihenfolge bringen<br />
können, heißt Sprungbefehl. Der Operationscode<br />
ist 09, das Buchstaben-Kürzel SPU (Springe unbe-<br />
dinqt)<br />
09.xxx bzw. SPU xxx<br />
heißt, daß der Computer das Programm mit dem<br />
Befehl fortsetzen soll, der auf Adresse xxx steht.<br />
SPU steht als Abkürzung für „Unbedingter Sprung",<br />
der Befehl wird also ohne jede Einschränkung<br />
durchgeführt. Sie ahnen schon: es gibt noch einen<br />
„Bedingten Sprung", bei dem der Computer nur<br />
unter bestimmten Bedingungen einen Sprung aus<br />
führt. Aber davon später.<br />
Bevor das Zählprogramm eingegeben wird, schauen<br />
wir uns rasch den Befehlszyklus an:<br />
1. Befehl aus dem Speicher holen<br />
2. Befehl decodieren<br />
3. Programmzähler auf die im Befehl ange<br />
gebener Adresse einstellen (Bild 38).<br />
Starten Sie das Programm (Listing 3) durch<br />
© © Q C PC RUN<br />
Es hält nach der Anzeige A 00.255 mit der Fehler<br />
meldung F .006 an, da dann der Zahlenbereich<br />
überschritten wird.<br />
001 LDA 100 05.100 Inhalt von Zelle 100 in den Akku laden<br />
002 ANZ 02.000 Akku-Inhalt anzeigen<br />
003 VZG 250 03.250 250 ms verzögern<br />
004 ADD 100 07.100 Zum Akku-Inhalt den Inhalt von Zelle 100 addieren<br />
005 ANZ 02.000 Akku-Inhalt anzeigen<br />
006 VZG 250 03.250 250 ms verzögern<br />
007 SPU 004 09.004 Zum Addieren auf Adresse 004 springen<br />
100 00.001 Schrittweite<br />
27