27
|
1 //#include<stdio.h>
|
|
2 //#include<stdlib.h>
|
|
3
|
|
4 extern int printf(const char*, ...);
|
28
|
5 extern void exit(int status);
|
0
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
6
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
7 #define DPRINT 1
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
8 #define NOINLINE __attribute__((noinline))
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
10 extern __code cs_goto(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j,
|
27
|
11 int a2, int b2, int c2, int d2, int e2, int f2, int g2, int h2, int i2, int j2);
|
0
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
12 extern __code cs0(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j,
|
27
|
13 int a2, int b2, int c2, int d2, int e2, int f2, int g2, int h2, int i2, int j2);
|
0
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
14
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
15 __code (*csp)(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j,
|
27
|
16 int a2, int b2, int c2, int d2, int e2, int f2, int g2, int h2, int i2, int j2);
|
0
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
17
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
18 __code NOINLINE cs_exit(int a){
|
27
|
19 int b = 20 * a + 3;
|
|
20 printf("cs_exit : a=%d. b=%d\n", a, b);
|
|
21 exit(a);
|
0
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
22 }
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
23
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
24 __code NOINLINE cs0(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j,
|
27
|
25 int a2, int b2, int c2, int d2, int e2, int f2, int g2, int h2, int i2, int j2){
|
0
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
26 #if DPRINT
|
27
|
27 //printf("cs0 : a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d.\n", a, b, c, d, e, f, g);
|
|
28 printf("cs0 : a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d, h=%d, i=%d, j=%d\n",
|
|
29 a, b, c, d, e, f, g, h, i, j);
|
|
30 printf("cs0 : a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d, h=%d, i=%d, j=%d\n",
|
|
31 a2, b2, c2, d2, e2, f2, g2, h2, i2, j2);
|
0
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
32 #endif
|
27
|
33 goto cs_exit( (int)(10*a + 10*b + 10*i2 + 10*j2) );
|
0
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
34 }
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
35
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
36 __code NOINLINE cs_goto(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j,
|
27
|
37 int a2, int b2, int c2, int d2, int e2, int f2, int g2, int h2, int i2, int j2){
|
0
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
38 #if DPRINT
|
27
|
39 printf("cs_goto : a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d, h=%d, i=%d, j=%d\n",
|
|
40 a, b, c, d, e, f, g, h, i, j);
|
|
41 printf("cs_goto : a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d, h=%d, i=%d, j=%d\n",
|
|
42 a2, b2, c2, d2, e2, f2, g2, h2, i2, j2);
|
0
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
43 #endif
|
27
|
44 goto cs0(b, c, d, e, f, g, h, i, j, a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, a);
|
0
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
45 }
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
46
|
27
|
47 int function(double l, float m, int n){
|
|
48 int a=10, b=20, c=30, d=40, e=50, f=60, g=70, h=80, i=90, j=100;
|
|
49 int a2=110, b2=120, c2=130, d2=140, e2=150, f2=160, g2=170, h2=180, i2=190, j2=200;
|
0
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
50
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
51 #if DPRINT
|
27
|
52 printf("function: a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d, h=%d, i=%d, j=%d\n",
|
|
53 a, b, c, d, e, f, g, h, i, j);
|
|
54 printf("function: a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d, h=%d, i=%d, j=%d\n",
|
|
55 a2, b2, c2, d2, e2, f2, g2, h2, i2, j2);
|
|
56 //printf("l=%lf, m=%f, n=%d\n", l, m, n);
|
0
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
57 #endif
|
27
|
58 //goto cs_goto(10, 20, 30, 40);
|
|
59 goto cs_goto(a, b, c, d, e, f, g, h, i, j, a2, b2, c2, d2, e2, f2, g2, h2, i2, j2);
|
0
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
60 }
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
61
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
62
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
63 int main(int argc, char **argv){
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
64
|
27
|
65 //printf("main :\n");
|
|
66 /*
|
|
67 printf("main : a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d, h=%d, i=%d, j=%d\n",
|
|
68 a, b, c, d, e, f, g, h, i, j);
|
|
69 printf("main : a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d, h=%d, i=%d, j=%d\n",
|
|
70 a2, b2, c2, d2, e2, f2, g2, h2, i2, j2);
|
|
71 */
|
|
72 //csp = cs0;
|
|
73 function(10.01, 20.02, 30);
|
|
74 return 0;
|
0
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
75 }
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
76
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
77
|