Project

General

Profile

Statistics
| Revision:

root / demos / john / projects / libdragonfly / eeprom.lst @ 1693

History | View | Annotate | Download (9.04 KB)

1 1693 emullini
   1               		.file	"eeprom.c"
2
   2               		.arch atmega128
3
   3               	__SREG__ = 0x3f
4
   4               	__SP_H__ = 0x3e
5
   5               	__SP_L__ = 0x3d
6
   6               	__tmp_reg__ = 0
7
   7               	__zero_reg__ = 1
8
   8               		.global __do_copy_data
9
   9               		.global __do_clear_bss
10
  17               	.Ltext0:
11
  18               	.global	eeprom_put_byte
12
  20               	eeprom_put_byte:
13
  21               	.LFB2:
14
  22               	.LM1:
15
  23               	/* prologue: frame size=0 */
16
  24               	/* prologue end (size=0) */
17
  25               	.LVL0:
18
  26               	.L3:
19
  27               	.LM2:
20
  28 0000 E199      		sbic 60-0x20,1
21
  29 0002 00C0      		rjmp .L3
22
  30               	.LM3:
23
  31 0004 9FBB      		out (62)+1-0x20,r25
24
  32 0006 8EBB      		out 62-0x20,r24
25
  33               	.LM4:
26
  34 0008 6DBB      		out 61-0x20,r22
27
  35               	.LM5:
28
  36 000a E29A      		sbi 60-0x20,2
29
  37               	.LM6:
30
  38 000c E19A      		sbi 60-0x20,1
31
  39               	.LM7:
32
  40 000e 80E0      		ldi r24,lo8(0)
33
  41 0010 90E0      		ldi r25,hi8(0)
34
  42               	.LVL1:
35
  43               	/* epilogue: frame size=0 */
36
  44 0012 0895      		ret
37
  45               	/* epilogue end (size=1) */
38
  46               	/* function eeprom_put_byte size 10 (9) */
39
  47               	.LFE2:
40
  49               	.global	eeprom_get_byte
41
  51               	eeprom_get_byte:
42
  52               	.LFB3:
43
  53               	.LM8:
44
  54               	/* prologue: frame size=0 */
45
  55               	/* prologue end (size=0) */
46
  56               	.LVL2:
47
  57 0014 FB01      		movw r30,r22
48
  58               	.LVL3:
49
  59               	.L10:
50
  60               	.LM9:
51
  61 0016 E199      		sbic 60-0x20,1
52
  62 0018 00C0      		rjmp .L10
53
  63               	.LM10:
54
  64 001a 9FBB      		out (62)+1-0x20,r25
55
  65 001c 8EBB      		out 62-0x20,r24
56
  66               	.LM11:
57
  67 001e E09A      		sbi 60-0x20,0
58
  68               	.LM12:
59
  69 0020 8DB3      		in r24,61-0x20
60
  70               	.LVL4:
61
  71 0022 8083      		st Z,r24
62
  72               	.LM13:
63
  73 0024 80E0      		ldi r24,lo8(0)
64
  74 0026 90E0      		ldi r25,hi8(0)
65
  75               	/* epilogue: frame size=0 */
66
  76 0028 0895      		ret
67
  77               	/* epilogue end (size=1) */
68
  78               	/* function eeprom_get_byte size 11 (10) */
69
  79               	.LFE3:
70
  81               	.global	get_robotid
71
  83               	get_robotid:
72
  84               	.LFB4:
73
  85               	.LM14:
74
  86               	/* prologue: frame size=3 */
75
  87 002a CF93      		push r28
76
  88 002c DF93      		push r29
77
  89 002e CDB7      		in r28,__SP_L__
78
  90 0030 DEB7      		in r29,__SP_H__
79
  91 0032 2397      		sbiw r28,3
80
  92 0034 0FB6      		in __tmp_reg__,__SREG__
81
  93 0036 F894      		cli
82
  94 0038 DEBF      		out __SP_H__,r29
83
  95 003a 0FBE      		out __SREG__,__tmp_reg__
84
  96 003c CDBF      		out __SP_L__,r28
85
  97               	/* prologue end (size=10) */
86
  98               	.LM15:
87
  99 003e BE01      		movw r22,r28
88
 100 0040 6D5F      		subi r22,lo8(-(3))
