LED
Leiter-Game, TPS Programmcode: |
|||
Adresse |
Befehl/ Daten |
Kommentar |
Bemerkung |
00 |
41 |
A=1 |
|
01 |
51 |
B=A |
In B wird der aktuelle
Spielstand abgespeichert |
02 |
61 |
A=B |
|
03 |
7A |
A=Not A |
|
04 |
71 |
A=A+1 |
|
05 |
52 |
C=A |
|
06 |
80 |
Page 0 |
|
07 |
AA |
C mal Adr 0A |
Schleife der Leuchtphase
(C=invertierter Wert vom Spielstand +1) |
08 |
81 |
Page 1 |
|
09 |
9A |
Adr 1A |
|
0A |
61 |
A=B |
|
0B |
54 |
Port=A |
|
0C |
25 |
Warte 50 ms |
|
0D |
00 |
00 |
Platzhalter. Hier konnte ich
versuchsweise Wartebefehle mit Adr 0C kombinieren |
0E |
CD |
Skip if S2=0 |
Bei jedem Durchlauf wird
gefragt, ob der Taster S2 gedrückt wird |
0F |
38 |
Springe -8 |
|
10 |
71 |
A=A+1 |
Der Spielstand wird um 1
erhöht |
11 |
51 |
B=A |
und in B abgespeichert.
Wird 15 überschritten fällt der Spielstand auf 0 |
12 |
54 |
Port=A |
|
13 |
CF |
Skip if S2=1 |
Der Taster muss
losgelassen werden, damit das Spiel weitergehen kann |
14 |
31 |
Springe -1 |
|
15 |
40 |
A=0 |
|
16 |
82 |
Page 2 |
|
17 |
C3 |
Skip if A=B |
Gewonnen! (B=0) |
18 |
99 |
Adr 29 |
Sprung über Adr 29 auf
Adr 1A zur Dunkelphase |
19 |
9B |
Adr 2B |
Sprung zur
Siegesanimation |
1A |
4F |
A=15 |
|
1B |
53 |
D=A |
|
1C |
82 |
Page 2 |
|
1D |
B0 |
D mal Adr 20 |
Schleife der Dunkelphase (15
mal) |
1E |
80 |
Page 0 |
|
1F |
92 |
Adr 02 |
|
20 |
10 |
Port=0 |
|
21 |
25 |
Warte 50 ms |
|
22 |
CD |
Skip if S2=0 |
Falls der Taster gedrückt
ist… |
23 |
36 |
Springe -6 |
|
24 |
41 |
A=1 |
…wird der Spielstand auf
1 |
25 |
51 |
B=A |
zurückgesetzt |
26 |
54 |
Port=A |
|
27 |
CF |
Skip if S2=1 |
|
28 |
31 |
Springe -1 |
|
29 |
81 |
Page 1 |
|
2A |
9A |
Adr 1A |
|
2B |
71 |
A=A+1 |
Siegesanimation |
2C |
54 |
Port=A |
|
2D |
59 |
PWM=A |
|
2E |
26 |
Warte 100 ms |
|
2F |
CD |
Skip if S2=0 |
Spiel neu starten |
30 |
35 |
Springe -5 |
|
31 |
40 |
A=0 |
|
32 |
59 |
PWM=A |
|
33 |
94 |
Adr 24 |
|
|
|
|
|
|
|
|
|