Subversion Repositories svnkaklik

Rev

Details | Last modification | View Log

Rev Author Line No. Line
174 kaklik 1
GAS LISTING /tmp/ccQbezXt.s 			page 1
2
 
3
 
4
   1               		.file	"Utility.c"
5
   2               		.arch atmega8
6
   3               	__SREG__ = 0x3f
7
   4               	__SP_H__ = 0x3e
8
   5               	__SP_L__ = 0x3d
9
   6               	__tmp_reg__ = 0
10
   7               	__zero_reg__ = 1
11
   8               		.global __do_copy_data
12
   9               		.global __do_clear_bss
13
  10               		.stabs	"/home/kaklik/projects/programy/Atmel_C/AVRcam/",100,0,2,.Ltext0
14
  11               		.stabs	"Utility.c",100,0,2,.Ltext0
15
  12               		.text
16
  13               	.Ltext0:
17
  14               		.stabs	"gcc2_compiled.",60,0,0,0
18
  15               		.stabs	"int:t(0,1)=r(0,1);-32768;32767;",128,0,0,0
19
  16               		.stabs	"char:t(0,2)=@s8;r(0,2);0;255;",128,0,0,0
20
  17               		.stabs	"long int:t(0,3)=@s32;r(0,3);020000000000;017777777777;",128,0,0,0
21
  18               		.stabs	"unsigned int:t(0,4)=r(0,4);0;0177777;",128,0,0,0
22
  19               		.stabs	"long unsigned int:t(0,5)=@s32;r(0,5);0;037777777777;",128,0,0,0
23
  20               		.stabs	"long long int:t(0,6)=@s64;r(0,6);01000000000000000000000;0777777777777777777777;",128,0,0,
24
  21               		.stabs	"long long unsigned int:t(0,7)=@s64;r(0,7);0;01777777777777777777777;",128,0,0,0
25
  22               		.stabs	"short int:t(0,8)=r(0,8);-32768;32767;",128,0,0,0
26
  23               		.stabs	"short unsigned int:t(0,9)=r(0,9);0;0177777;",128,0,0,0
27
  24               		.stabs	"signed char:t(0,10)=@s8;r(0,10);-128;127;",128,0,0,0
28
  25               		.stabs	"unsigned char:t(0,11)=@s8;r(0,11);0;255;",128,0,0,0
29
  26               		.stabs	"float:t(0,12)=r(0,1);4;0;",128,0,0,0
30
  27               		.stabs	"double:t(0,13)=r(0,1);4;0;",128,0,0,0
31
  28               		.stabs	"long double:t(0,14)=r(0,1);4;0;",128,0,0,0
32
  29               		.stabs	"void:t(0,15)=(0,15)",128,0,0,0
33
  30               		.stabs	"CommonDefs.h",130,0,0,0
34
  31               		.stabs	"/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/interrupt.h",130,0,0,0
35
  32               		.stabs	"/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/io.h",130,0,0,0
36
  33               		.stabs	"/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/sfr_defs.h",130,0,0,0
37
  34               		.stabs	"/usr/lib/gcc/avr/4.1.0/../../../../avr/include/inttypes.h",130,0,0,0
38
  35               		.stabs	"/usr/lib/gcc/avr/4.1.0/../../../../avr/include/stdint.h",130,0,0,0
39
  36               		.stabs	"int8_t:t(6,1)=(0,10)",128,0,116,0
40
  37               		.stabs	"uint8_t:t(6,2)=(0,11)",128,0,117,0
41
  38               		.stabs	"int16_t:t(6,3)=(0,1)",128,0,118,0
42
  39               		.stabs	"uint16_t:t(6,4)=(0,4)",128,0,119,0
43
  40               		.stabs	"int32_t:t(6,5)=(0,3)",128,0,120,0
44
  41               		.stabs	"uint32_t:t(6,6)=(0,5)",128,0,121,0
45
  42               		.stabs	"int64_t:t(6,7)=(0,6)",128,0,122,0
46
  43               		.stabs	"uint64_t:t(6,8)=(0,7)",128,0,123,0
47
  44               		.stabs	"intptr_t:t(6,9)=(6,3)",128,0,135,0
48
  45               		.stabs	"uintptr_t:t(6,10)=(6,4)",128,0,140,0
49
  46               		.stabs	"int_least8_t:t(6,11)=(6,1)",128,0,152,0
50
  47               		.stabs	"uint_least8_t:t(6,12)=(6,2)",128,0,157,0
