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.

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!