Beispiele --------- Die Beispiele koennen mit dem ACME-Assembler uebersetzt werden. Werte und Variablen laden und speichern: z.B. a := 5; b := a; +initstp +lit 5 +sto VAR_A +lod VAR_A +sto VAR_B rts VAR_A !wo 0 VAR_B !wo 0 Arithmetik: z.B. a := 5 * (b + 10); +initstp +lod var_b +lit 10 jsr add ; b + 10 +lit 5 jsr mul ; * 5 +sto var_a ; speichern in a rts VAR_A !wo 0 VAR_B !wo 0 Bedingte Verzweigung: z.B. if a = 5 then b := 10 else b := 0; +initstp +lod VAR_A +lit 5 jsr lss ; a < 5 +jpc LBL1 ; Sprung bei False +lit 10 +sto VAR_B ; b := 10 jmp LBL2 LBL1: +lit 0 +sto VAR_B ; b := 0 LBL2: rts VAR_A !wo 0 VAR_B !wo 0 Schleifen und Ausgabe von Werten: z.B. a := 1; while a < 11 do begin writeln a * 5; a := a + 1; end; +initstp +lit 1 +sto VAR_A LBL1: +lod VAR_A +lit 11 jsr lss ; a < 11 +jpc LBL2 ; Sprung bei False +lod VAR_A +lit 5 jsr mul ; a * 5 jsr outdec ; als Zahlenwert ausgeben +lit 13 jsr outchr ; Zeilenumbruch ausgeben +lod VAR_A jsr incr +sto VAR_A ; a := a + 1 jmp LBL1 LBL2: rts VAR_A !wo 0 Zugriff auf Basic-Integervariablen: z.B. BC% = A% * 15 +initstp +litv 'A', 0 ; A% laden jsr lodint +lit 15 ; * 15 jsr mul +litv 'B', 'C' ; als BC% speichern jsr stoint rts