Higher Subleq | Error | Output | Subleq | ITR |
int k=50;
void main()
{
if(0) k = __in;
__out k;
}
|
|
2
|
top:top top sqmain
. _k:50
_main:
dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
?+6; sp ?+2; bp 0
bp; sp bp
dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
?+6; sp ?+2; t1 0
dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
?+6; sp ?+2; t2 0
t2; c1 Z; Z t2 ?+3; Z Z ?+9; Z; c1 t2; c1 t2
Z t2 l1
t1; (-1) t1
_k; t1 Z; Z _k; Z
l1:
_k (-1)
?+8; sp ?+4; t2; 0 t2; inc sp
?+8; sp ?+4; t1; 0 t1; inc sp
sp; bp sp
?+8; sp ?+4; bp; 0 bp; inc sp
?+8; sp ?+4; ?+7; 0 ?+3; Z Z 0
sqmain:
dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
?+6; sp ?+2; ?+2 0 _main; . ?; inc sp
Z Z (-1)
. c1:0
. t1:0 t2:0
. inc:-1 Z:0 dec:1 ax:0 bp:0 sp:-sp
|
Root (mg_22_2.hsq:7)
Declaration (mg_22_2.hsq:1)
Keyword [int] (mg_22_2.hsq:1)
Declarator [=] (mg_22_2.hsq:1)
Id [k] (mg_22_2.hsq:1)
Const [50] (mg_22_2.hsq:1)
Function:0 [main] (mg_22_2.hsq:2)
Keyword [void] (mg_22_2.hsq:2)
Param-type-list (mg_22_2.hsq:2)
Block (mg_22_2.hsq:3)
Keyword-statement [if] (mg_22_2.hsq:4)
Equality [!=] (mg_22_2.hsq:4)
Const [0] (mg_22_2.hsq:4)
Const [0] (mg_22_2.hsq:4)
Assignment [=] (mg_22_2.hsq:4)
Variable [k] (mg_22_2.hsq:4) =:1
OperatorIO [__in] (mg_22_2.hsq:4)
OperatorIO [__out] (mg_22_2.hsq:5)
Variable [k] (mg_22_2.hsq:5) =:1
|