A Cesil programozási nyelv

Utasítások, vezérlési szerkezetek

Utasítások, vezérlési szerkezetek

Értékadások, utasítások

Értékadásnak a STORE utasítás felel meg, ami egy egész számot tárol el a megadott néven.

A CESIL nyelv összesen 14 utasitást tartalmaz. Ezek az alábbiak:

Memória műveletek
LOAD számkonstans, LOAD változónév
Betölt az akkumulátorba egy számkonstanst vagy egy változót amit korábban elmentettünk a STORE parancssal.
STORE változónév
Elmenti az akkumulátor tartalmát az adott néven.
IN
Betölti az akkumulátorba a futási adathalmaz következő elemét.
Aritmetikai műveletek
ADD számkonstans, ADD változónév
Az akkumulátorhoz hozzáadja a számkonstanst vagy a változóban tárolt értéket.
SUBTRACT számkonstans, SUBTRACT változónév
Az akkumulátorból kivonja a számkonstanst vagy a változóban tárolt értéket.
MULTIPLY számkonstans, MULTIPLY változónév
Az akkumulátor értékét megszorozza a számkonstanssal vagy a változóban tárolt értékkel.
DIVIDE számkonstans, DIVIDE változónév
Az akkumulátor értékét elosztja a számkonstanssal vagy a változóban tárolt értékkel. Az értéket kerekíti.
Ugrási műveletek
JUMP cimke
A vezérlés a megadott cimkénél folytatódik.
JIZERO cimke
Ha az akkumulátor értéke nulla, akkor a megadott cimkére ugrik a vezérlés.
JINEG cimke
Ha az akkumulátor értéke negatív, akkor a megadott cimkére ugrik a vezérlés.
Kimeneti műveletek
PRINT szöveg
Kiírja az adott szöveget a képernyőre.
OUT
Jobbra igazítva kiírja az akkumulátor tartalmát.
LINE
Új sorba helyezi a kurzort.
Vezérlési utasítások
HALT
Befejezi a program futását.

Szekvencia

Az utasítássorozatban az utasítások egymás után írása a szekvencia.

Elágazás

Az elágazás konstrukciót a nyelv nem tartalmazza, de ki lehet váltani cimkékkel és ugró utasításokkal.

Példa: if (akkumulátor == 0) then {print "Az akkumulator 0"} else {print "Nem nulla az akkumulátor"}

IF JIZERO THEN JUMP ELSE THEN PRINT "Az akkumulator 0" JUMP ENDIF ELSE PRINT "Nem nulla az akkumulátor" ENDIF

Ciklus

A nyelv, hasonlóan az elágazáshoz, nem támogatja közvetlenül a ciklusokat, de cimkékkel és ugró utasításokkal ez is megoldható.

Példa: for( int IVALT = 0; IVALT < 10; ++IVALT) PRINT "A ciklusvaltozo: %d" IVALT

LOAD 0 STORE IVALT FOR LOAD IVALT SUBTRACT 10 JIZERO ENDFOR PRINT "A ciklusvaltozo: " LOAD IVALT OUT LINE ADD 1 STORE IVALT JUMP FOR ENDFOR

Példa: while(IVALT > 0) { IVALT-=1 }

LOAD 100 STORE IVALT WHILE LOAD IVALT JINEG ENDWHILE SUBSTRACT 1 STORE IVALT JUMP WHILE ENDWHILE

Vezérlésátadó utasítások

A CESIL nyelvben 3+1 vezérlésátadó utasítás van. A HALT befejezi a program futását. Az ugró utasítások a JIZERO, JINEG és a JUMP. A JIZERO akkor ugrik, ha az akkumulátor tartalma nulla. A JINEG akkor ugrik, ha az akkumulátor értéke negatív. A JUMP feltétel nélkül ugrik a megadott cimkére.