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.
dann beim Erscheinen des anderen gezielt das<br />
erste aufdecken.<br />
Und das spielen wir jetzt mit dem Computer; natür<br />
lich nicht gegen ihn, er hat ja bekanntlich ein phä<br />
nomenales Gedächtnis. Nein, er soll nur Spielgerät<br />
und Schiedsrichter zwischen zwei Menschen sein,<br />
die gegeneinander spielen. Der Computer mischt<br />
also nur die Karten, legt sie aus und zählt dann,<br />
wieviele Paare jeder Spieler gefunden hat. Die<br />
„Karten" sind natürlich nur Zahlen, und „ausge-<br />
Listing 36: Pärchen-Suche<br />
Adresse Mnemonics Code Kommentar<br />
legt" werden sie nur im Speicher, nicht auf dem<br />
Tisch. Aber jetzt im Einzelnen, was alles passiert:<br />
LBeim Programmstart bei 037 werden 36 Felder,<br />
die man sich in einem 6x6-Quadrat vorstellen<br />
kann, mit Zahlenpaaren von 0 bis 17 belegt; das<br />
Spielfeld sieht also so aus:<br />
-1 2 3 4 5 6<br />
7 8 9 10 11 12<br />
13 14 15 16 17 18<br />
19 20 21 22 23 24<br />
25 26 27 28 29 30<br />
31 32 33 34 35 36<br />
037 LDA 024 05.024 lade den Inhalt von Feld 024 als Startwert<br />
038 ABS 120 06.120 für die Zufallsbelegung in 120 speichern<br />
039 AKO 001 04.001 mit Feld 1 soll angefangen werden<br />
040 ABS 116 06.116 deshalb die „1" in der Feldadreßzelle speichern<br />
041 AKO 043 (11) 04.043 lade „043" als Rücksprungadresse<br />
042 SPU 090 (Z1) 09.090 und springe in die Zufallsbelegung<br />
043 11: LDA 011 05.011 lade den Inhalt von Feld 011 als Startwert<br />
044 ABS 120 06.120 für die Belegung der 2. Hälfte speichern<br />
045 AKO 047 (12) 04.047 „047" ist die Rücksprungadresse<br />
046 SPU 090 (Z1) 09.090 aus der hier aufgerufenen Belegungsroutine<br />
047 12: AKO 000 04.000 lade „0" für folgende Speicherzellen:<br />
048 ABS 125 06.125 Spielernummer<br />
049 ABS 118 06.118 Punktekonto 0. Spieler<br />
050 ABS 119 06.119 Punktekonto 1. Spieler<br />
051 HLT 01.000 HALT - Feldbelegung ist fertig<br />
052 AKO 066 (A3) 04.066 lade „066" als Rücksprungadresse ...<br />
053 ABS 117 06.117 und speichere für den indirekten Sprung<br />
054 LIA 127 19.127 lade das 2. Geratene über die Adreßzelle 127<br />
055 VKL123 13.123 ist es noch kleiner als „100", also nicht gefunden?<br />
056 SPB 058 (A1) 11.058 falls ja, weiter auswerten<br />
057 HLT 01.000 sonst ist Fehleingabe erfolgt: Feld ist schon weg!<br />
058 A1: ABS 120 06.120 speichere das 2. Geratene zwischendurch für den<br />
Vergleich<br />
059 LIA 126 19.126 lade über die andere Adreßzelle 126 das 1. Geratene<br />
060 VKL 123 13.123 ist es kleiner als „100", also noch nicht gefunden?<br />
061 SPB 063 (A2) 11.063 falls ja, zum direkten Vergleich der beiden springen<br />
062 HLT 01.000 sonst HALT - Fehleingabe wie oben! Nochmal versuchen<br />
063 A2: VGL 120 10.120 vergleiche den 1. mit dem zwischengespeicherten 2.<br />
064 SPB 070 (A4) 11.070 falls gleich, zur Paaranzeige springen<br />
065 SPU 084 (B1) 09.084 sonst zum Anzeigen des 1. Wertes springen<br />
066 A3: AKO 080 (A5) 04.080 ,,080" als Rücksprungadresse laden<br />
067 ABS 117 06.117 und speichern in 117<br />
068 LDA 120 05.120 lade den 2. Wert...<br />
069 SPU 084 (B1) 09.084 und zeige auch ihn an in der Anzeigeroutine<br />
070 A4: ANZ 02.000 Paar gefunden! Den Wert anzeigen<br />
071 ADD 123 07.123 um „100" erhöhen<br />
072 AIS 126 20.126 und so den 1. wie den ...<br />
073 AIS 127 20.127 2. Wert als „gefunden" markieren<br />
074 AKO 118 04.118 lade „118" als Punktekontenanfangsadresse<br />
075 ADD 125 07.125 erhöhe diese um die Spielernummer (0 oder 1)...<br />
Fortsetzung siehe nächste Seite<br />
90