29.10.2013 Aufrufe

CP1 Anleitung (Manual) - 8Bit-Homecomputermuseum

CP1 Anleitung (Manual) - 8Bit-Homecomputermuseum

CP1 Anleitung (Manual) - 8Bit-Homecomputermuseum

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Wem das Programm, so wie es geschrieben wurde,<br />

zu lang ist, kann ja seinen Grips mal anstrengen:<br />

die lange Latte von Vergleichs- und Sprungbefeh­<br />

len zum Stundenladen könnte man nämlich sehr<br />

elegant mit den Indirekten Befehlen LIA und AIS<br />

Listing 28: Uhr mit wechselnder Stunden- und Minutenanzeige<br />

Adresse Mnemonics Code Kommentar<br />

000 AKO 000 04.000 lade „0"<br />

kürzen; so etwa mit folgender Überlegung: mo­<br />

mentane Stunde als Adresse für die Anzeigetabelle<br />

speichern und damit indirekt den richtigen „Be­<br />

fehl" laden. Nur Mut, es ist gar nicht so schwer!<br />

001 ABS 118 06.118 speichere als Viertelsekundenzähler...<br />

002 ABS 121 06.121 und als Sekundentakt<br />

003 AKO XXX 04.XXX lade die aktuelle Minute (Uhr!)<br />

004 ABS 119 06.119 speichere in 119<br />

005 AKO YYY 04.YYY lade die aktuelle Stunde (Uhr!)<br />

006 ABS 120 06.120 speichere in 120<br />

007 SPU 044 (B1) 09.044 das Programm fängt so richtig erst bei 044 an<br />

008 A1: AKO 001 04.001 lade„1"<br />

009 ADD 121 07.121 addiere den Sekundentakt zu dieser „1"...<br />

010 ABS 121 06.121 und speichere den Sekundentakt wieder<br />

011 VGR 092 12.092 ist er größer als „4", also eine Sekunde vorbei?<br />

012 SPB 015(A2) 11.015 falls ja, springe zu 015 (Stunde laden)<br />

013 LDA 119 05.119 sonst lade die Minute in den Akku .. .<br />

014 SPU 020 (A4) 09.020 und springe zum Anzeigen<br />

015 A2: VKL 096 13.096 ist der Takt noch kleiner als „8"?<br />

016 SPB 019 (A3) 11.019 falls ja, springe direkt zum Stunde-Laden<br />

017 AKO 000 04.000 sonst lade „0"...<br />

018 ABS 121 06.121 und speichere als Sekundentakt: Neubeginn<br />

019 A3: LDA 117 05.117 lade den Inhalt der Anzeigezelle in den Akku ...<br />

020 A4: ANZ 02.000 und zeige den Wert an (Minute und Stunde im<br />

Sekundentakt)<br />

021 A5: VZG 217 03.217 warte kurz<br />

022 AKO 001 04.001 lade „1"<br />

023 ADD 118 07.118 addiere den Viertelsekundenzähler dazu ...<br />

024 ABS 118 06.118 und speichere den erhöhten Wert<br />

025 VKL116 13.116 ist er kleiner als „240"?<br />

026 SPB 008 (A1) 11.008 dann ist die Minute noch nicht rum - weiterzählen<br />

027 AKO 000 04.000 sonst lade „0"<br />

028 ABS 118 06.118 speichere als Viertelsekundenzähler: Neubeginn<br />

029 AKO 001 04.001 lade „1"...<br />

030 ADD 119 07.119 und addiere dazu den bisherigen Minutenwert<br />

031 ABS 119 06.119 speichere die neue Minute wieder<br />

032 VZG 000 03.000 warte - (Zeitkorrektur möglich)<br />

033 VKL 115 13.115 ist die Minute kleiner als „60"?<br />

034 SPB 021 (A5) 11.021 falls ja, weiter bei 021 (neuer Start der Viertelsekunden)<br />

035 AKO 000 04.000 sonst lade „0"<br />

036 ABS 119 06.119 speichere als Minutenwert: eine Stunde ist rum<br />

037 AKO 001 04.001 deshalb lade „1"...<br />

038 ADD 120 07.120 und addiere dazu den bisherigen Stundenwert<br />

039 ABS 120 06.120 speichere die Stunde wieder<br />

040 VKL 114 13.114 ist die Stunde „13" noch nicht erreicht?<br />

041 SPB 044 (B1) 11.044 falls ja, springe zum Anzeigevorbereiten<br />

042 AKO 001 04.001 sonst lade „1"<br />

Fortsetzung siehe nächste Seite<br />

73

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!