CP1 Anleitung (Manual) - 8Bit-Homecomputermuseum
CP1 Anleitung (Manual) - 8Bit-Homecomputermuseum
CP1 Anleitung (Manual) - 8Bit-Homecomputermuseum
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
en, könnte u.U. genau an zwei Speicherzellen<br />
scheitern. In diesem Sinne noch ein weiterer Trick.<br />
Wenn bei einer Programmverzweigung in beiden<br />
Programmzweigen als nächstes der gleiche Befehl<br />
gebraucht wird, so legen Sie diesen Befehl zwi<br />
schen den Vergleich und den Bedingten Sprung.<br />
Wir haben dies schon einmal gemacht, ohne daß<br />
Sie es vielleicht bewußt registriert haben. Schauen<br />
Sie sich das Flußdiagramm Kapitel 1.69 an. In die<br />
Raute der Programmverzweigung ist außer dem<br />
Vergleichsbefehl auch noch ein Lade-(LDA)-Befehl<br />
eingetragen. Sowohl vor dem Addieren als vor dem<br />
Anzeigen wird dort nämlich der Inhalt der „Ergeb<br />
niszelle" im Akku benötigt.<br />
1.73 Die Rucksack-Methode<br />
Anfängern passiert es recht häufig, daß sie beim<br />
Entwickeln eines Programms einen Befehl verges<br />
sen, der später, wenn das Programm bereits einge<br />
tippt ist und ausgetestet wird, noch eingefügt wer<br />
den müßte.<br />
Zwei Methoden bieten sich für einen solchen Fall an.<br />
Man kann einen (oder mehrere) Befehle „hinten<br />
anhängen", d.h. an das Programmende anfügen.<br />
Ein solches Anhängsel nennt man einen Ruck<br />
sack.<br />
Beispiel: Beim Würfelprogramm von Kapitel 1.15<br />
haben Sie den Additionsbefehl vergessen. Auf<br />
Adresse 004 steht also statt des Additionsbefehls<br />
bereits der Vergleichsbefehl. Machen Sie nun fol<br />
gendes: Überschreiben Sie den Vergleichsbefehl<br />
durch einen Sprung nach 007 und bringen Sie den<br />
fehlenden Additionsbefehl nun in Zelle 007, den<br />
Vergleichsbefehl in Zelle 008 und in Zelle 009<br />
schließlich einen RückSprungbefehl nach Adresse<br />
005 des Hauptprogramms.<br />
Listing 25: Rucksackprogramm<br />
Adresse Mnemonics Code Kommentar<br />
1.74 NOP- tue nichts<br />
Bei der zweiten Methode plant man von vornherein<br />
ein, daß es Probleme geben könnte und fügt in ge<br />
wissen Abständen im Programm Befehle ein, die<br />
buchstäblich „nichts" bewirken. Ein solcher Befehl<br />
ist z. B.<br />
001 AKO 001 04.001 Lade „1" in den Akku<br />
VZG 000 („Warte nicht")<br />
Er stört den Programmablauf überhaupt nicht,<br />
kann jedoch gegebenenfalls durch einen anderen<br />
Befehl ersetzt werden, der vergessen wurde. Ein<br />
Befehl ohne Wirkung heißt in der Computer-Fach<br />
sprache NOP-Befehl (NOP= No Operation).<br />
1.75 Mehrere Programme im Speicher<br />
Eine (an sich selbstverständliche) Möglichkeit, die<br />
der Computer bietet, soll nicht unerwähnt bleiben.<br />
Man kann im Speicher ein langes, jedoch auch<br />
mehrere kurze Programme gleichzeitig unterbrin<br />
gen. Sie können z.B. Programm I von Adresse 001<br />
bis 027, Programm II von 028 bis 074 und Pro<br />
gramm III von 075 bis 099 in den Speicher einge<br />
ben. Möchten Sie, daß der Computer Programm II<br />
abarbeitet, so stellen Sie den Programmzähler auf<br />
028 (028-PC) und starten es durch Drücken der<br />
RUN-Taste.<br />
002 ABS 101 06.101 Speichere den Akku-Inhalt in 101<br />
003 ABS 000 06.000 Speichere den Akku-Inhalt in 000<br />
004 SPU 007 09.007 Springe zum „Rucksack"<br />
1.76 Programm-Schieber<br />
005 SPB 001 11.001 Wenn ja, beginne wieder von vom<br />
006 SPU 003 09.003 Wenn nein, mache bei 003 weiter<br />
007 ADD 101 07.101 Addiere eine „1"<br />
Besonders trickreich können Sie vorgehen, wenn<br />
z.B. gerade am Programmanfang ein oder mehrere<br />
Befehle vergessen wurden. Ein solcher Fehler ist<br />
besonders ärgerlich, weil man eigentlich das ge<br />
samte Programm neu eingeben müßte. Hier hilft<br />
008 VGL 100 10.100 Ist Akku-Inhalt schon „7"? • Rucksack<br />
009 SPU 005 09.005 Springe zurück nach 005<br />
63