51
  48               		.stabs	"int_least16_t:t(6,13)=(6,3)",128,0,162,0
52
  49               		.stabs	"uint_least16_t:t(6,14)=(6,4)",128,0,167,0
53
  50               		.stabs	"int_least32_t:t(6,15)=(6,5)",128,0,172,0
54
  51               		.stabs	"uint_least32_t:t(6,16)=(6,6)",128,0,177,0
55
  52               		.stabs	"int_least64_t:t(6,17)=(6,7)",128,0,182,0
56
  53               		.stabs	"uint_least64_t:t(6,18)=(6,8)",128,0,187,0
57
  54               		.stabs	"int_fast8_t:t(6,19)=(6,1)",128,0,200,0
58
  55               		.stabs	"uint_fast8_t:t(6,20)=(6,2)",128,0,205,0
59
  56               		.stabs	"int_fast16_t:t(6,21)=(6,3)",128,0,210,0
60
  57               		.stabs	"uint_fast16_t:t(6,22)=(6,4)",128,0,215,0
61
GAS LISTING /tmp/ccQbezXt.s 			page 2
62
 
63
 
64
  58               		.stabs	"int_fast32_t:t(6,23)=(6,5)",128,0,220,0
65
  59               		.stabs	"uint_fast32_t:t(6,24)=(6,6)",128,0,225,0
66
  60               		.stabs	"int_fast64_t:t(6,25)=(6,7)",128,0,230,0
67
  61               		.stabs	"uint_fast64_t:t(6,26)=(6,8)",128,0,235,0
68
  62               		.stabs	"intmax_t:t(6,27)=(6,7)",128,0,249,0
69
  63               		.stabs	"uintmax_t:t(6,28)=(6,8)",128,0,254,0
70
  64               		.stabn	162,0,0,0
71
  65               		.stabs	"int_farptr_t:t(5,1)=(6,5)",128,0,76,0
72
  66               		.stabs	"uint_farptr_t:t(5,2)=(6,6)",128,0,80,0
73
  67               		.stabn	162,0,0,0
74
  68               		.stabn	162,0,0,0
75
  69               		.stabn	162,0,0,0
76
  70               		.stabn	162,0,0,0
77
  71               		.stabs	"bool_t:t(1,1)=(0,11)",128,0,56,0
78
  72               		.stabn	162,0,0,0
79
  73               		.stabs	"Utility_delay:F(0,15)",36,0,65,Utility_delay
80
  74               		.stabs	"numMs:P(0,9)",64,0,64,18
81
  75               	.global	Utility_delay
82
  76               		.type	Utility_delay, @function
83
  77               	Utility_delay:
84
  78               		.stabd	46,0,0
85
   1:Utility.c     **** /*
86
   2:Utility.c     ****     Copyright (C) 2004    John Orlando
87
   3:Utility.c     ****     
88
   4:Utility.c     ****    AVRcam: a small real-time image processing engine.
89
   5:Utility.c     **** 
90
   6:Utility.c     ****     This program is free software; you can redistribute it and/or
91
   7:Utility.c     ****     modify it under the terms of the GNU General Public
92
   8:Utility.c     ****     License as published by the Free Software Foundation; either
93
   9:Utility.c     ****     version 2 of the License, or (at your option) any later version.
94
  10:Utility.c     **** 
95
  11:Utility.c     ****     This program is distributed in the hope that it will be useful,
96
  12:Utility.c     ****     but WITHOUT ANY WARRANTY; without even the implied warranty of
97
  13:Utility.c     ****     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
98
  14:Utility.c     ****     General Public License for more details.
99
  15:Utility.c     **** 
100
  16:Utility.c     ****     You should have received a copy of the GNU General Public
101
  17:Utility.c     ****     License along with this program; if not, write to the Free Software
102
  18:Utility.c     ****     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
103
  19:Utility.c     **** 
104
  20:Utility.c     ****    For more information on the AVRcam, please contact:
105
  21:Utility.c     **** 
106
  22:Utility.c     ****    john@jrobot.net
107
  23:Utility.c     **** 
108
  24:Utility.c     ****    or go to www.jrobot.net for more details regarding the system.
109
  25:Utility.c     **** */
