Subversion Repositories svnkaklik

Compare Revisions

Ignore whitespace Rev 483 → Rev 484

/programy/C/avr/AVRcam/CamInterface.lst
1,99 → 1,98
GAS LISTING /tmp/cc4KZ7ps.s page 1
GAS LISTING /tmp/ccnpicUY.s page 1
 
 
1 .file "CamInterface.c"
2 .arch atmega8
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
10 .stabs "/home/kaklik/projects/programy/Atmel_C/AVRcam/",100,0,2,.Ltext0
11 .stabs "CamInterface.c",100,0,2,.Ltext0
12 .text
13 .Ltext0:
14 .stabs "gcc2_compiled.",60,0,0,0
15 .stabs "int:t(0,1)=r(0,1);-32768;32767;",128,0,0,0
16 .stabs "char:t(0,2)=@s8;r(0,2);0;255;",128,0,0,0
17 .stabs "long int:t(0,3)=@s32;r(0,3);020000000000;017777777777;",128,0,0,0
18 .stabs "unsigned int:t(0,4)=r(0,4);0;0177777;",128,0,0,0
19 .stabs "long unsigned int:t(0,5)=@s32;r(0,5);0;037777777777;",128,0,0,0
20 .stabs "long long int:t(0,6)=@s64;r(0,6);01000000000000000000000;0777777777777777777777;",128,0,0,
21 .stabs "long long unsigned int:t(0,7)=@s64;r(0,7);0;01777777777777777777777;",128,0,0,0
22 .stabs "short int:t(0,8)=r(0,8);-32768;32767;",128,0,0,0
23 .stabs "short unsigned int:t(0,9)=r(0,9);0;0177777;",128,0,0,0
24 .stabs "signed char:t(0,10)=@s8;r(0,10);-128;127;",128,0,0,0
25 .stabs "unsigned char:t(0,11)=@s8;r(0,11);0;255;",128,0,0,0
26 .stabs "float:t(0,12)=r(0,1);4;0;",128,0,0,0
27 .stabs "double:t(0,13)=r(0,1);4;0;",128,0,0,0
28 .stabs "long double:t(0,14)=r(0,1);4;0;",128,0,0,0
29 .stabs "void:t(0,15)=(0,15)",128,0,0,0
30 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/interrupt.h",130,0,0,0
31 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/io.h",130,0,0,0
32 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/sfr_defs.h",130,0,0,0
33 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/inttypes.h",130,0,0,0
34 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/stdint.h",130,0,0,0
35 .stabs "int8_t:t(5,1)=(0,10)",128,0,116,0
36 .stabs "uint8_t:t(5,2)=(0,11)",128,0,117,0
37 .stabs "int16_t:t(5,3)=(0,1)",128,0,118,0
38 .stabs "uint16_t:t(5,4)=(0,4)",128,0,119,0
39 .stabs "int32_t:t(5,5)=(0,3)",128,0,120,0
40 .stabs "uint32_t:t(5,6)=(0,5)",128,0,121,0
41 .stabs "int64_t:t(5,7)=(0,6)",128,0,122,0
42 .stabs "uint64_t:t(5,8)=(0,7)",128,0,123,0
43 .stabs "intptr_t:t(5,9)=(5,3)",128,0,135,0
44 .stabs "uintptr_t:t(5,10)=(5,4)",128,0,140,0
45 .stabs "int_least8_t:t(5,11)=(5,1)",128,0,152,0
46 .stabs "uint_least8_t:t(5,12)=(5,2)",128,0,157,0
47 .stabs "int_least16_t:t(5,13)=(5,3)",128,0,162,0
48 .stabs "uint_least16_t:t(5,14)=(5,4)",128,0,167,0
49 .stabs "int_least32_t:t(5,15)=(5,5)",128,0,172,0
50 .stabs "uint_least32_t:t(5,16)=(5,6)",128,0,177,0
51 .stabs "int_least64_t:t(5,17)=(5,7)",128,0,182,0
52 .stabs "uint_least64_t:t(5,18)=(5,8)",128,0,187,0
53 .stabs "int_fast8_t:t(5,19)=(5,1)",128,0,200,0
54 .stabs "uint_fast8_t:t(5,20)=(5,2)",128,0,205,0
55 .stabs "int_fast16_t:t(5,21)=(5,3)",128,0,210,0
56 .stabs "uint_fast16_t:t(5,22)=(5,4)",128,0,215,0
57 .stabs "int_fast32_t:t(5,23)=(5,5)",128,0,220,0
GAS LISTING /tmp/cc4KZ7ps.s page 2
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
7 .global __do_copy_data
8 .global __do_clear_bss
9 .stabs "/home/kaklik/projects/programy/C/avr/AVRcam/",100,0,2,.Ltext0
10 .stabs "CamInterface.c",100,0,2,.Ltext0
11 .text
12 .Ltext0:
13 .stabs "gcc2_compiled.",60,0,0,0
14 .stabs "int:t(0,1)=r(0,1);-32768;32767;",128,0,0,0
15 .stabs "char:t(0,2)=@s8;r(0,2);0;255;",128,0,0,0
16 .stabs "long int:t(0,3)=@s32;r(0,3);020000000000;017777777777;",128,0,0,0
17 .stabs "unsigned int:t(0,4)=r(0,4);0;0177777;",128,0,0,0
18 .stabs "long unsigned int:t(0,5)=@s32;r(0,5);0;037777777777;",128,0,0,0
19 .stabs "long long int:t(0,6)=@s64;r(0,6);01000000000000000000000;0777777777777777777777;",128,0,0,
20 .stabs "long long unsigned int:t(0,7)=@s64;r(0,7);0;01777777777777777777777;",128,0,0,0
21 .stabs "short int:t(0,8)=r(0,8);-32768;32767;",128,0,0,0
22 .stabs "short unsigned int:t(0,9)=r(0,9);0;0177777;",128,0,0,0
23 .stabs "signed char:t(0,10)=@s8;r(0,10);-128;127;",128,0,0,0
24 .stabs "unsigned char:t(0,11)=@s8;r(0,11);0;255;",128,0,0,0
25 .stabs "float:t(0,12)=r(0,1);4;0;",128,0,0,0
26 .stabs "double:t(0,13)=r(0,1);4;0;",128,0,0,0
27 .stabs "long double:t(0,14)=r(0,1);4;0;",128,0,0,0
28 .stabs "void:t(0,15)=(0,15)",128,0,0,0
29 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/interrupt.h",130,0,0,0
30 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/io.h",130,0,0,0
31 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/sfr_defs.h",130,0,0,0
32 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/inttypes.h",130,0,0,0
33 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/stdint.h",130,0,0,0
34 .stabs "int8_t:t(5,1)=(0,10)",128,0,116,0
35 .stabs "uint8_t:t(5,2)=(0,11)",128,0,117,0
36 .stabs "int16_t:t(5,3)=(0,1)",128,0,118,0
37 .stabs "uint16_t:t(5,4)=(0,4)",128,0,119,0
38 .stabs "int32_t:t(5,5)=(0,3)",128,0,120,0
39 .stabs "uint32_t:t(5,6)=(0,5)",128,0,121,0
40 .stabs "int64_t:t(5,7)=(0,6)",128,0,122,0
41 .stabs "uint64_t:t(5,8)=(0,7)",128,0,123,0
42 .stabs "intptr_t:t(5,9)=(5,3)",128,0,135,0
43 .stabs "uintptr_t:t(5,10)=(5,4)",128,0,140,0
44 .stabs "int_least8_t:t(5,11)=(5,1)",128,0,152,0
45 .stabs "uint_least8_t:t(5,12)=(5,2)",128,0,157,0
46 .stabs "int_least16_t:t(5,13)=(5,3)",128,0,162,0
47 .stabs "uint_least16_t:t(5,14)=(5,4)",128,0,167,0
48 .stabs "int_least32_t:t(5,15)=(5,5)",128,0,172,0
49 .stabs "uint_least32_t:t(5,16)=(5,6)",128,0,177,0
50 .stabs "int_least64_t:t(5,17)=(5,7)",128,0,182,0
51 .stabs "uint_least64_t:t(5,18)=(5,8)",128,0,187,0
52 .stabs "int_fast8_t:t(5,19)=(5,1)",128,0,200,0
53 .stabs "uint_fast8_t:t(5,20)=(5,2)",128,0,205,0
54 .stabs "int_fast16_t:t(5,21)=(5,3)",128,0,210,0
55 .stabs "uint_fast16_t:t(5,22)=(5,4)",128,0,215,0
56 .stabs "int_fast32_t:t(5,23)=(5,5)",128,0,220,0
57 .stabs "uint_fast32_t:t(5,24)=(5,6)",128,0,225,0
GAS LISTING /tmp/ccnpicUY.s page 2
 
 
58 .stabs "uint_fast32_t:t(5,24)=(5,6)",128,0,225,0
59 .stabs "int_fast64_t:t(5,25)=(5,7)",128,0,230,0
60 .stabs "uint_fast64_t:t(5,26)=(5,8)",128,0,235,0
61 .stabs "intmax_t:t(5,27)=(5,7)",128,0,249,0
62 .stabs "uintmax_t:t(5,28)=(5,8)",128,0,254,0
63 .stabn 162,0,0,0
64 .stabs "int_farptr_t:t(4,1)=(5,5)",128,0,76,0
65 .stabs "uint_farptr_t:t(4,2)=(5,6)",128,0,80,0
58 .stabs "int_fast64_t:t(5,25)=(5,7)",128,0,230,0
59 .stabs "uint_fast64_t:t(5,26)=(5,8)",128,0,235,0
60 .stabs "intmax_t:t(5,27)=(5,7)",128,0,249,0
61 .stabs "uintmax_t:t(5,28)=(5,8)",128,0,254,0
62 .stabn 162,0,0,0
63 .stabs "int_farptr_t:t(4,1)=(5,5)",128,0,76,0
64 .stabs "uint_farptr_t:t(4,2)=(5,6)",128,0,80,0
65 .stabn 162,0,0,0
66 .stabn 162,0,0,0
67 .stabn 162,0,0,0
68 .stabn 162,0,0,0
69 .stabn 162,0,0,0
70 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h",130,0,0,0
71 .stabs "/usr/lib/gcc/avr/4.1.0/include/stddef.h",130,0,0,0
72 .stabs "size_t:t(7,1)=(0,4)",128,0,214,0
69 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h",130,0,0,0
70 .stabs "/usr/lib/gcc/avr/4.2.1/include/stddef.h",130,0,0,0
71 .stabs "size_t:t(7,1)=(0,4)",128,0,214,0
72 .stabn 162,0,0,0
73 .stabn 162,0,0,0
74 .stabn 162,0,0,0
75 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/stdlib.h",130,0,0,0
76 .stabs "/usr/lib/gcc/avr/4.1.0/include/stddef.h",130,0,0,0
77 .stabs "wchar_t:t(9,1)=(0,1)",128,0,326,0
78 .stabn 162,0,0,0
79 .stabs "div_t:t(8,1)=(8,2)=s4quot:(0,1),0,16;rem:(0,1),16,16;;",128,0,69,0
80 .stabs "ldiv_t:t(8,3)=(8,4)=s8quot:(0,3),0,32;rem:(0,3),32,32;;",128,0,75,0
81 .stabs "__compar_fn_t:t(8,5)=(8,6)=*(8,7)=f(0,1)",128,0,78,0
82 .stabn 162,0,0,0
83 .stabs "CommonDefs.h",130,0,0,0
84 .stabs "bool_t:t(10,1)=(0,11)",128,0,56,0
85 .stabn 162,0,0,0
86 .stabs "CamInt_resetCam:F(0,15)",36,0,225,CamInt_resetCam
87 .global CamInt_resetCam
88 .type CamInt_resetCam, @function
89 CamInt_resetCam:
90 .stabd 46,0,0
74 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/stdlib.h",130,0,0,0
75 .stabs "/usr/lib/gcc/avr/4.2.1/include/stddef.h",130,0,0,0
76 .stabs "wchar_t:t(9,1)=(0,1)",128,0,326,0
77 .stabn 162,0,0,0
78 .stabs "div_t:t(8,1)=(8,2)=s4quot:(0,1),0,16;rem:(0,1),16,16;;",128,0,69,0
79 .stabs "ldiv_t:t(8,3)=(8,4)=s8quot:(0,3),0,32;rem:(0,3),32,32;;",128,0,75,0
80 .stabs "__compar_fn_t:t(8,5)=(8,6)=*(8,7)=f(0,1)",128,0,78,0
81 .stabn 162,0,0,0
82 .stabs "CommonDefs.h",130,0,0,0
83 .stabs "bool_t:t(10,1)=(0,11)",128,0,56,0
84 .stabn 162,0,0,0
85 .stabs "CamInt_resetCam:F(0,15)",36,0,225,CamInt_resetCam
86 .global CamInt_resetCam
87 .type CamInt_resetCam, @function
88 CamInt_resetCam:
89 .stabd 46,0,0
1:CamInterface.c **** /*
2:CamInterface.c **** Copyright (C) 2004 John Orlando
3:CamInterface.c ****
118,10 → 117,10
22:CamInterface.c **** john@jrobot.net
23:CamInterface.c ****
24:CamInterface.c **** or go to www.jrobot.net for more details regarding the system.
GAS LISTING /tmp/cc4KZ7ps.s page 3
25:CamInterface.c **** */
GAS LISTING /tmp/ccnpicUY.s page 3
 
 
25:CamInterface.c **** */
26:CamInterface.c **** /***********************************************************
27:CamInterface.c **** Module Name: CamInterface.c
28:CamInterface.c **** Module Date: 04/12/2004
178,10 → 177,10
79:CamInterface.c **** #define CAM_PIXEL_CLK_COUNT BIT5
80:CamInterface.c **** #define CAM_HREF BIT4
81:CamInterface.c **** #define CAM_PIXEL_CLK_INT BIT3
GAS LISTING /tmp/cc4KZ7ps.s page 4
82:CamInterface.c **** #define CAM_VSYNC BIT2
GAS LISTING /tmp/ccnpicUY.s page 4
 
 
82:CamInterface.c **** #define CAM_VSYNC BIT2
83:CamInterface.c ****
84:CamInterface.c **** /* Global Variables */
85:CamInterface.c **** /* NOTE: This file MUST appear first in the Makefile for these variables to
238,10 → 237,10
136:CamInterface.c **** #if OUTPUT_INITIAL_COLOR_MAP
137:CamInterface.c **** unsigned char asciiBuffer[5];
138:CamInterface.c **** unsigned char i;
GAS LISTING /tmp/cc4KZ7ps.s page 5
139:CamInterface.c **** #endif
GAS LISTING /tmp/ccnpicUY.s page 5
 
 
139:CamInterface.c **** #endif
140:CamInterface.c ****
141:CamInterface.c **** /* set up the mega8 ports that will be interfacing
142:CamInterface.c **** with the camera */
298,10 → 297,10
193:CamInterface.c **** for (i=0; i<NUM_ELEMENTS_IN_COLOR_MAP; i++)
194:CamInterface.c **** {
195:CamInterface.c **** memset(asciiBuffer,0x00,5);
GAS LISTING /tmp/cc4KZ7ps.s page 6
196:CamInterface.c **** itoa(colorMap[i],asciiBuffer,10);
GAS LISTING /tmp/ccnpicUY.s page 6
 
 
196:CamInterface.c **** itoa(colorMap[i],asciiBuffer,10);
197:CamInterface.c **** UIMgr_txBuffer(asciiBuffer,3);
198:CamInterface.c **** UIMgr_txBuffer(" ",1);
199:CamInterface.c **** if (i==15 || i == 31)
331,8 → 330,9
223:CamInterface.c **** ***********************************************************/
224:CamInterface.c **** void CamInt_resetCam(void)
225:CamInterface.c **** {
91 .stabn 68,0,225,.LM0-CamInt_resetCam
92 .LM0:
90 .stabn 68,0,225,.LM0-.LFBB1
91 .LM0:
92 .LFBB1:
93 /* prologue: frame size=0 */
94 /* prologue end (size=0) */
95 /* epilogue: frame size=0 */
340,8 → 340,8
97 /* epilogue end (size=1) */
98 /* function CamInt_resetCam size 1 (0) */
99 .size CamInt_resetCam, .-CamInt_resetCam
100 .Lscope0:
101 .stabs "",36,0,0,.Lscope0-CamInt_resetCam
100 .Lscope1:
101 .stabs "",36,0,0,.Lscope1-.LFBB1
102 .stabd 78,0,0
103 .stabs "CamInt_init:F(0,15)",36,0,135,CamInt_init
104 .global CamInt_init
348,429 → 348,430
105 .type CamInt_init, @function
106 CamInt_init:
107 .stabd 46,0,0
108 .stabn 68,0,135,.LM1-CamInt_init
108 .stabn 68,0,135,.LM1-.LFBB2
109 .LM1:
110 /* prologue: frame size=0 */
111 /* prologue end (size=0) */
112 .stabn 68,0,143,.LM2-CamInt_init
113 .LM2:
114 0002 8F9A sbi 49-0x20,7
115 .stabn 68,0,144,.LM3-CamInt_init
116 .LM3:
117 0004 8F9A sbi 49-0x20,7
GAS LISTING /tmp/cc4KZ7ps.s page 7
110 .LFBB2:
111 /* prologue: frame size=0 */
112 /* prologue end (size=0) */
113 .stabn 68,0,143,.LM2-.LFBB2
114 .LM2:
115 0002 8F9A sbi 49-0x20,7
116 .stabn 68,0,144,.LM3-.LFBB2
117 .LM3:
GAS LISTING /tmp/ccnpicUY.s page 7
 
 
118 .stabn 68,0,145,.LM4-CamInt_init
119 .LM4:
120 0006 8A98 cbi 49-0x20,2
121 .stabn 68,0,146,.LM5-CamInt_init
122 .LM5:
123 0008 9798 cbi 50-0x20,7
124 .stabn 68,0,147,.LM6-CamInt_init
125 .LM6:
126 000a 87B3 in r24,55-0x20
127 000c 807F andi r24,lo8(-16)
128 000e 87BB out 55-0x20,r24
129 .stabn 68,0,148,.LM7-CamInt_init
130 .LM7:
131 0010 87B3 in r24,55-0x20
132 0012 806F ori r24,lo8(-16)
133 0014 87BB out 55-0x20,r24
134 .stabn 68,0,149,.LM8-CamInt_init
135 .LM8:
136 0016 84B3 in r24,52-0x20
137 0018 807F andi r24,lo8(-16)
138 001a 84BB out 52-0x20,r24
139 .stabn 68,0,154,.LM9-CamInt_init
140 .LM9:
141 001c 8EB5 in r24,78-0x20
142 001e 887F andi r24,lo8(-8)
143 0020 8EBD out 78-0x20,r24
144 .stabn 68,0,162,.LM10-CamInt_init
145 .LM10:
146 0022 85B7 in r24,85-0x20
147 0024 8C60 ori r24,lo8(12)
148 0026 85BF out 85-0x20,r24
149 .stabn 68,0,167,.LM11-CamInt_init
150 .LM11:
151 0028 85B7 in r24,85-0x20
152 002a 8360 ori r24,lo8(3)
153 002c 85BF out 85-0x20,r24
154 .stabn 68,0,168,.LM12-CamInt_init
155 .LM12:
156 002e 8BB7 in r24,91-0x20
157 0030 8064 ori r24,lo8(64)
158 0032 8BBF out 91-0x20,r24
159 .stabn 68,0,173,.LM13-CamInt_init
160 .LM13:
161 0034 86E0 ldi r24,lo8(6)
162 0036 83BF out 83-0x20,r24
163 .stabn 68,0,181,.LM14-CamInt_init
164 .LM14:
165 0038 85B7 in r24,85-0x20
166 003a 8F78 andi r24,lo8(-113)
167 003c 85BF out 85-0x20,r24
168 .stabn 68,0,183,.LM15-CamInt_init
169 .LM15:
170 003e 85B7 in r24,85-0x20
171 0040 8068 ori r24,lo8(-128)
172 0042 85BF out 85-0x20,r24
173 .stabn 68,0,186,.LM16-CamInt_init
174 .LM16:
GAS LISTING /tmp/cc4KZ7ps.s page 8
118 0004 8F9A sbi 49-0x20,7
119 .stabn 68,0,145,.LM4-.LFBB2
120 .LM4:
121 0006 8A98 cbi 49-0x20,2
122 .stabn 68,0,146,.LM5-.LFBB2
123 .LM5:
124 0008 9798 cbi 50-0x20,7
125 .stabn 68,0,147,.LM6-.LFBB2
126 .LM6:
127 000a 87B3 in r24,55-0x20
128 000c 807F andi r24,lo8(-16)
129 000e 87BB out 55-0x20,r24
130 .stabn 68,0,148,.LM7-.LFBB2
131 .LM7:
132 0010 87B3 in r24,55-0x20
133 0012 806F ori r24,lo8(-16)
134 0014 87BB out 55-0x20,r24
135 .stabn 68,0,149,.LM8-.LFBB2
136 .LM8:
137 0016 84B3 in r24,52-0x20
138 0018 807F andi r24,lo8(-16)
139 001a 84BB out 52-0x20,r24
140 .stabn 68,0,154,.LM9-.LFBB2
141 .LM9:
142 001c 8EB5 in r24,78-0x20
143 001e 887F andi r24,lo8(-8)
144 0020 8EBD out 78-0x20,r24
145 .stabn 68,0,162,.LM10-.LFBB2
146 .LM10:
147 0022 85B7 in r24,85-0x20
148 0024 8C60 ori r24,lo8(12)
149 0026 85BF out 85-0x20,r24
150 .stabn 68,0,167,.LM11-.LFBB2
151 .LM11:
152 0028 85B7 in r24,85-0x20
153 002a 8360 ori r24,lo8(3)
154 002c 85BF out 85-0x20,r24
155 .stabn 68,0,168,.LM12-.LFBB2
156 .LM12:
157 002e 8BB7 in r24,91-0x20
158 0030 8064 ori r24,lo8(64)
159 0032 8BBF out 91-0x20,r24
160 .stabn 68,0,173,.LM13-.LFBB2
161 .LM13:
162 0034 86E0 ldi r24,lo8(6)
163 0036 83BF out 83-0x20,r24
164 .stabn 68,0,181,.LM14-.LFBB2
165 .LM14:
166 0038 85B7 in r24,85-0x20
167 003a 8F78 andi r24,lo8(-113)
168 003c 85BF out 85-0x20,r24
169 .stabn 68,0,183,.LM15-.LFBB2
170 .LM15:
171 003e 85B7 in r24,85-0x20
172 0040 8068 ori r24,lo8(-128)
173 0042 85BF out 85-0x20,r24
174 .stabn 68,0,186,.LM16-.LFBB2
GAS LISTING /tmp/ccnpicUY.s page 8
 
 
175 0044 E0E0 ldi r30,lo8(colorMap)
176 0046 F0E0 ldi r31,hi8(colorMap)
177 0048 80E3 ldi r24,lo8(48)
178 004a DF01 movw r26,r30
179 004c 982F mov r25,r24
180 004e 1D92 st X+,__zero_reg__
181 0050 9A95 dec r25
182 0052 E9F7 brne .-6
183 .LBB6:
184 .LBB7:
185 .LBB8:
186 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h",132,0,0,.Ltext1
187 .Ltext1:
1:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /* Copyright (c) 2002, 2003, 2004 Marek Michalkiewicz
2:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Copyright (c) 2005, 2006 Bjoern Haase
3:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** All rights reserved.
4:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
5:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Redistribution and use in source and binary forms, with or without
6:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** modification, are permitted provided that the following conditions are met:
7:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
8:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** * Redistributions of source code must retain the above copyright
9:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** notice, this list of conditions and the following disclaimer.
10:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
11:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** * Redistributions in binary form must reproduce the above copyright
12:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** notice, this list of conditions and the following disclaimer in
13:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** the documentation and/or other materials provided with the
14:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** distribution.
15:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
16:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** * Neither the name of the copyright holders nor the names of
17:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** contributors may be used to endorse or promote products derived
18:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** from this software without specific prior written permission.
19:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
20:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
24:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** POSSIBILITY OF SUCH DAMAGE. */
31:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
32:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /* $Id: eeprom.h,v 1.17.2.1 2006/02/26 21:51:04 aesok Exp $ */
33:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
34:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /*
35:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom.h
36:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
37:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Contributors:
38:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Created by Marek Michalkiewicz <marekm@linux.org.pl>
39:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom_write_word and eeprom_write_block added by Artur Lipowski
40:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** <LAL@pro.onet.pl>
41:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Complete rewrite using the original interface by Bjoern Haase
42:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** <bjoern.haase@de.bosch.com>.
43:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** */
44:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
GAS LISTING /tmp/cc4KZ7ps.s page 9
175 .LM16:
176 0044 E0E0 ldi r30,lo8(colorMap)
177 0046 F0E0 ldi r31,hi8(colorMap)
178 0048 80E3 ldi r24,lo8(48)
179 004a DF01 movw r26,r30
180 004c 982F mov r25,r24
181 004e 1D92 st X+,__zero_reg__
182 0050 9A95 dec r25
183 0052 01F4 brne .-6
184 .LBB6:
185 .LBB7:
186 .LBB8:
187 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h",132,0,0,.Ltext1
188 .Ltext1:
1:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /* Copyright (c) 2002, 2003, 2004 Marek Michalkiewicz
2:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Copyright (c) 2005, 2006 Bjoern Haase
3:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** All rights reserved.
4:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
5:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Redistribution and use in source and binary forms, with or without
6:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** modification, are permitted provided that the following conditions are met:
7:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
8:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** * Redistributions of source code must retain the above copyright
9:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** notice, this list of conditions and the following disclaimer.
10:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
11:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** * Redistributions in binary form must reproduce the above copyright
12:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** notice, this list of conditions and the following disclaimer in
13:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** the documentation and/or other materials provided with the
14:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** distribution.
15:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
16:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** * Neither the name of the copyright holders nor the names of
17:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** contributors may be used to endorse or promote products derived
18:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** from this software without specific prior written permission.
19:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
20:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
24:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** POSSIBILITY OF SUCH DAMAGE. */
31:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
32:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /* $Id: eeprom.h,v 1.17.2.3 2006/05/23 17:18:23 aesok Exp $ */
33:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
34:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /*
35:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom.h
36:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
37:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Contributors:
38:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Created by Marek Michalkiewicz <marekm@linux.org.pl>
39:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom_write_word and eeprom_write_block added by Artur Lipowski
40:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** <LAL@pro.onet.pl>
41:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Complete rewrite using the original interface by Bjoern Haase
42:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** <bjoern.haase@de.bosch.com>.
43:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** */
GAS LISTING /tmp/ccnpicUY.s page 9
 
 
45:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #ifndef _EEPROM_H_
46:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #define _EEPROM_H_ 1
47:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
48:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #define __need_size_t
49:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #include <stddef.h>
50:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #include <inttypes.h>
51:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
52:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
53:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #ifdef __AVR_MEGA__
54:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #define XCALL "call"
55:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #else
56:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #define XCALL "rcall"
57:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #endif
58:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
59:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #include <avr/io.h>
60:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #ifndef __EEPROM_REG_LOCATIONS__
61:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /** \def __EEPROM_REG_LOCATIONS__
62:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \ingroup avr_eeprom
63:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** In order to be able to work without a requiring a multilib
64:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** approach for dealing with controllers having the EEPROM registers
65:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** at different positions in memory space, the eeprom functions evaluate
66:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** __EEPROM_REG_LOCATIONS__: It is assumed to be defined by
67:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** the device io header and contains 6 uppercase hex digits encoding the
68:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** addresses of EECR,EEDR and EEAR.
69:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** First two letters: EECR address.
70:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Second two letters: EEDR address.
71:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Last two letters: EEAR address.
72:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** The default 1C1D1E corresponds to the
73:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** register location that is valid for most controllers. The value
74:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** of this define symbol is used for appending it to the base name of the
75:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** assembler functions. */
76:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #define __EEPROM_REG_LOCATIONS__ 1C1D1E
77:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #endif
78:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #define _STR2(EXP) _STR1(EXP)
79:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #define _STR1(EXP) #EXP
80:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #define _REG_LOCATION_SUFFIX _STR2(__EEPROM_REG_LOCATIONS__)
81:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
82:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #ifndef CR_TAB
83:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #define CR_TAB "\n\t"
84:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #endif
85:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
86:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
87:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /** \defgroup avr_eeprom <avr/eeprom.h>: EEPROM handling
88:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \code #include <avr/eeprom.h> \endcode
89:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
90:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** This header file declares the interface to some simple library
91:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** routines suitable for handling the data EEPROM contained in the
92:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** AVR microcontrollers. The implementation uses a simple polled
93:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** mode interface. Applications that require interrupt-controlled
94:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** EEPROM access to ensure that no time will be wasted in spinloops
95:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** will have to deploy their own implementation.
96:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
97:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \note All of the read/write functions first make sure the EEPROM
98:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** is ready to be accessed. Since this may cause long delays if a
99:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** write operation is still pending, time-critical applications
100:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** should first poll the EEPROM e. g. using eeprom_is_ready() before
101:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** attempting any actual I/O.
GAS LISTING /tmp/cc4KZ7ps.s page 10
44:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
45:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #ifndef _EEPROM_H_
46:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #define _EEPROM_H_ 1
47:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
48:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #define __need_size_t
49:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #include <stddef.h>
50:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #include <inttypes.h>
51:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
52:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
53:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #ifdef __AVR_MEGA__
54:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #define XCALL "call"
55:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #else
56:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #define XCALL "rcall"
57:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #endif
58:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
59:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #include <avr/io.h>
60:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #ifndef __EEPROM_REG_LOCATIONS__
61:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /** \def __EEPROM_REG_LOCATIONS__
62:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \ingroup avr_eeprom
63:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** In order to be able to work without a requiring a multilib
64:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** approach for dealing with controllers having the EEPROM registers
65:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** at different positions in memory space, the eeprom functions evaluate
66:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** __EEPROM_REG_LOCATIONS__: It is assumed to be defined by
67:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** the device io header and contains 6 uppercase hex digits encoding the
68:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** addresses of EECR,EEDR and EEAR.
69:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** First two letters: EECR address.
70:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Second two letters: EEDR address.
71:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Last two letters: EEAR address.
72:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** The default 1C1D1E corresponds to the
73:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** register location that is valid for most controllers. The value
74:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** of this define symbol is used for appending it to the base name of the
75:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** assembler functions. */
76:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #define __EEPROM_REG_LOCATIONS__ 1C1D1E
77:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #endif
78:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #define _STR2(EXP) _STR1(EXP)
79:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #define _STR1(EXP) #EXP
80:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #define _REG_LOCATION_SUFFIX _STR2(__EEPROM_REG_LOCATIONS__)
81:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
82:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #ifndef CR_TAB
83:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #define CR_TAB "\n\t"
84:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #endif
85:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
86:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
87:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /** \defgroup avr_eeprom <avr/eeprom.h>: EEPROM handling
88:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \code #include <avr/eeprom.h> \endcode
89:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
90:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** This header file declares the interface to some simple library
91:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** routines suitable for handling the data EEPROM contained in the
92:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** AVR microcontrollers. The implementation uses a simple polled
93:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** mode interface. Applications that require interrupt-controlled
94:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** EEPROM access to ensure that no time will be wasted in spinloops
95:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** will have to deploy their own implementation.
96:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
97:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \note All of the read/write functions first make sure the EEPROM
98:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** is ready to be accessed. Since this may cause long delays if a
99:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** write operation is still pending, time-critical applications
100:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** should first poll the EEPROM e. g. using eeprom_is_ready() before
GAS LISTING /tmp/ccnpicUY.s page 10
 
 
102:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
103:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \note This header file declares inline functions that call the
104:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** assembler subroutines directly. This prevents that the compiler
105:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** generates push/pops for the call-clobbered registers. This way
106:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** also a specific calling convention could be used for the eeprom
107:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** routines e.g. by passing values in __tmp_reg__, eeprom addresses in
108:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** X and memory addresses in Z registers. Method is optimized for code
109:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** size.
110:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
111:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \note Presently supported are two locations of the EEPROM register
112:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** set: 0x1F,0x20,0x21 and 0x1C,0x1D,0x1E
113:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** (see ::__EEPROM_REG_LOCATIONS__).
114:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
115:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \note As these functions modify IO registers, they are known to be
116:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** non-reentrant. If any of these functions are used from both,
117:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** standard and interrupt context, the applications must ensure
118:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** proper protection (e.g. by disabling interrupts before accessing
119:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** them).
120:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
121:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** */
122:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
123:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
124:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /* forward declarations of the inline functions so that doxygen does
125:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** not get confused by the attribute expression. */
126:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
127:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** static inline uint8_t __attribute__ ((always_inline))
128:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom_read_byte (const uint8_t *addr);
129:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
130:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** static inline uint16_t __attribute__ ((always_inline))
131:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom_read_word (const uint16_t *addr);
132:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
133:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** static inline void __attribute__ ((always_inline))
134:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom_read_block (void *pointer_ram,
135:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** const void *pointer_eeprom,
136:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** size_t size);
137:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
138:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** static inline void __attribute__ ((always_inline))
139:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom_write_byte (uint8_t *addr,uint8_t value);
140:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
141:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** static inline void __attribute__ ((always_inline))
142:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom_write_word (uint16_t *addr,uint16_t value);
143:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
144:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** static inline void __attribute__ ((always_inline))
145:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom_write_block (const void *pointer_ram,
146:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** void *pointer_eeprom,
147:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** size_t size);
148:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
149:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /** \name avr-libc declarations */
150:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
151:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /*@{*/
152:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
153:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /** \def EEMEM
154:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \ingroup avr_eeprom
155:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Attribute expression causing a variable to be allocated within the .eeprom
156:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** section. */
157:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #define EEMEM __attribute__((section(".eeprom")))
158:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
GAS LISTING /tmp/cc4KZ7ps.s page 11
101:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** attempting any actual I/O.
102:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
103:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \note This header file declares inline functions that call the
104:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** assembler subroutines directly. This prevents that the compiler
105:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** generates push/pops for the call-clobbered registers. This way
106:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** also a specific calling convention could be used for the eeprom
107:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** routines e.g. by passing values in __tmp_reg__, eeprom addresses in
108:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** X and memory addresses in Z registers. Method is optimized for code
109:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** size.
110:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
111:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \note Presently supported are two locations of the EEPROM register
112:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** set: 0x1F,0x20,0x21 and 0x1C,0x1D,0x1E
113:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** (see ::__EEPROM_REG_LOCATIONS__).
114:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
115:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \note As these functions modify IO registers, they are known to be
116:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** non-reentrant. If any of these functions are used from both,
117:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** standard and interrupt context, the applications must ensure
118:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** proper protection (e.g. by disabling interrupts before accessing
119:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** them).
120:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
121:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** */
122:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
123:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
124:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /* forward declarations of the inline functions so that doxygen does
125:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** not get confused by the attribute expression. */
126:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
127:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** static inline uint8_t __attribute__ ((always_inline))
128:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom_read_byte (const uint8_t *addr);
129:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
130:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** static inline uint16_t __attribute__ ((always_inline))
131:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom_read_word (const uint16_t *addr);
132:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
133:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** static inline void __attribute__ ((always_inline))
134:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom_read_block (void *pointer_ram,
135:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** const void *pointer_eeprom,
136:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** size_t size);
137:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
138:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** static inline void __attribute__ ((always_inline))
139:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom_write_byte (uint8_t *addr,uint8_t value);
140:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
141:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** static inline void __attribute__ ((always_inline))
142:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom_write_word (uint16_t *addr,uint16_t value);
143:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
144:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** static inline void __attribute__ ((always_inline))
145:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom_write_block (const void *pointer_ram,
146:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** void *pointer_eeprom,
147:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** size_t size);
148:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
149:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /** \name avr-libc declarations */
150:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
151:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /*@{*/
152:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
153:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /** \def EEMEM
154:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \ingroup avr_eeprom
155:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Attribute expression causing a variable to be allocated within the .eeprom
156:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** section. */
157:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #define EEMEM __attribute__((section(".eeprom")))
GAS LISTING /tmp/ccnpicUY.s page 11
 
 
159:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /** \def eeprom_is_ready
160:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \ingroup avr_eeprom
161:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \returns 1 if EEPROM is ready for a new read/write operation, 0 if not. */
162:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
163:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #if defined(__DOXYGEN__)
164:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** # define eeprom_is_ready()
165:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #elif defined(EEWE)
166:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** # define eeprom_is_ready() bit_is_clear(EECR, EEWE)
167:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #elif defined(EEPE)
168:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** # define eeprom_is_ready() bit_is_clear(EECR, EEPE)
169:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #elif defined(DEECR) && defined(EEL)
170:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** # define eeprom_is_ready() bit_is_clear(DEECR, EEL)
171:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #else
172:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** # error "No write enable bit known for this device's EEPROM."
173:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #endif
174:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
175:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /** \def eeprom_busy_wait
176:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \ingroup avr_eeprom
177:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
178:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Loops until the eeprom is no longer busy.
179:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
180:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \returns Nothing. */
181:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
182:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #define eeprom_busy_wait() do {} while (!eeprom_is_ready())
183:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
184:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
185:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /** \ingroup avr_eeprom
186:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Read one byte from EEPROM address \c addr. */
187:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
188:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** uint8_t
189:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom_read_byte (const uint8_t *addr)
190:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** {
191:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** uint8_t result;
192:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** asm volatile
193:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** ( XCALL " __eeprom_read_byte_" _REG_LOCATION_SUFFIX CR_TAB
194:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "mov %1,__tmp_reg__"
195:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : "+x" (addr),
196:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "=r" (result)
197:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : );
198:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** return result;
199:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** }
200:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
201:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /** \ingroup avr_eeprom
202:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Read one 16-bit word (little endian) from EEPROM address \c addr. */
203:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** uint16_t
204:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom_read_word (const uint16_t *addr)
205:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** {
206:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** uint16_t result;
207:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
208:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** asm (
209:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** XCALL " __eeprom_read_word_" _REG_LOCATION_SUFFIX CR_TAB
210:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : "+x" (addr),
211:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "=z" (result)
212:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : );
213:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** return result;
214:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** }
215:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
GAS LISTING /tmp/cc4KZ7ps.s page 12
158:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
159:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /** \def eeprom_is_ready
160:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \ingroup avr_eeprom
161:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \returns 1 if EEPROM is ready for a new read/write operation, 0 if not. */
162:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
163:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #if defined(__DOXYGEN__)
164:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** # define eeprom_is_ready()
165:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #elif defined(EEWE)
166:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** # define eeprom_is_ready() bit_is_clear(EECR, EEWE)
167:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #elif defined(EEPE)
168:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** # define eeprom_is_ready() bit_is_clear(EECR, EEPE)
169:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #elif defined(DEECR) && defined(EEL)
170:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** # define eeprom_is_ready() bit_is_clear(DEECR, EEL)
171:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #else
172:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** # error "No write enable bit known for this device's EEPROM."
173:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #endif
174:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
175:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /** \def eeprom_busy_wait
176:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \ingroup avr_eeprom
177:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
178:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Loops until the eeprom is no longer busy.
179:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
180:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \returns Nothing. */
181:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
182:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #define eeprom_busy_wait() do {} while (!eeprom_is_ready())
183:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
184:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
185:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /** \ingroup avr_eeprom
186:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Read one byte from EEPROM address \c addr. */
187:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
188:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** uint8_t
189:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom_read_byte (const uint8_t *addr)
190:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** {
191:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** uint8_t result;
192:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** __asm__ __volatile__
193:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** ( XCALL " __eeprom_read_byte_" _REG_LOCATION_SUFFIX CR_TAB
194:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "mov %1,__tmp_reg__"
195:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : "+x" (addr),
196:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "=r" (result)
197:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : );
198:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** return result;
199:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** }
200:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
201:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /** \ingroup avr_eeprom
202:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Read one 16-bit word (little endian) from EEPROM address \c addr. */
203:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** uint16_t
204:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom_read_word (const uint16_t *addr)
205:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** {
206:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** uint16_t result;
207:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
208:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** __asm__ __volatile__ (
209:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** XCALL " __eeprom_read_word_" _REG_LOCATION_SUFFIX CR_TAB
210:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : "+x" (addr),
211:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "=z" (result)
212:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : );
213:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** return result;
214:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** }
GAS LISTING /tmp/ccnpicUY.s page 12
 
 
216:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /** \ingroup avr_eeprom
217:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Read a block of \c n bytes from EEPROM address \c pointer_eeprom to
218:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \c pointer_ram. For constant n <= 256 bytes a library function is used.
219:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** For block sizes unknown at compile time or block sizes > 256 an inline
220:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** loop is expanded. */
221:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
222:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** void
223:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom_read_block (void *pointer_ram,
224:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** const void *pointer_eeprom,
225:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** size_t n)
226:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** {
227:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** if (!__builtin_constant_p (n)
228:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** || n > 256)
229:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** {
230:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /* make sure size is a 16 bit variable. */
231:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** uint16_t size = n;
232:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
233:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** asm volatile (
234:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** ".%=_start:" CR_TAB
235:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "sbiw %2,1" CR_TAB
236:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "brlt .%=_finished" CR_TAB
237:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** XCALL " __eeprom_read_byte_" _REG_LOCATION_SUFFIX CR_TAB
238:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "st z+,__tmp_reg__" CR_TAB
239:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "rjmp .%=_start" CR_TAB
240:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** ".%=_finished:"
241:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : "=x" (pointer_eeprom),
242:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "=z" (pointer_ram),
243:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "+w" (size)
244:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : "x" (pointer_eeprom),
245:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "z" (pointer_ram)
246:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : "memory");
247:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** }
248:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** else
249:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** {
250:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** if (n != 0)
251:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** {
252:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** if (n == 256)
253:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** {
254:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** asm volatile (
255:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** XCALL " __eeprom_read_block_" _REG_LOCATION_SUFFIX
256:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : "+x" (pointer_eeprom),
257:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "=z" (pointer_ram)
258:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : "z" (pointer_ram)
259:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : "memory");
260:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** }
261:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** else
262:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** {
263:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /* Needed in order to truncate to 8 bit. */
264:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** uint8_t len;
265:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** len = (uint8_t) n;
266:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h ****
267:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** asm volatile (
188 .stabn 68,0,267,.LM17-CamInt_init
189 .LM17:
190 0054 A1E0 ldi r26,lo8(1)
191 0056 B0E0 ldi r27,hi8(1)
192 /* #APP */
GAS LISTING /tmp/cc4KZ7ps.s page 13
215:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
216:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /** \ingroup avr_eeprom
217:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Read a block of \c n bytes from EEPROM address \c pointer_eeprom to
218:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \c pointer_ram. For constant n <= 256 bytes a library function is used.
219:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** For block sizes unknown at compile time or block sizes > 256 an inline
220:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** loop is expanded. */
221:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
222:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** void
223:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom_read_block (void *pointer_ram,
224:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** const void *pointer_eeprom,
225:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** size_t n)
226:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** {
227:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** if (!__builtin_constant_p (n)
228:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** || n > 256)
229:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** {
230:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /* make sure size is a 16 bit variable. */
231:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** uint16_t size = n;
232:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
233:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** __asm__ __volatile__ (
234:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** ".%=_start:" CR_TAB
235:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "sbiw %2,1" CR_TAB
236:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "brlt .%=_finished" CR_TAB
237:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** XCALL " __eeprom_read_byte_" _REG_LOCATION_SUFFIX CR_TAB
238:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "st z+,__tmp_reg__" CR_TAB
239:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "rjmp .%=_start" CR_TAB
240:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** ".%=_finished:"
241:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : "=x" (pointer_eeprom),
242:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "=z" (pointer_ram),
243:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "+w" (size)
244:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : "x" (pointer_eeprom),
245:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "z" (pointer_ram)
246:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : "memory");
247:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** }
248:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** else
249:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** {
250:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** if (n != 0)
251:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** {
252:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** if (n == 256)
253:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** {
254:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** __asm__ __volatile__ (
255:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** XCALL " __eeprom_read_block_" _REG_LOCATION_SUFFIX
256:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : "+x" (pointer_eeprom),
257:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "=z" (pointer_ram)
258:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : "z" (pointer_ram)
259:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : "memory");
260:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** }
261:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** else
262:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** {
263:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /* Needed in order to truncate to 8 bit. */
264:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** uint8_t len;
265:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** len = (uint8_t) n;
266:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h ****
267:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** __asm__ __volatile__ (
189 .stabn 68,0,267,.LM17-.LFBB2
190 .LM17:
191 0054 A1E0 ldi r26,lo8(1)
192 0056 B0E0 ldi r27,hi8(1)
GAS LISTING /tmp/ccnpicUY.s page 13
 
 
193 0058 182E mov __zero_reg__,r24
194 005a 00D0 rcall __eeprom_read_block_1C1D1E
195 /* #NOAPP */
196 .LBE8:
197 .LBE7:
198 .LBE6:
199 /* epilogue: frame size=0 */
200 005c 0895 ret
201 /* epilogue end (size=1) */
202 /* function CamInt_init size 48 (47) */
203 .size CamInt_init, .-CamInt_init
204 .stabs "pointer_eeprom:r(0,16)=*(0,17)=k(0,15)",64,0,189,26
205 .stabs "pointer_ram:r(0,18)=*(0,15)",64,0,189,30
206 .stabn 192,0,0,.LBB6-CamInt_init
207 .stabn 224,0,0,.LBE6-CamInt_init
208 .Lscope1:
209 .stabs "",36,0,0,.Lscope1-CamInt_init
210 .stabd 78,0,0
211 .comm currentLineBuffer,176,1
212 .comm previousLineBuffer,176,1
213 .global colorMap
214 .section .noinit,"aw",@nobits
215 .type colorMap, @object
216 .size colorMap, 48
217 colorMap:
218 0000 0000 0000 .skip 48,0
218 0000 0000
218 0000 0000
218 0000 0000
218 0000 0000
219 .stabs "currentLineBuffer:G(0,19)=ar(0,20)=r(0,20);0;0177777;;0;175;(0,11)",32,0,114,0
220 .stabs "previousLineBuffer:G(0,19)",32,0,115,0
221 .stabs "colorMap:G(0,21)=ar(0,20);0;47;(0,11)",32,0,100,0
222 .text
223 .stabs "",100,0,0,.Letext0
224 .Letext0:
225 /* File "CamInterface.c": code 49 = 0x0031 ( 47), prologues 0, epilogues 2 */
GAS LISTING /tmp/cc4KZ7ps.s page 14
193 /* #APP */
194 0058 182E mov __zero_reg__,r24
195 005a 00D0 rcall __eeprom_read_block_1C1D1E
196 /* #NOAPP */
197 .LBE8:
198 .LBE7:
199 .LBE6:
200 /* epilogue: frame size=0 */
201 005c 0895 ret
202 /* epilogue end (size=1) */
203 /* function CamInt_init size 48 (47) */
204 .size CamInt_init, .-CamInt_init
205 .stabs "pointer_eeprom:r(0,16)=*(0,17)=k(0,15)",64,0,189,26
206 .stabs "pointer_ram:r(0,18)=*(0,15)",64,0,189,30
207 .stabn 192,0,0,.LBB6-.LFBB2
208 .stabn 224,0,0,.LBE6-.LFBB2
209 .Lscope2:
210 .stabs "",36,0,0,.Lscope2-.LFBB2
211 .stabd 78,0,0
212 .comm currentLineBuffer,176,1
213 .comm previousLineBuffer,176,1
214 .global colorMap
215 .section .noinit,"aw",@nobits
216 .type colorMap, @object
217 .size colorMap, 48
218 colorMap:
219 0000 0000 0000 .skip 48,0
219 0000 0000
219 0000 0000
219 0000 0000
219 0000 0000
220 .stabs "currentLineBuffer:G(0,19)=ar(0,20)=r(0,20);0;0177777;;0;175;(0,11)",32,0,114,0
221 .stabs "previousLineBuffer:G(0,19)",32,0,115,0
222 .stabs "colorMap:G(0,21)=ar(0,20);0;47;(0,11)",32,0,100,0
223 .text
224 .stabs "",100,0,0,.Letext0
225 .Letext0:
226 /* File "CamInterface.c": code 49 = 0x0031 ( 47), prologues 0, epilogues 2 */
GAS LISTING /tmp/ccnpicUY.s page 14
 
 
DEFINED SYMBOLS
*ABS*:00000000 CamInterface.c
/tmp/cc4KZ7ps.s:3 *ABS*:0000003f __SREG__
/tmp/cc4KZ7ps.s:4 *ABS*:0000003e __SP_H__
/tmp/cc4KZ7ps.s:5 *ABS*:0000003d __SP_L__
/tmp/cc4KZ7ps.s:6 *ABS*:00000000 __tmp_reg__
/tmp/cc4KZ7ps.s:7 *ABS*:00000001 __zero_reg__
/tmp/cc4KZ7ps.s:89 .text:00000000 CamInt_resetCam
/tmp/cc4KZ7ps.s:106 .text:00000002 CamInt_init
/tmp/cc4KZ7ps.s:217 .noinit:00000000 colorMap
/tmp/ccnpicUY.s:2 *ABS*:0000003f __SREG__
/tmp/ccnpicUY.s:3 *ABS*:0000003e __SP_H__
/tmp/ccnpicUY.s:4 *ABS*:0000003d __SP_L__
/tmp/ccnpicUY.s:5 *ABS*:00000000 __tmp_reg__
/tmp/ccnpicUY.s:6 *ABS*:00000001 __zero_reg__
/tmp/ccnpicUY.s:88 .text:00000000 CamInt_resetCam
/tmp/ccnpicUY.s:106 .text:00000002 CamInt_init
/tmp/ccnpicUY.s:218 .noinit:00000000 colorMap
*COM*:000000b0 currentLineBuffer
*COM*:000000b0 previousLineBuffer