Beispiel
--------

Eine Schleife, die die Werte 1 bis 10 mit sich selbst multipliziert
und das Ergebnis aufaddiert:

var x, y, z;

begin
x := 1;
z := 0;
while x < 11 do
 begin
  y := x * x;
  write y;
  z := z + y;
  x := x + 1;
 end;
write z;
end.


Der vom Compiler erstellte Assembler-Quelltext muss noch ergaenzt
werden, damit die Uebersetzung mit ACME funktioniert. Im folgenden
fertigen Quelltext ist der vom Compiler erzeugte Code mit den
Kommentaren "start pl/0" und "ende pl/0" markiert. Zur Erlaeuterung
des Quelltextes sei auf die Dokumentation im Projekt "Stackbasierte
Programmierung" verwiesen.


 !to "loop.prg", cbm

 *=$c000

 jmp start

 !source "stack.a"

start
 +initstp

; start pl/0

 +lit 1

 +sto var1
 +lit 0

 +sto var3
; while
lbl1
 +lod var1
 +lit 11

 jsr lss

 +jpc lbl2
; do
 +lod var1
 +lod var1

 jsr mul
 +sto var2
; write
 +lod var2

 jsr outdec
 +lit 13
 jsr outchr
; endwrite
 +lod var3
 +lod var2

 jsr add
 +sto var3
 +lod var1
 +lit 1

 jsr add
 +sto var1

 jmp lbl1
; endwhile
lbl2
; write
 +lod var3

 jsr outdec
 +lit 13
 jsr outchr
; endwrite

; ende pl/0

 rts

var1
 !wo 0
var2
 !wo 0
var3
 !wo 0


Die Ausgabe des uebersetzten Assemblerprogramms ist:

1
4
9
16
25
36
49
64
81
100
385