110
  26:Utility.c     **** /***********************************************************
111
  27:Utility.c     **** 	Module Name: Utility.c
112
  28:Utility.c     **** 	Module Date: 04/13/2004
113
  29:Utility.c     **** 	Module Auth: John Orlando
114
  30:Utility.c     **** 	
115
  31:Utility.c     **** 	Description: This module provides a basic set of
116
  32:Utility.c     **** 	general purpose utilities that can be used by any
117
  33:Utility.c     **** 	module needing them.
118
  34:Utility.c     ****     
119
  35:Utility.c     ****     Revision History:
120
  36:Utility.c     ****     Date        Rel Ver.    Notes
121
GAS LISTING /tmp/ccQbezXt.s 			page 3
122
 
123
 
124
  37:Utility.c     ****     4/10/2004      0.1     Module created
125
  38:Utility.c     ****     6/30/2004      1.0     Initial release for Circuit Cellar
126
  39:Utility.c     ****                            contest.
127
  40:Utility.c     **** ***********************************************************/
128
  41:Utility.c     **** 
129
  42:Utility.c     **** /*	Includes */
130
  43:Utility.c     **** #include "CommonDefs.h"
131
  44:Utility.c     **** 
132
  45:Utility.c     **** /*  Local Variables */
133
  46:Utility.c     **** 
134
  47:Utility.c     **** /* 	Local Structures and Typedefs */
135
  48:Utility.c     **** 
136
  49:Utility.c     **** /*  Extern Variables */
137
  50:Utility.c     **** 
138
  51:Utility.c     **** /*  Definitions */
139
  52:Utility.c     **** 
140
  53:Utility.c     **** /***********************************************************
141
  54:Utility.c     **** 	Function Name: Utility_delay
142
  55:Utility.c     **** 	Function Description: This function provides a busy-wait
143
  56:Utility.c     **** 	delay for a specified number of milliseconds.
144
  57:Utility.c     **** 	Inputs:  numMs - the number of milliseconds to delay
145
  58:Utility.c     **** 	Outputs: none
146
  59:Utility.c     **** 	NOTES: The delay_loop_1 and delay_loop_2 functions found
147
  60:Utility.c     **** 	in avr/delay.h provide accurate 3 and 4 cycle delay loops
148
  61:Utility.c     **** 	if needed...this isn't really a millisecond, so DON'T
149
  62:Utility.c     ****     depend on it for exact timing...
150
  63:Utility.c     **** ***********************************************************/	
151
  64:Utility.c     **** void Utility_delay(unsigned short numMs)