89
 101 0042 7F4F      		sbci r23,hi8(-(3))
90
 102 0044 80E1      		ldi r24,lo8(16)
91
 103 0046 90E0      		ldi r25,hi8(16)
92
 104 0048 0E94 0000 		call eeprom_get_byte
93
 105               	.LM16:
94
 106 004c BE01      		movw r22,r28
95
 107 004e 6F5F      		subi r22,lo8(-(1))
96
 108 0050 7F4F      		sbci r23,hi8(-(1))
97
 109 0052 81E1      		ldi r24,lo8(17)
98
 110 0054 90E0      		ldi r25,hi8(17)
99
 111 0056 0E94 0000 		call eeprom_get_byte
100
 112               	.LM17:
101
 113 005a BE01      		movw r22,r28
102
 114 005c 6E5F      		subi r22,lo8(-(2))
103
 115 005e 7F4F      		sbci r23,hi8(-(2))
104
 116 0060 82E1      		ldi r24,lo8(18)
105
 117 0062 90E0      		ldi r25,hi8(18)
106
 118 0064 0E94 0000 		call eeprom_get_byte
107
 119               	.LVL5:
108
 120               	.LM18:
109
 121 0068 8B81      		ldd r24,Y+3
110
 122 006a 8934      		cpi r24,lo8(73)
111
 123 006c 01F4      		brne .L16
112
 124               	.LVL6:
113
 125               	.LVL7:
114
 126               	.LM19:
115
 127 006e 8981      		ldd r24,Y+1
116
 128               	.LVL8:
117
 129 0070 8434      		cpi r24,lo8(68)
118
 130 0072 01F4      		brne .L16
119
 131               	.LVL9:
120
 132               	.LVL10:
121
 133               	.LM20:
122
 134 0074 8A81      		ldd r24,Y+2
123
 135               	.LVL11:
124
 136 0076 9927      		clr r25
125
 137 0078 00C0      		rjmp .L19
126
 138               	.LVL12:
127
 139               	.L16:
128
 140 007a 8FEF      		ldi r24,lo8(255)
129
 141 007c 90E0      		ldi r25,hi8(255)
130
 142               	.LVL13:
131
 143               	.L19:
132
 144               	/* epilogue: frame size=3 */
133
 145 007e 2396      		adiw r28,3
134
 146 0080 0FB6      		in __tmp_reg__,__SREG__
135
 147 0082 F894      		cli
136
 148 0084 DEBF      		out __SP_H__,r29
137
 149 0086 0FBE      		out __SREG__,__tmp_reg__
138
 150 0088 CDBF      		out __SP_L__,r28
139
 151 008a DF91      		pop r29
140
 152 008c CF91      		pop r28
141
 153 008e 0895      		ret
142
 154               	/* epilogue end (size=9) */
143
 155               	/* function get_robotid size 51 (32) */
144
 156               	.LFE4:
145
 158               	.global	get_bom_type
146
 160               	get_bom_type:
147
 161               	.LFB5:
148
 162               	.LM21:
149
 163               	/* prologue: frame size=4 */
150
 164 0090 CF93      		push r28
151
 165 0092 DF93      		push r29
152
 166 0094 CDB7      		in r28,__SP_L__
153
 167 0096 DEB7      		in r29,__SP_H__
154
 168 0098 2497      		sbiw r28,4
155
 169 009a 0FB6      		in __tmp_reg__,__SREG__
156
 170 009c F894      		cli
157
 171 009e DEBF      		out __SP_H__,r29
158
 172 00a0 0FBE      		out __SREG__,__tmp_reg__
159
 173 00a2 CDBF      		out __SP_L__,r28
160
 174               	/* prologue end (size=10) */
161
 175               	.LM22:
162
 176 00a4 BE01      		movw r22,r28
163
 177 00a6 6C5F      		subi r22,lo8(-(4))
164
 178 00a8 7F4F      		sbci r23,hi8(-(4))
165
 179 00aa 84E1      		ldi r24,lo8(20)
166
 180 00ac 90E0      		ldi r25,hi8(20)
167
 181 00ae 0E94 0000 		call eeprom_get_byte
168
 182               	.LM23:
169
 183 00b2 BE01      		movw r22,r28
