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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
4 #include <stdio.h>
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
5
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
6 struct enemy{
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
7 int charno; // image number
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
8 float x; // x location
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
9 float y; // y location
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
10 int ap; // armor point
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
11 };
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
12 void
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
13 print_param(struct enemy *e)
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
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
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
16 e->charno,e->x,e->y,e->ap);
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
17 }
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
18
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
19 typedef struct{
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
20 char dest;
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
21 int VF01[4];
622
682c8ec38d45 _code へ
kono
parents: 491
diff changeset
22 __code (*ret)();
477
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
23 void *env;
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
24 } interface;
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
25
622
682c8ec38d45 _code へ
kono
parents: 491
diff changeset
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
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
29 }
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
30
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
31
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
32 int main(int argc,char *argv[])
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
33 {
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
34 struct enemy e;
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
35 #if 0
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
36 interface args = {15,{0,0,0,0},return,environment};
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
37 #else
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
38 interface args = {15,{0,0,0,0},0,0};
720
6b7372e17970 *** empty log message ***
kono
parents: 622
diff changeset
39 args.ret = __return;
6b7372e17970 *** empty log message ***
kono
parents: 622
diff changeset
40 args.env = __environment;
477
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
41 #endif
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
42
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
43 e.charno=5; e.x=50.0; e.y=30.0; e.ap=100;
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
44 print_param(&e);
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
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
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
47 goto a0(args);
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
48 }
308192c08e0a *** empty log message ***
kono
parents:
diff changeset
49