152
  65:Utility.c     **** {
153
  79               		.stabn	68,0,65,.LM0-Utility_delay
154
  80               	.LM0:
155
  81               	/* prologue: frame size=4 */
156
  82 0000 CF93      		push r28
157
  83 0002 DF93      		push r29
158
  84 0004 CDB7      		in r28,__SP_L__
159
  85 0006 DEB7      		in r29,__SP_H__
160
  86 0008 2497      		sbiw r28,4
161
  87 000a 0FB6      		in __tmp_reg__,__SREG__
162
  88 000c F894      		cli
163
  89 000e DEBF      		out __SP_H__,r29
164
  90 0010 0FBE      		out __SREG__,__tmp_reg__
165
  91 0012 CDBF      		out __SP_L__,r28
166
  92               	/* prologue end (size=10) */
167
  93 0014 9C01      		movw r18,r24
168
  66:Utility.c     **** 	volatile unsigned short i=0,j=0;
169
  94               		.stabn	68,0,66,.LM1-Utility_delay
170
  95               	.LM1:
171
  96 0016 1A82      		std Y+2,__zero_reg__
172
  97 0018 1982      		std Y+1,__zero_reg__
173
  98 001a 1C82      		std Y+4,__zero_reg__
174
  99 001c 1B82      		std Y+3,__zero_reg__
175
  67:Utility.c     **** #ifndef SIMULATION
176
  68:Utility.c     **** 	for (i=0; i<numMs; i++)
177
 100               		.stabn	68,0,68,.LM2-Utility_delay
178
 101               	.LM2:
179
 102 001e 1A82      		std Y+2,__zero_reg__
180
 103 0020 1982      		std Y+1,__zero_reg__
181
GAS LISTING /tmp/ccQbezXt.s 			page 4
182
 
183
 
184
 104 0022 8981      		ldd r24,Y+1
185
 105 0024 9A81      		ldd r25,Y+2
186
 106 0026 8217      		cp r24,r18
187
 107 0028 9307      		cpc r25,r19
188
 108 002a E0F4      		brsh .L6
189
 109               	.L7:
190
  69:Utility.c     **** 	{
191
  70:Utility.c     **** 		for (j=0; j<1000; j++)
192
 110               		.stabn	68,0,70,.LM3-Utility_delay
193
 111               	.LM3:
194
 112 002c 1C82      		std Y+4,__zero_reg__
195
 113 002e 1B82      		std Y+3,__zero_reg__
196
 114 0030 8B81      		ldd r24,Y+3
197
 115 0032 9C81      		ldd r25,Y+4
198
 116 0034 885E      		subi r24,lo8(1000)
199
 117 0036 9340      		sbci r25,hi8(1000)
200
 118 0038 58F4      		brsh .L4
201
 119               	.L8:
202
  71:Utility.c     **** 		{
203
  72:Utility.c     **** 			asm volatile("nop"::);
204
 120               		.stabn	68,0,72,.LM4-Utility_delay
205
 121               	.LM4:
206
 122               	/* #APP */
207
 123 003a 0000      		nop
208
 124               		.stabn	68,0,70,.LM5-Utility_delay
209
 125               	.LM5:
210
 126               	/* #NOAPP */
211
 127 003c 8B81      		ldd r24,Y+3
212
 128 003e 9C81      		ldd r25,Y+4
213
 129 0040 0196      		adiw r24,1
214
 130 0042 9C83      		std Y+4,r25
215
 131 0044 8B83      		std Y+3,r24
216
 132 0046 8B81      		ldd r24,Y+3
217
 133 0048 9C81      		ldd r25,Y+4
218
 134 004a 885E      		subi r24,lo8(1000)
219
 135 004c 9340      		sbci r25,hi8(1000)
220
 136 004e A8F3      		brlo .L8
221
 137               	.L4:
222
 138               		.stabn	68,0,68,.LM6-Utility_delay
223
 139               	.LM6:
224
 140 0050 8981      		ldd r24,Y+1
225
 141 0052 9A81      		ldd r25,Y+2
226
 142 0054 0196      		adiw r24,1
227
 143 0056 9A83      		std Y+2,r25
228
 144 0058 8983      		std Y+1,r24
229
 145 005a 8981      		ldd r24,Y+1
230
 146 005c 9A81      		ldd r25,Y+2
231
 147 005e 8217      		cp r24,r18
232
 148 0060 9307      		cpc r25,r19
233
 149 0062 20F3      		brlo .L7
234
 150               	.L6:
235
 151               	/* epilogue: frame size=4 */
236
 152 0064 2496      		adiw r28,4
237
 153 0066 0FB6      		in __tmp_reg__,__SREG__
238
 154 0068 F894      		cli
239
 155 006a DEBF      		out __SP_H__,r29
240
 156 006c 0FBE      		out __SREG__,__tmp_reg__
241
GAS LISTING /tmp/ccQbezXt.s 			page 5
242
 
243
 
244
 157 006e CDBF      		out __SP_L__,r28
245
 158 0070 DF91      		pop r29
246
 159 0072 CF91      		pop r28
247
 160 0074 0895      		ret
248
 161               	/* epilogue end (size=9) */
249
 162               	/* function Utility_delay size 62 (43) */
250
 163               		.size	Utility_delay, .-Utility_delay
251
 164               		.stabs	"i:(0,16)=B(0,9)",128,0,66,1
252
 165               		.stabs	"j:(0,16)",128,0,66,3
253
 166               		.stabn	192,0,0,Utility_delay-Utility_delay
254
 167               		.stabn	224,0,0,.Lscope0-Utility_delay
255
 168               	.Lscope0:
256
 169               		.stabs	"",36,0,0,.Lscope0-Utility_delay
257
 170               		.stabd	78,0,0
258
 171               		.stabs	"",100,0,0,.Letext0
259
 172               	.Letext0:
260
 173               	/* File "Utility.c": code   62 = 0x003e (  43), prologues  10, epilogues   9 */
261
GAS LISTING /tmp/ccQbezXt.s 			page 6
262
 
263
 
264
DEFINED SYMBOLS
265
                            *ABS*:00000000 Utility.c
266
     /tmp/ccQbezXt.s:3      *ABS*:0000003f __SREG__
267
     /tmp/ccQbezXt.s:4      *ABS*:0000003e __SP_H__
268
     /tmp/ccQbezXt.s:5      *ABS*:0000003d __SP_L__
269
     /tmp/ccQbezXt.s:6      *ABS*:00000000 __tmp_reg__
270
     /tmp/ccQbezXt.s:7      *ABS*:00000001 __zero_reg__
271
     /tmp/ccQbezXt.s:77     .text:00000000 Utility_delay
272
 
273
UNDEFINED SYMBOLS
274
__do_copy_data
275
__do_clear_bss