Mercurial > hg > CbC > old > device
annotate test/offset.c @ 838:c7c19e5aefe7
CAST (left value) and BITFIELD
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 03 Dec 2010 22:06:34 +0900 |
parents | c2c709727221 |
children |
rev | line source |
---|---|
556 | 1 extern int printf(const char *,...); |
373 | 2 |
713 | 3 #ifndef INLINE |
4 #define INLINE | |
5 #endif | |
6 | |
373 | 7 #define BIT8 260 |
8 #define BIT10 1030 | |
9 #define BIT12 5000 | |
10 #define BIT16 (65536*2) | |
11 | |
12 int midium[BIT12]; | |
13 int large[BIT16]; | |
14 | |
713 | 15 static INLINE int |
375 | 16 main0(int ac,char *av[]) |
373 | 17 { |
18 int *p; | |
19 int local_midium[BIT12]; | |
20 int local_large[BIT16]; | |
21 | |
375 | 22 #if 0 |
748
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
23 printf("#0022:int ac =\t%x\n",&ac); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
24 printf("#0023:int midium[0] =\t%x\n",&midium[0]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
25 printf("#0024:int midium[BIT12] =\t%x\n",&midium[BIT12]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
26 printf("#0025:int large[0] =\t%x\n",&large[0]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
27 printf("#0026:int large[BIT16] =\t%x\n",&large[BIT16]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
28 printf("#0027:int local_midium[0] =\t%x\n",&local_midium[0]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
29 printf("#0028:int local_midium[BIT12] =\t%x\n",&local_midium[BIT12]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
30 printf("#0029:int local_large[0] =\t%x\n",&local_large[0]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
31 printf("#0030:int local_large[BIT16] =\t%x\n",&local_large[BIT16]); |
375 | 32 #endif |
33 | |
373 | 34 midium[0]=0x55; |
35 large[0]=0x55; | |
36 local_midium[0]=0x55; | |
37 local_large[0]=0x55; | |
38 | |
39 midium[BIT8]=0x50; | |
40 large[BIT8]=0x50; | |
41 local_midium[BIT8]=0x50; | |
42 local_large[BIT8]=0x50; | |
43 | |
44 midium[BIT10]=0xa0; | |
45 large[BIT10]=0xa0; | |
46 local_midium[BIT10]=0xa0; | |
47 local_large[BIT10]=0xa0; | |
48 | |
49 midium[BIT12-1]=0xaa; | |
50 large[BIT16-1]=0xaa; | |
51 local_midium[BIT12-1]=0xaa; | |
52 local_large[BIT16-1]=0xaa; | |
53 | |
748
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
54 printf("#0053:%x\n", midium[0]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
55 printf("#0054:%x\n", large[0]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
56 printf("#0055:%x\n", local_midium[0]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
57 printf("#0056:%x\n", local_large[0]); |
373 | 58 |
748
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
59 printf("#0058:%x\n", midium[BIT8]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
60 printf("#0059:%x\n", large[BIT8]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
61 printf("#0060:%x\n", local_midium[BIT8]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
62 printf("#0061:%x\n", local_large[BIT8]); |
373 | 63 |
748
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
64 printf("#0063:%x\n", midium[BIT10]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
65 printf("#0064:%x\n", large[BIT10]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
66 printf("#0065:%x\n", local_midium[BIT10]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
67 printf("#0066:%x\n", local_large[BIT10]); |
373 | 68 |
748
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
69 printf("#0068:%x\n", midium[BIT12-1]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
70 printf("#0069:%x\n", large[BIT16-1]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
71 printf("#0070:%x\n", local_midium[BIT12-1]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
72 printf("#0071:%x\n", local_large[BIT16-1]); |
373 | 73 |
74 p = local_large+BIT16; | |
75 | |
76 p[-1] = 0xaa; | |
77 p[-BIT8] = 0xbb; | |
78 p[-BIT10] = 0xcc; | |
79 p[-(BIT12-1)] = 0xdd; | |
80 p[-(BIT16-1)] = 0xee; | |
81 | |
748
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
82 printf("#0081:%x\n", p[-1]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
83 printf("#0082:%x\n", p[-BIT8]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
84 printf("#0083:%x\n", p[-BIT10]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
85 printf("#0084:%x\n", p[-(BIT12-1)]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
86 printf("#0085:%x\n", p[-(BIT16-1)]); |
375 | 87 |
377 | 88 p = large+BIT16; |
89 | |
90 p[-1] = 0xaa; | |
91 p[-BIT8] = 0xbb; | |
92 p[-BIT10] = 0xcc; | |
93 p[-(BIT12-1)] = 0xdd; | |
94 p[-(BIT16-1)] = 0xee; | |
95 | |
748
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
96 printf("#0095:%x\n", p[-1]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
97 printf("#0096:%x\n", p[-BIT8]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
98 printf("#0097:%x\n", p[-BIT10]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
99 printf("#0098:%x\n", p[-(BIT12-1)]); |
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
100 printf("#0099:%x\n", p[-(BIT16-1)]); |
377 | 101 |
102 | |
375 | 103 for(p=local_midium;p<&local_midium[BIT12];p++) *p = p-local_midium; |
104 for(p=local_large;p<&local_large[BIT16];p++) *p = p-local_large; | |
373 | 105 |
377 | 106 for(p=midium;p<&midium[BIT12];p++) *p = p-midium; |
107 for(p=large;p<&large[BIT16];p++) *p = p-large; | |
575 | 108 return 0; |
373 | 109 } |
375 | 110 |
556 | 111 int |
375 | 112 main(int ac,char *av[]) |
113 { | |
114 int i=-1,j=-2,k=-3; | |
115 | |
116 main0(ac,av); | |
117 | |
748
c2c709727221
i64 continue... basic.s assembled.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
713
diff
changeset
|
118 printf("#0117:%d %d %d %d\n",ac,i,j,k); |
375 | 119 return 0; |
120 } | |
121 |