var a,b,Max;
procedure p1;
begin
if a>=b then Max:=a;
if a< b then Max:=b
end;
begin
?a;?b;
call p1;
!Max
end.
Max;
Hexdump
des compilierten Beispiels:
0000: 02 00 00 00|1A 2A 00 01|00 00 00 01|00 00 01 04 .....*..........
0010: 00 15 19 07|00 04 08 00|01 00 00 07|01 00 00 01 ................
0020: 04 00 12 19|07 00 04 08|00 01 04 00|07 17 1A 17 ................
0030: 00 00 00 0C|00 04 00 00|09 04 04 00|09 16 01 00 ................
0040: 01 08 00 08|17 00 00 00|00 00 00 00|00 00 00 00 ................
In etwas lesbarer Form mit mnemonischen Befehlscodes, generiert mit outCl0:
Procedure
EntryProc 002A,0001,0000
PushValVarMain 0000
PushValVarMain 0004
CmpGeaterEqual
JmpNot 0007
PushAdrVarMain 0008
PushValVarMain 0000
StoreVal
PushValVarMain 0000
PushValVarMain 0004
CmpLessThen
JmpNot 0007
PushAdrVarMain 0008
PushValVarMain 0004
StoreVal
ReturnProc
Procedure
EntryProc 0017,0000,000C
PushAdrVarMain 0000
GetVal
PushAdrVarMain 0004
GetVal
Call 0001
PushValVarMain 0008
PutVal
ReturnProc