statement:

DrawObject

















Zuweisung

st1(Linke Seite der Zuweisung):

Bezeichner gefunden

Code

Parameter

Local

PushAdrVarLocal

Relativadresse

Im Hauptprogramm

PushAdrVarMain

Relativadresse

In umgebender Prozedur

PushAdrVarGlobal

Relativadresse, Prozedurnummer


st2 (Rechte Seite der Zuweisung):

Im Stack steht nun die Adresse der Zielvariable und der Wert des fertig berechneten Ausdrucks.


if-Anweisung

st3 (if, nach Condition)


st4 (if, nach Statement)





Relativadresse (11 bzw. 0xb)






jnot

xx

xx

















jnot-Befehl

Bedingte Anweisung(-en) der if-Anweisung

Folgende Anweisungen


Die Relativadresse in der Skizze würde 11 (0xb) betragen


while-Anweisung

st5 (while)


st6 (while, nach Condition)


st7 (if, nach Statement)







jnot

xx

xx









jmp

yy

yy






Condition

jnot-Befehl

Bedingte Anweisung(-en) der if-Anweisung

Folgende Anweisungen


call


st8 Prozeduraufruf


Eingabe


st9

Bezeichner gfunden

Code

Parameter

Local

PushAdrVarLocal

Relativadresse

Im Hauptprogramm

PushAdrVarMain

Relativadresse

In umgebender Prozedur

PushAdrVarGlobal

Relativadresse, Prozedurnummer


Codegenerierung getval


Ausgabe


Auszugebender Wert steht im Stack.

st10

Codegenerierung putval