Mercurial > hg > CbC > old > device
annotate test/tmpa.c @ 748:c2c709727221
i64 continue... basic.s assembled.
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 13 Nov 2010 22:39:40 +0900 |
parents | 3f1f6c0610c1 |
children |
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 |
477 | 4 #include <stdio.h> |
5 | |
6 struct enemy{ | |
7 int charno; // image number | |
8 float x; // x location | |
9 float y; // y location | |
10 int ap; // armor point | |
11 }; | |
12 void | |
13 print_param(struct enemy *e) | |
14 { | |
748
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
725
diff
changeset
|
15 printf("#0014:charno:%d x,y:%f,%f hp:%d\n", |
477 | 16 e->charno,e->x,e->y,e->ap); |
17 } | |
18 | |
19 typedef struct{ | |
20 char dest; | |
21 int VF01[4]; | |
622 | 22 __code (*ret)(); |
477 | 23 void *env; |
24 } interface; | |
25 | |
622 | 26 __code a0(interface a) { |
748
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
725
diff
changeset
|
27 printf("#0026:%d\n",a.dest); |
725
3f1f6c0610c1
goto with enviornment syntax changed.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
720
diff
changeset
|
28 goto a.ret(0,a.env); |
477 | 29 } |
30 | |
31 | |
32 int main(int argc,char *argv[]) | |
33 { | |
34 struct enemy e; | |
35 #if 0 | |
36 interface args = {15,{0,0,0,0},return,environment}; | |
37 #else | |
38 interface args = {15,{0,0,0,0},0,0}; | |
720 | 39 args.ret = __return; |
40 args.env = __environment; | |
477 | 41 #endif |
42 | |
43 e.charno=5; e.x=50.0; e.y=30.0; e.ap=100; | |
44 print_param(&e); | |
45 | |
748
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
725
diff
changeset
|
46 printf("#0045:%d %d\n",args.VF01[2],args.VF01[1]); |
477 | 47 goto a0(args); |
48 } | |
49 |