170
 184 00b4 6F5F      		subi r22,lo8(-(1))
171
 185 00b6 7F4F      		sbci r23,hi8(-(1))
172
 186 00b8 85E1      		ldi r24,lo8(21)
173
 187 00ba 90E0      		ldi r25,hi8(21)
174
 188 00bc 0E94 0000 		call eeprom_get_byte
175
 189               	.LM24:
176
 190 00c0 BE01      		movw r22,r28
177
 191 00c2 6E5F      		subi r22,lo8(-(2))
178
 192 00c4 7F4F      		sbci r23,hi8(-(2))
179
 193 00c6 86E1      		ldi r24,lo8(22)
180
 194 00c8 90E0      		ldi r25,hi8(22)
181
 195 00ca 0E94 0000 		call eeprom_get_byte
182
 196               	.LM25:
183
 197 00ce BE01      		movw r22,r28
184
 198 00d0 6D5F      		subi r22,lo8(-(3))
185
 199 00d2 7F4F      		sbci r23,hi8(-(3))
186
 200 00d4 87E1      		ldi r24,lo8(23)
187
 201 00d6 90E0      		ldi r25,hi8(23)
188
 202 00d8 0E94 0000 		call eeprom_get_byte
189
 203               	.LVL14:
190
 204               	.LM26:
191
 205 00dc 8C81      		ldd r24,Y+4
192
 206 00de 8234      		cpi r24,lo8(66)
193
 207 00e0 01F4      		brne .L22
194
 208               	.LVL15:
195
 209               	.LVL16:
196
 210               	.LM27:
197
 211 00e2 8981      		ldd r24,Y+1
198
 212               	.LVL17:
199
 213 00e4 8F34      		cpi r24,lo8(79)
200
 214 00e6 01F4      		brne .L22
201
 215               	.LVL18:
202
 216               	.LVL19:
203
 217 00e8 8A81      		ldd r24,Y+2
204
 218               	.LVL20:
205
 219 00ea 8D34      		cpi r24,lo8(77)
206
 220 00ec 01F4      		brne .L22
207
 221               	.LVL21:
208
 222               	.LVL22:
209
 223               	.LM28:
210
 224 00ee 8B81      		ldd r24,Y+3
211
 225               	.LVL23:
212
 226 00f0 9927      		clr r25
213
 227 00f2 00C0      		rjmp .L26
214
 228               	.LVL24:
215
 229               	.L22:
216
 230 00f4 8FEF      		ldi r24,lo8(255)
217
 231 00f6 90E0      		ldi r25,hi8(255)
218
 232               	.LVL25:
219
 233               	.L26:
220
 234               	/* epilogue: frame size=4 */
221
 235 00f8 2496      		adiw r28,4
222
 236 00fa 0FB6      		in __tmp_reg__,__SREG__
223
 237 00fc F894      		cli
224
 238 00fe DEBF      		out __SP_H__,r29
225
 239 0100 0FBE      		out __SREG__,__tmp_reg__
226
 240 0102 CDBF      		out __SP_L__,r28
227
 241 0104 DF91      		pop r29
228
 242 0106 CF91      		pop r28
229
 243 0108 0895      		ret
230
 244               	/* epilogue end (size=9) */
231
 245               	/* function get_bom_type size 61 (42) */
232
 246               	.LFE5:
233
 296               	.Letext0:
234
DEFINED SYMBOLS
235
                            *ABS*:00000000 eeprom.c
236
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccqx6Rxb.s:3      *ABS*:0000003f __SREG__
237
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccqx6Rxb.s:4      *ABS*:0000003e __SP_H__
238
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccqx6Rxb.s:5      *ABS*:0000003d __SP_L__
239
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccqx6Rxb.s:6      *ABS*:00000000 __tmp_reg__
240
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccqx6Rxb.s:7      *ABS*:00000001 __zero_reg__
241
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccqx6Rxb.s:20     .text:00000000 eeprom_put_byte
242
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccqx6Rxb.s:51     .text:00000014 eeprom_get_byte
243
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccqx6Rxb.s:83     .text:0000002a get_robotid
244
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccqx6Rxb.s:160    .text:00000090 get_bom_type
245
246
UNDEFINED SYMBOLS
247
__do_copy_data
248
__do_clear_bss