Higher Subleq | Error | Output | Subleq | ITR |
int a,b=50;
int main()
{
a = b;
a -= 1;
a += 2;
__out a;
int a,b=50;
a = b;
a -= 1;
a += 3;
__out a;
}
|
|
34
|
top:top top sqmain
. _a:0 _b:50
_main:
dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
?+6; sp ?+2; bp 0
bp; sp bp
c1 sp
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
dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
?+6; sp ?+2; t3 0
_a; _b Z; Z _a; Z
dec _a
c1 Z; Z _a; Z
_a (-1)
t1; t2; bp t1; c1 t1; t1 t2
?+23; ?+21; ?+24; t2 Z; Z ?+10; Z ?+8
Z ?+11; Z; 0; c2 Z; Z 0; Z
t1; t2; bp t1; c1 t1; t1 t2
t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
t2; t1; bp t2; dec t2; t2 t1
?+23; ?+21; ?+24; t1 Z; Z ?+10; Z ?+8
Z ?+11; Z; 0; t3 Z; Z 0; Z
t1; t2; bp t1; dec t1; t1 t2
?+12; t2 Z; Z ?+5; Z; dec 0
t1; t2; bp t1; dec t1; t1 t2
?+15; t2 Z; Z ?+8; Z
c3 Z; Z 0; Z
t1; t2; bp t1; dec t1; t1 t2
t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
t3 (-1)
?+8; sp ?+4; t3; 0 t3; inc sp
?+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:2 c3:3 c2:50
. t1:0 t2:0 t3:0
. inc:-1 Z:0 dec:1 ax:0 bp:0 sp:-sp
|
Root (mg_13.hsq:16)
Declaration (mg_13.hsq:1)
Keyword [int] (mg_13.hsq:1)
Declarator [0] (mg_13.hsq:1)
Id [a] (mg_13.hsq:1)
Declarator [=] (mg_13.hsq:1)
Id [b] (mg_13.hsq:1)
Const [50] (mg_13.hsq:1)
Function:2 [main] (mg_13.hsq:2)
Keyword [int] (mg_13.hsq:2)
Param-type-list (mg_13.hsq:2)
Block (mg_13.hsq:3)
Assignment [=] (mg_13.hsq:4)
Variable [a] (mg_13.hsq:4) 0:1
Variable [b] (mg_13.hsq:4) =:1
Assignment [-=] (mg_13.hsq:5)
Variable [a] (mg_13.hsq:5) 0:1
Const [1] (mg_13.hsq:5)
Assignment [+=] (mg_13.hsq:6)
Variable [a] (mg_13.hsq:6) 0:1
Const [2] (mg_13.hsq:6)
OperatorIO [__out] (mg_13.hsq:7)
Variable [a] (mg_13.hsq:7) 0:1
Declaration (mg_13.hsq:9)
Keyword [int] (mg_13.hsq:9)
Declarator [0] (mg_13.hsq:9)
Stackvar:1 [a] (mg_13.hsq:9)
Declarator [=] (mg_13.hsq:9)
Stackvar:2 [b] (mg_13.hsq:9)
Const [50] (mg_13.hsq:9)
Assignment [=] (mg_13.hsq:11)
Unary [*] (mg_13.hsq:11) a:9
Additive [+] (mg_13.hsq:11) a:9
Variable [@bp] (mg_13.hsq:11) a:9
Const [1] (mg_13.hsq:11) a:9
Unary [*] (mg_13.hsq:11) b:9
Additive [+] (mg_13.hsq:11) b:9
Variable [@bp] (mg_13.hsq:11) b:9
Const [2] (mg_13.hsq:11) b:9
Assignment [-=] (mg_13.hsq:12)
Unary [*] (mg_13.hsq:12) a:9
Additive [+] (mg_13.hsq:12) a:9
Variable [@bp] (mg_13.hsq:12) a:9
Const [1] (mg_13.hsq:12) a:9
Const [1] (mg_13.hsq:12)
Assignment [+=] (mg_13.hsq:13)
Unary [*] (mg_13.hsq:13) a:9
Additive [+] (mg_13.hsq:13) a:9
Variable [@bp] (mg_13.hsq:13) a:9
Const [1] (mg_13.hsq:13) a:9
Const [3] (mg_13.hsq:13)
OperatorIO [__out] (mg_13.hsq:14)
Unary [*] (mg_13.hsq:14) a:9
Additive [+] (mg_13.hsq:14) a:9
Variable [@bp] (mg_13.hsq:14) a:9
Const [1] (mg_13.hsq:14) a:9
|