Mercurial > hg > CbC > old > device
annotate test/tmp6.c @ 788:fcb642ef08c9
minor fix
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 21 Nov 2010 15:36:23 +0900 |
parents | c2c709727221 |
children | 5313ed059cee |
rev | line source |
---|---|
725
3f1f6c0610c1
goto with enviornment syntax changed.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
720
diff
changeset
|
1 #define __environment _CbC_environment |
3f1f6c0610c1
goto with enviornment syntax changed.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
720
diff
changeset
|
2 #define __return _CbC_return |
3f1f6c0610c1
goto with enviornment syntax changed.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
720
diff
changeset
|
3 |
0 | 4 #include "stdio.h" |
5 | |
449 | 6 char *a[] = {"test1","2"}; |
7 | |
0 | 8 int |
9 main(ac,av) | |
10 int ac; | |
11 char *av[]; | |
12 { | |
13 int i; | |
14 | |
6 | 15 if(ac!=2) { |
748
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
725
diff
changeset
|
16 fprintf(stdout,"#0015:a used.\n"); |
449 | 17 // return(0); |
720 | 18 i=main0(2,a,__return,__environment); |
449 | 19 return 0; |
6 | 20 } |
720 | 21 i=main0(ac,av,__return,__environment); |
748
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
725
diff
changeset
|
22 fprintf(stdout,"#0021:1: %s %d\n",av[0],i); |
172 | 23 return 0; |
0 | 24 } |
25 | |
26 int | |
27 main0(ac,av,ret,retenv) | |
28 int ac; | |
29 char *av[]; | |
622 | 30 __code (*ret)(); |
0 | 31 void *retenv; |
32 { | |
33 int i,j,k; | |
34 i=123; | |
35 j=456; | |
36 k = atoi(av[1]); | |
748
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
725
diff
changeset
|
37 fprintf(stdout,"#0036:2: av=%x av[0]=%x %s\n",av==a,av[0]==a[0],av[0]); |
720 | 38 goto code0(i,j,k,av,ret,retenv,__return,__environment); |
0 | 39 } |
40 | |
622 | 41 __code code0(i,j,k,av,ret,retenv,ret1,ret1env) |
0 | 42 int i,j,k; |
43 char *av[]; | |
622 | 44 __code (*ret)(); |
0 | 45 void *retenv; |
622 | 46 __code (*ret1)(); |
0 | 47 void *ret1env; |
48 { | |
49 char *p; | |
50 p = av[0]; | |
748
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
725
diff
changeset
|
51 fprintf(stdout,"#0050:code0\n",av[0]); |
0 | 52 goto code1(i,j,k,av,ret,retenv,ret1,ret1env); |
53 } | |
54 | |
622 | 55 __code code1(i,j,k,av,ret,retenv,ret1,ret1env) |
0 | 56 int i,j,k; |
57 char *av[]; | |
622 | 58 __code (*ret)(); |
0 | 59 void *retenv; |
622 | 60 __code (*ret1)(); |
0 | 61 void *ret1env; |
62 { | |
748
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
725
diff
changeset
|
63 fprintf(stdout,"#0062:4: %s\n",av[0]); |
0 | 64 goto code2(i,j,k,av,ret,retenv,ret1,ret1env); |
65 } | |
66 | |
622 | 67 __code code2(i,j,k,av,ret,retenv,ret1,ret1env) |
0 | 68 int i,j,k; |
69 char *av[]; | |
622 | 70 __code (*ret)(); |
0 | 71 void *retenv; |
622 | 72 __code (*ret1)(); |
0 | 73 void *ret1env; |
74 { | |
748
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
725
diff
changeset
|
75 fprintf(stdout,"#0074:5: %s\n",av[0]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
725
diff
changeset
|
76 fprintf(stdout,"#0075:5: i=%d j=%d k=%d av=%x\n",i,j,k,av==a); |
0 | 77 if (k>3) |
725
3f1f6c0610c1
goto with enviornment syntax changed.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
720
diff
changeset
|
78 goto (*ret1)(1234,ret1env); |
3f1f6c0610c1
goto with enviornment syntax changed.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
720
diff
changeset
|
79 goto (*ret)(1234,retenv); |
0 | 80 } |