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.
Listing 51: Computergesteuerter Modellbahnhof<br />
Adresse Mnemonics Code Kommentar<br />
001 AKO 000 04.000 lade „0"<br />
002 ABS 127 06.127 speichere als Signalzustand (offen)...<br />
003 ABS 100 06.100 und als Vergleichszahl<br />
004 ADD 106 07.106<br />
005 ADD 107 07.107 berechne die Zugzahl durch Addition aller „1" in den<br />
006 ADD 108 07.108 Speicherzellen für die Einzelgleise 106- 109<br />
007 ADD 109 07.109<br />
008 ABS 105 06.105 speichere die Gesamtzahl in 105...<br />
009 ANZ 02.000 und zeige sie an<br />
010 AKO 001 04.001 lade „1" ...<br />
011 ABS 101 06.101 und speichere als Schrittweite und Vergleichszahl...<br />
012 ABS 120 06.120 auch für das Kontaktgleis K0 (Einfahrtsgleis)<br />
013 ADD 120 07.120 verdopple auf „2" ...<br />
014 ABS 121 06.121 als Vergleichszahl für Kontaktgleis K1<br />
i 015 ADD 121 07.121 verdopple auf „4" ...<br />
016 ABS 122 06.122 als Vergleichszahl für Kontaktgleis K2<br />
017 ADD 122 07.122 verdopple auf „8" • • •<br />
018 ABS 123 06.123 als Vergleichszahl für Kontaktgleis K3<br />
019 ADD 123 07.123 verdopple auf „16" ...<br />
020 ABS 124 06.124 als Vergleichszahl für Kontaktgleis K4<br />
021 AKO 004 04.004 lade „4" als maximale Zugzahl in Bahnhof<br />
022 VGL 105 10.105 ist die berechnete Zugzahl gleich der „4"?<br />
023 SPB 077 (A6) 11.077 falls ja, springe zur Blockierung<br />
024 A1: P1E000 16.000<br />
Steuerungsanfang:<br />
lies Port 1 (Kontaktgleiszustände) in den Akku<br />
025 VGL 116 10.116 ist er „255", also kein Kontakt geschlossen?<br />
026 SPB 024 (A1) 11.024 falls ja, weiter warten bei 024<br />
027 ABS 102 06.102 sonst speichere den Wert kurz<br />
028 LDA 116 05.116 lade „255" ...<br />
029 SUB 102 08.102 und subtrahiere das Gespeicherte davon<br />
030 ABS 103 06.103 speichere es als Kontaktgleis-Eingabe<br />
031 VZG 250 03.250 warte eine halbe Sekunde<br />
032 VZG 250 03.250 zur Entprellung der Kontakte<br />
033 AKO 000 04.000 lade „0" für das Einfahrtsgleis K0<br />
034 A2: ABS 104 06.104 speichere sie als Kontaktnummer<br />
035 AKO 120 04.120 lade „120" als den Beginn des Vergleichsdatenbereichs<br />
der Kontakte<br />
036 ADD 104 07.104 addiere die zu testende Gleisnummer dazu ...<br />
037 ABS 126 06.126 und speichere dies als indirekte Adresse<br />
038 LIA 126 19.126 lade so die Vergleichszahl für das Gleis<br />
039 VGL 103 10.103 ist die Kontaktgleis-Eingabe gleich?<br />
040 SPB 044 (A3) 11.044 falls ja, ist der richtige Kontakt gefunden<br />
041 AKO 001 04.001 sonst lade „1" ...<br />
042 ADD 104 07.104 und erhöhe so die Kontaktnummer in 104<br />
043 SPU 034 (A2) 09.034 springe zurück zum Speichern und Testen<br />
044 A3: LDA 104 05.104<br />
Auswertung des Kontaktes:<br />
gefunden! Lade die Kontaktnummer, wo der Kontakt<br />
stattfand<br />
045 VGL 100 10.100 ist es „0", also K0, wo der Kontakt erfolgte?<br />
046 SPB 068 (A4) 11.068 falls ja, suche ein freies Gleis (bei 068)<br />
047 ADD 117 07.117 sonst addiere „105" zur Kontaktnummer<br />
Fortsetzung siehe nächste Seite<br />
128