Beispiel2 zum Simulationsapplet CoSi6

img57.gif

Das Programm wird in den Speicher eingegeben.

Diese Beispiel verwendet auch das Indexregister. Es wird als Zähler für eine Wiederholungsschleife genutzt. Man könnte auch auf dieses Register verzichten und in einer Speicherzelle zählen. Ein Register ist aber in der Praxis sehr viel schneller. Außerdem verringert sich der Programmieraufwand.

In den Speicherzellen 8 und 9 befinden sich die Eingabedaten

Mit dem Knopf "Programmstart" wird der Befehlszähler auf 0 gesetzt 

Mit dem Knopf "Befehlszyklus komplett" wird der erste Befehl ins Befehlsregister geholt, entschlüsselt und ausgeführt.

Hier der Trace zu dem Programm mit den Eingabewerten 4 und 13.

Befehlszyklus Nr.

BZ

BR

AK

XR

Speicher
Nr. 10

1

0

LDA 8

4

0

?

2

1

STX

4

4

?

3

2

NUL

0

4

?

4

3

ADD 9

13

4

?

5

4

DEX

13

3

?

6

5

JXP 3

13

3

?

7

3

ADD 9

26

3

?

8

4

DEX

26

2

?

9

5

JXP 3

26

2

?

10

3

ADD 9

39

2

?

11

4

DEX

39

1

?

12

5

JXP 3

39

1

?

13

3

ADD 9

52

1

?

14

4

DEX

52

0

?

15

5

JXP 3

52

0

?

16

6

STA 10

52

0

52

17

7

END

0

0

52

In der Speicherzelle 10 steht der Ausgabewert 52. Das Programm berechnet das Produkt zweier Zahlen.