29.10.2013 Aufrufe

CP1 Anleitung (Manual) - 8Bit-Homecomputermuseum

CP1 Anleitung (Manual) - 8Bit-Homecomputermuseum

CP1 Anleitung (Manual) - 8Bit-Homecomputermuseum

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!