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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
556
ef225b589888 s-dandy fix
kono
parents: 427
diff changeset
1 extern int printf(const char *,...);
373
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
2
713
88e364604533 *** empty log message ***
kono
parents: 575
diff changeset
3 #ifndef INLINE
88e364604533 *** empty log message ***
kono
parents: 575
diff changeset
4 #define INLINE
88e364604533 *** empty log message ***
kono
parents: 575
diff changeset
5 #endif
88e364604533 *** empty log message ***
kono
parents: 575
diff changeset
6
373
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
7 #define BIT8 260
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
8 #define BIT10 1030
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
9 #define BIT12 5000
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
10 #define BIT16 (65536*2)
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
11
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
12 int midium[BIT12];
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
13 int large[BIT16];
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
14
713
88e364604533 *** empty log message ***
kono
parents: 575
diff changeset
15 static INLINE int
375
91849fdeea60 PowerPC large offset.
kono
parents: 373
diff changeset
16 main0(int ac,char *av[])
373
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
17 {
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
18 int *p;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
19 int local_midium[BIT12];
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
20 int local_large[BIT16];
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
21
375
91849fdeea60 PowerPC large offset.
kono
parents: 373
diff changeset
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
91849fdeea60 PowerPC large offset.
kono
parents: 373
diff changeset
32 #endif
91849fdeea60 PowerPC large offset.
kono
parents: 373
diff changeset
33
373
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
34 midium[0]=0x55;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
35 large[0]=0x55;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
36 local_midium[0]=0x55;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
37 local_large[0]=0x55;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
38
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
39 midium[BIT8]=0x50;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
40 large[BIT8]=0x50;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
41 local_midium[BIT8]=0x50;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
42 local_large[BIT8]=0x50;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
43
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
44 midium[BIT10]=0xa0;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
45 large[BIT10]=0xa0;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
46 local_midium[BIT10]=0xa0;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
47 local_large[BIT10]=0xa0;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
48
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
49 midium[BIT12-1]=0xaa;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
50 large[BIT16-1]=0xaa;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
51 local_midium[BIT12-1]=0xaa;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
52 local_large[BIT16-1]=0xaa;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
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
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
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
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
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
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
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
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
73
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
74 p = local_large+BIT16;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
75
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
76 p[-1] = 0xaa;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
77 p[-BIT8] = 0xbb;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
78 p[-BIT10] = 0xcc;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
79 p[-(BIT12-1)] = 0xdd;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
80 p[-(BIT16-1)] = 0xee;
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
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
91849fdeea60 PowerPC large offset.
kono
parents: 373
diff changeset
87
377
b23568be1155 ARM continue (const table)
kono
parents: 375
diff changeset
88 p = large+BIT16;
b23568be1155 ARM continue (const table)
kono
parents: 375
diff changeset
89
b23568be1155 ARM continue (const table)
kono
parents: 375
diff changeset
90 p[-1] = 0xaa;
b23568be1155 ARM continue (const table)
kono
parents: 375
diff changeset
91 p[-BIT8] = 0xbb;
b23568be1155 ARM continue (const table)
kono
parents: 375
diff changeset
92 p[-BIT10] = 0xcc;
b23568be1155 ARM continue (const table)
kono
parents: 375
diff changeset
93 p[-(BIT12-1)] = 0xdd;
b23568be1155 ARM continue (const table)
kono
parents: 375
diff changeset
94 p[-(BIT16-1)] = 0xee;
b23568be1155 ARM continue (const table)
kono
parents: 375
diff changeset
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
b23568be1155 ARM continue (const table)
kono
parents: 375
diff changeset
101
b23568be1155 ARM continue (const table)
kono
parents: 375
diff changeset
102
375
91849fdeea60 PowerPC large offset.
kono
parents: 373
diff changeset
103 for(p=local_midium;p<&local_midium[BIT12];p++) *p = p-local_midium;
91849fdeea60 PowerPC large offset.
kono
parents: 373
diff changeset
104 for(p=local_large;p<&local_large[BIT16];p++) *p = p-local_large;
373
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
105
377
b23568be1155 ARM continue (const table)
kono
parents: 375
diff changeset
106 for(p=midium;p<&midium[BIT12];p++) *p = p-midium;
b23568be1155 ARM continue (const table)
kono
parents: 375
diff changeset
107 for(p=large;p<&large[BIT16];p++) *p = p-large;
575
a4445cb1aa91 Example filex.
kono
parents: 558
diff changeset
108 return 0;
373
a9bc85fe6702 *** empty log message ***
kono
parents:
diff changeset
109 }
375
91849fdeea60 PowerPC large offset.
kono
parents: 373
diff changeset
110
556
ef225b589888 s-dandy fix
kono
parents: 427
diff changeset
111 int
375
91849fdeea60 PowerPC large offset.
kono
parents: 373
diff changeset
112 main(int ac,char *av[])
91849fdeea60 PowerPC large offset.
kono
parents: 373
diff changeset
113 {
91849fdeea60 PowerPC large offset.
kono
parents: 373
diff changeset
114 int i=-1,j=-2,k=-3;
91849fdeea60 PowerPC large offset.
kono
parents: 373
diff changeset
115
91849fdeea60 PowerPC large offset.
kono
parents: 373
diff changeset
116 main0(ac,av);
91849fdeea60 PowerPC large offset.
kono
parents: 373
diff changeset
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
91849fdeea60 PowerPC large offset.
kono
parents: 373
diff changeset
119 return 0;
91849fdeea60 PowerPC large offset.
kono
parents: 373
diff changeset
120 }
91849fdeea60 PowerPC large offset.
kono
parents: 373
diff changeset
121