Subversion Repositories svnkaklik

Rev

Rev 410 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 410 Rev 484
Line 1... Line 1...
1
GAS LISTING /tmp/ccZtX2VJ.s 			page 1
1
GAS LISTING /tmp/ccX0nxLF.s 			page 1
2
 
2
 
3
 
3
 
4
   1               		.file	"UartInterface.c"
4
   1               		.file	"UartInterface.c"
5
   2               		.arch atmega8
-
 
6
   3               	__SREG__ = 0x3f
5
   2               	__SREG__ = 0x3f
7
   4               	__SP_H__ = 0x3e
6
   3               	__SP_H__ = 0x3e
8
   5               	__SP_L__ = 0x3d
7
   4               	__SP_L__ = 0x3d
9
   6               	__tmp_reg__ = 0
8
   5               	__tmp_reg__ = 0
10
   7               	__zero_reg__ = 1
9
   6               	__zero_reg__ = 1
11
   8               		.global __do_copy_data
10
   7               		.global __do_copy_data
12
   9               		.global __do_clear_bss
11
   8               		.global __do_clear_bss
13
  10               		.stabs	"/home/kaklik/projects/programy/Atmel_C/AVRcam/",100,0,2,.Ltext0
12
   9               		.stabs	"/home/kaklik/projects/programy/C/avr/AVRcam/",100,0,2,.Ltext0
14
  11               		.stabs	"UartInterface.c",100,0,2,.Ltext0
13
  10               		.stabs	"UartInterface.c",100,0,2,.Ltext0
15
  12               		.text
14
  11               		.text
16
  13               	.Ltext0:
15
  12               	.Ltext0:
17
  14               		.stabs	"gcc2_compiled.",60,0,0,0
16
  13               		.stabs	"gcc2_compiled.",60,0,0,0
18
  15               		.stabs	"int:t(0,1)=r(0,1);-32768;32767;",128,0,0,0
17
  14               		.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
18
  15               		.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
19
  16               		.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
20
  17               		.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
21
  18               		.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,
22
  19               		.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
23
  20               		.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
24
  21               		.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
25
  22               		.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
26
  23               		.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
27
  24               		.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
28
  25               		.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
29
  26               		.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
30
  27               		.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
31
  28               		.stabs	"void:t(0,15)=(0,15)",128,0,0,0
33
  30               		.stabs	"/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/io.h",130,0,0,0
32
  29               		.stabs	"/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/io.h",130,0,0,0
34
  31               		.stabs	"/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/sfr_defs.h",130,0,0,0
33
  30               		.stabs	"/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/sfr_defs.h",130,0,0,0
35
  32               		.stabs	"/usr/lib/gcc/avr/4.1.0/../../../../avr/include/inttypes.h",130,0,0,0
34
  31               		.stabs	"/usr/lib/gcc/avr/4.2.1/../../../../avr/include/inttypes.h",130,0,0,0
36
  33               		.stabs	"/usr/lib/gcc/avr/4.1.0/../../../../avr/include/stdint.h",130,0,0,0
35
  32               		.stabs	"/usr/lib/gcc/avr/4.2.1/../../../../avr/include/stdint.h",130,0,0,0
37
  34               		.stabs	"int8_t:t(4,1)=(0,10)",128,0,116,0
36
  33               		.stabs	"int8_t:t(4,1)=(0,10)",128,0,116,0
38
  35               		.stabs	"uint8_t:t(4,2)=(0,11)",128,0,117,0
37
  34               		.stabs	"uint8_t:t(4,2)=(0,11)",128,0,117,0
39
  36               		.stabs	"int16_t:t(4,3)=(0,1)",128,0,118,0
38
  35               		.stabs	"int16_t:t(4,3)=(0,1)",128,0,118,0
40
  37               		.stabs	"uint16_t:t(4,4)=(0,4)",128,0,119,0
39
  36               		.stabs	"uint16_t:t(4,4)=(0,4)",128,0,119,0
41
  38               		.stabs	"int32_t:t(4,5)=(0,3)",128,0,120,0
40
  37               		.stabs	"int32_t:t(4,5)=(0,3)",128,0,120,0
42
  39               		.stabs	"uint32_t:t(4,6)=(0,5)",128,0,121,0
41
  38               		.stabs	"uint32_t:t(4,6)=(0,5)",128,0,121,0
43
  40               		.stabs	"int64_t:t(4,7)=(0,6)",128,0,122,0
42
  39               		.stabs	"int64_t:t(4,7)=(0,6)",128,0,122,0
44
  41               		.stabs	"uint64_t:t(4,8)=(0,7)",128,0,123,0
43
  40               		.stabs	"uint64_t:t(4,8)=(0,7)",128,0,123,0
45
  42               		.stabs	"intptr_t:t(4,9)=(4,3)",128,0,135,0
44
  41               		.stabs	"intptr_t:t(4,9)=(4,3)",128,0,135,0
46
  43               		.stabs	"uintptr_t:t(4,10)=(4,4)",128,0,140,0
45
  42               		.stabs	"uintptr_t:t(4,10)=(4,4)",128,0,140,0
47
  44               		.stabs	"int_least8_t:t(4,11)=(4,1)",128,0,152,0
46
  43               		.stabs	"int_least8_t:t(4,11)=(4,1)",128,0,152,0
48
  45               		.stabs	"uint_least8_t:t(4,12)=(4,2)",128,0,157,0
47
  44               		.stabs	"uint_least8_t:t(4,12)=(4,2)",128,0,157,0
49
  46               		.stabs	"int_least16_t:t(4,13)=(4,3)",128,0,162,0
48
  45               		.stabs	"int_least16_t:t(4,13)=(4,3)",128,0,162,0
50
  47               		.stabs	"uint_least16_t:t(4,14)=(4,4)",128,0,167,0
49
  46               		.stabs	"uint_least16_t:t(4,14)=(4,4)",128,0,167,0
51
  48               		.stabs	"int_least32_t:t(4,15)=(4,5)",128,0,172,0
50
  47               		.stabs	"int_least32_t:t(4,15)=(4,5)",128,0,172,0
52
  49               		.stabs	"uint_least32_t:t(4,16)=(4,6)",128,0,177,0
51
  48               		.stabs	"uint_least32_t:t(4,16)=(4,6)",128,0,177,0
53
  50               		.stabs	"int_least64_t:t(4,17)=(4,7)",128,0,182,0
52
  49               		.stabs	"int_least64_t:t(4,17)=(4,7)",128,0,182,0
54
  51               		.stabs	"uint_least64_t:t(4,18)=(4,8)",128,0,187,0
53
  50               		.stabs	"uint_least64_t:t(4,18)=(4,8)",128,0,187,0
55
  52               		.stabs	"int_fast8_t:t(4,19)=(4,1)",128,0,200,0
54
  51               		.stabs	"int_fast8_t:t(4,19)=(4,1)",128,0,200,0
56
  53               		.stabs	"uint_fast8_t:t(4,20)=(4,2)",128,0,205,0
55
  52               		.stabs	"uint_fast8_t:t(4,20)=(4,2)",128,0,205,0
57
  54               		.stabs	"int_fast16_t:t(4,21)=(4,3)",128,0,210,0
56
  53               		.stabs	"int_fast16_t:t(4,21)=(4,3)",128,0,210,0
58
  55               		.stabs	"uint_fast16_t:t(4,22)=(4,4)",128,0,215,0
57
  54               		.stabs	"uint_fast16_t:t(4,22)=(4,4)",128,0,215,0
59
  56               		.stabs	"int_fast32_t:t(4,23)=(4,5)",128,0,220,0
58
  55               		.stabs	"int_fast32_t:t(4,23)=(4,5)",128,0,220,0
60
  57               		.stabs	"uint_fast32_t:t(4,24)=(4,6)",128,0,225,0
59
  56               		.stabs	"uint_fast32_t:t(4,24)=(4,6)",128,0,225,0
-
 
60
  57               		.stabs	"int_fast64_t:t(4,25)=(4,7)",128,0,230,0
61
GAS LISTING /tmp/ccZtX2VJ.s 			page 2
61
GAS LISTING /tmp/ccX0nxLF.s 			page 2
62
 
62
 
63
 
63
 
64
  58               		.stabs	"int_fast64_t:t(4,25)=(4,7)",128,0,230,0
-
 
65
  59               		.stabs	"uint_fast64_t:t(4,26)=(4,8)",128,0,235,0
64
  58               		.stabs	"uint_fast64_t:t(4,26)=(4,8)",128,0,235,0
66
  60               		.stabs	"intmax_t:t(4,27)=(4,7)",128,0,249,0
65
  59               		.stabs	"intmax_t:t(4,27)=(4,7)",128,0,249,0
67
  61               		.stabs	"uintmax_t:t(4,28)=(4,8)",128,0,254,0
66
  60               		.stabs	"uintmax_t:t(4,28)=(4,8)",128,0,254,0
68
  62               		.stabn	162,0,0,0
67
  61               		.stabn	162,0,0,0
69
  63               		.stabs	"int_farptr_t:t(3,1)=(4,5)",128,0,76,0
68
  62               		.stabs	"int_farptr_t:t(3,1)=(4,5)",128,0,76,0
70
  64               		.stabs	"uint_farptr_t:t(3,2)=(4,6)",128,0,80,0
69
  63               		.stabs	"uint_farptr_t:t(3,2)=(4,6)",128,0,80,0
-
 
70
  64               		.stabn	162,0,0,0
71
  65               		.stabn	162,0,0,0
71
  65               		.stabn	162,0,0,0
72
  66               		.stabn	162,0,0,0
72
  66               		.stabn	162,0,0,0
73
  67               		.stabn	162,0,0,0
-
 
74
  68               		.stabs	"CommonDefs.h",130,0,0,0
73
  67               		.stabs	"CommonDefs.h",130,0,0,0
75
  69               		.stabs	"bool_t:t(5,1)=(0,11)",128,0,56,0
74
  68               		.stabs	"bool_t:t(5,1)=(0,11)",128,0,56,0
76
  70               		.stabn	162,0,0,0
75
  69               		.stabn	162,0,0,0
77
  71               		.stabs	"UartInt_init:F(0,15)",36,0,76,UartInt_init
76
  70               		.stabs	"UartInt_init:F(0,15)",36,0,76,UartInt_init
78
  72               	.global	UartInt_init
77
  71               	.global	UartInt_init
79
  73               		.type	UartInt_init, @function
78
  72               		.type	UartInt_init, @function
80
  74               	UartInt_init:
79
  73               	UartInt_init:
81
  75               		.stabd	46,0,0
80
  74               		.stabd	46,0,0
82
   1:UartInterface.c **** /*
81
   1:UartInterface.c **** /*
83
   2:UartInterface.c ****     Copyright (C) 2004    John Orlando
82
   2:UartInterface.c ****     Copyright (C) 2004    John Orlando
84
   3:UartInterface.c ****     
83
   3:UartInterface.c ****     
85
   4:UartInterface.c ****    AVRcam: a small real-time image processing engine.
84
   4:UartInterface.c ****    AVRcam: a small real-time image processing engine.
86
   5:UartInterface.c **** 
85
   5:UartInterface.c **** 
Line 116... Line 115...
116
  35:UartInterface.c ****     Revision History:
115
  35:UartInterface.c ****     Revision History:
117
  36:UartInterface.c ****     Date        Rel Ver.    Notes
116
  36:UartInterface.c ****     Date        Rel Ver.    Notes
118
  37:UartInterface.c ****     4/10/2004      0.1     Module created
117
  37:UartInterface.c ****     4/10/2004      0.1     Module created
119
  38:UartInterface.c ****     6/30/2004      1.0     Initial release for Circuit Cellar
118
  38:UartInterface.c ****     6/30/2004      1.0     Initial release for Circuit Cellar
120
  39:UartInterface.c ****                            contest.
119
  39:UartInterface.c ****                            contest.
-
 
120
  40:UartInterface.c ****     11/15/2004     1.2     Updated UART baud rate regs so that
121
GAS LISTING /tmp/ccZtX2VJ.s 			page 3
121
GAS LISTING /tmp/ccX0nxLF.s 			page 3
122
 
122
 
123
 
123
 
124
  40:UartInterface.c ****     11/15/2004     1.2     Updated UART baud rate regs so that
-
 
125
  41:UartInterface.c ****                            it runs at 115.2 kbps when the input
124
  41:UartInterface.c ****                            it runs at 115.2 kbps when the input
126
  42:UartInterface.c ****                            crystal is at 17.7 MHz (which is the
125
  42:UartInterface.c ****                            crystal is at 17.7 MHz (which is the
127
  43:UartInterface.c ****                            speed of the OV6620's crystal).
126
  43:UartInterface.c ****                            speed of the OV6620's crystal).
128
  44:UartInterface.c ****     1/16/2005      1.4     Moved the serial received ISR to
127
  44:UartInterface.c ****     1/16/2005      1.4     Moved the serial received ISR to
129
  45:UartInterface.c ****                            this file, instead of having it
128
  45:UartInterface.c ****                            this file, instead of having it
Line 156... Line 155...
156
  72:UartInterface.c **** 	Inputs:  none
155
  72:UartInterface.c **** 	Inputs:  none
157
  73:UartInterface.c **** 	Outputs: none
156
  73:UartInterface.c **** 	Outputs: none
158
  74:UartInterface.c **** ***********************************************************/	
157
  74:UartInterface.c **** ***********************************************************/	
159
  75:UartInterface.c **** void UartInt_init(void)
158
  75:UartInterface.c **** void UartInt_init(void)
160
  76:UartInterface.c **** {	
159
  76:UartInterface.c **** {	
161
  76               		.stabn	68,0,76,.LM0-UartInt_init
160
  75               		.stabn	68,0,76,.LM0-.LFBB1
162
  77               	.LM0:
161
  76               	.LM0:
-
 
162
  77               	.LFBB1:
163
  78               	/* prologue: frame size=0 */
163
  78               	/* prologue: frame size=0 */
164
  79               	/* prologue end (size=0) */
164
  79               	/* prologue end (size=0) */
165
  77:UartInterface.c **** 	/* set up the baud rate registers so the UART will operate
165
  77:UartInterface.c **** 	/* set up the baud rate registers so the UART will operate
166
  78:UartInterface.c **** 	at 115.2 Kbps */
166
  78:UartInterface.c **** 	at 115.2 Kbps */
167
  79:UartInterface.c **** 	UBRRH = 0x00;
167
  79:UartInterface.c **** 	UBRRH = 0x00;
168
  80               		.stabn	68,0,79,.LM1-UartInt_init
168
  80               		.stabn	68,0,79,.LM1-.LFBB1
169
  81               	.LM1:
169
  81               	.LM1:
170
  82 0000 10BC      		out 64-0x20,__zero_reg__
170
  82 0000 10BC      		out 64-0x20,__zero_reg__
171
  80:UartInterface.c **** 
171
  80:UartInterface.c **** 
172
  81:UartInterface.c **** #ifdef NO_CRYSTAL    
172
  81:UartInterface.c **** #ifdef NO_CRYSTAL    
173
  82:UartInterface.c ****     UBRRL = 18;  /* 18 for double clocking at 115.2 kbps */
173
  82:UartInterface.c ****     UBRRL = 18;  /* 18 for double clocking at 115.2 kbps */
174
  83               		.stabn	68,0,82,.LM2-UartInt_init
174
  83               		.stabn	68,0,82,.LM2-.LFBB1
175
  84               	.LM2:
175
  84               	.LM2:
176
  85 0002 82E1      		ldi r24,lo8(18)
176
  85 0002 82E1      		ldi r24,lo8(18)
177
  86 0004 89B9      		out 41-0x20,r24
177
  86 0004 89B9      		out 41-0x20,r24
178
  83:UartInterface.c **** #else    
178
  83:UartInterface.c **** #else    
179
  84:UartInterface.c **** 	UBRRL = 0x08;  /* for 16 MHz crystal at 115.2 kbps */
179
  84:UartInterface.c **** 	UBRRL = 0x08;  /* for 16 MHz crystal at 115.2 kbps */
180
  85:UartInterface.c **** #endif    
180
  85:UartInterface.c **** #endif    
181
GAS LISTING /tmp/ccZtX2VJ.s 			page 4
181
GAS LISTING /tmp/ccX0nxLF.s 			page 4
182
 
182
 
183
 
183
 
184
  86:UartInterface.c **** 	
184
  86:UartInterface.c **** 	
185
  87:UartInterface.c **** 	/* enable the tx and rx capabilities of the UART...as well 
185
  87:UartInterface.c **** 	/* enable the tx and rx capabilities of the UART...as well 
186
  88:UartInterface.c **** 		as the receive complete interrupt */
186
  88:UartInterface.c **** 		as the receive complete interrupt */
187
  89:UartInterface.c **** 	UCSRB = (1<<RXCIE)|(1<<RXEN)|(1<<TXEN);	
187
  89:UartInterface.c **** 	UCSRB = (1<<RXCIE)|(1<<RXEN)|(1<<TXEN);	
188
  87               		.stabn	68,0,89,.LM3-UartInt_init
188
  87               		.stabn	68,0,89,.LM3-.LFBB1
189
  88               	.LM3:
189
  88               	.LM3:
190
  89 0006 88E9      		ldi r24,lo8(-104)
190
  89 0006 88E9      		ldi r24,lo8(-104)
191
  90 0008 8AB9      		out 42-0x20,r24
191
  90 0008 8AB9      		out 42-0x20,r24
192
  90:UartInterface.c **** 	
192
  90:UartInterface.c **** 	
193
  91:UartInterface.c **** 	/* set up the control registers so the UART works at 8N1 */
193
  91:UartInterface.c **** 	/* set up the control registers so the UART works at 8N1 */
194
  92:UartInterface.c **** 	UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
194
  92:UartInterface.c **** 	UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
195
  91               		.stabn	68,0,92,.LM4-UartInt_init
195
  91               		.stabn	68,0,92,.LM4-.LFBB1
196
  92               	.LM4:
196
  92               	.LM4:
197
  93 000a 86E8      		ldi r24,lo8(-122)
197
  93 000a 86E8      		ldi r24,lo8(-122)
198
  94 000c 80BD      		out 64-0x20,r24
198
  94 000c 80BD      		out 64-0x20,r24
199
  93:UartInterface.c ****     
199
  93:UartInterface.c ****     
200
  94:UartInterface.c **** #ifdef NO_CRYSTAL     
200
  94:UartInterface.c **** #ifdef NO_CRYSTAL     
201
  95:UartInterface.c ****     /* set the baud rate to use the double-speed */
201
  95:UartInterface.c ****     /* set the baud rate to use the double-speed */
202
  96:UartInterface.c ****     UCSRA = (1<<U2X);
202
  96:UartInterface.c ****     UCSRA = (1<<U2X);
203
  95               		.stabn	68,0,96,.LM5-UartInt_init
203
  95               		.stabn	68,0,96,.LM5-.LFBB1
204
  96               	.LM5:
204
  96               	.LM5:
205
  97 000e 82E0      		ldi r24,lo8(2)
205
  97 000e 82E0      		ldi r24,lo8(2)
206
  98 0010 8BB9      		out 43-0x20,r24
206
  98 0010 8BB9      		out 43-0x20,r24
207
  99               	/* epilogue: frame size=0 */
207
  99               	/* epilogue: frame size=0 */
208
 100 0012 0895      		ret
208
 100 0012 0895      		ret
209
 101               	/* epilogue end (size=1) */
209
 101               	/* epilogue end (size=1) */
210
 102               	/* function UartInt_init size 10 (9) */
210
 102               	/* function UartInt_init size 10 (9) */
211
 103               		.size	UartInt_init, .-UartInt_init
211
 103               		.size	UartInt_init, .-UartInt_init
212
 104               	.Lscope0:
212
 104               	.Lscope1:
213
 105               		.stabs	"",36,0,0,.Lscope0-UartInt_init
213
 105               		.stabs	"",36,0,0,.Lscope1-.LFBB1
214
 106               		.stabd	78,0,0
214
 106               		.stabd	78,0,0
215
 107               		.stabs	"UartInt_txByte:F(0,15)",36,0,115,UartInt_txByte
215
 107               		.stabs	"UartInt_txByte:F(0,15)",36,0,115,UartInt_txByte
216
 108               		.stabs	"txByte:P(0,11)",64,0,114,24
216
 108               		.stabs	"txByte:P(0,11)",64,0,114,24
217
 109               	.global	UartInt_txByte
217
 109               	.global	UartInt_txByte
218
 110               		.type	UartInt_txByte, @function
218
 110               		.type	UartInt_txByte, @function
Line 235... Line 235...
235
 111:UartInterface.c **** 	byte at a time at strtegically timed intervals, like
235
 111:UartInterface.c **** 	byte at a time at strtegically timed intervals, like
236
 112:UartInterface.c **** 	the stats data is sent out :-)
236
 112:UartInterface.c **** 	the stats data is sent out :-)
237
 113:UartInterface.c **** ***********************************************************/
237
 113:UartInterface.c **** ***********************************************************/
238
 114:UartInterface.c **** void UartInt_txByte(unsigned char txByte)
238
 114:UartInterface.c **** void UartInt_txByte(unsigned char txByte)
239
 115:UartInterface.c **** {
239
 115:UartInterface.c **** {
240
 113               		.stabn	68,0,115,.LM6-UartInt_txByte
240
 113               		.stabn	68,0,115,.LM6-.LFBB2
241
GAS LISTING /tmp/ccZtX2VJ.s 			page 5
241
GAS LISTING /tmp/ccX0nxLF.s 			page 5
242
 
242
 
243
 
243
 
244
 114               	.LM6:
244
 114               	.LM6:
-
 
245
 115               	.LFBB2:
245
 115               	/* prologue: frame size=0 */
246
 116               	/* prologue: frame size=0 */
246
 116               	/* prologue end (size=0) */
247
 117               	/* prologue end (size=0) */
247
 117               	.L5:
248
 118               	.L5:
248
 116:UartInterface.c **** 	/* Wait for empty transmit buffer */
249
 116:UartInterface.c **** 	/* Wait for empty transmit buffer */
249
 117:UartInterface.c **** 	while ( !( UCSRA & (1<<UDRE)) );
250
 117:UartInterface.c **** 	while ( !( UCSRA & (1<<UDRE)) );
250
 118               		.stabn	68,0,117,.LM7-UartInt_txByte
251
 119               		.stabn	68,0,117,.LM7-.LFBB2
251
 119               	.LM7:
252
 120               	.LM7:
252
 120 0014 5D9B      		sbis 43-0x20,5
253
 121 0014 5D9B      		sbis 43-0x20,5
253
 121 0016 FECF      		rjmp .L5
254
 122 0016 00C0      		rjmp .L5
254
 118:UartInterface.c **** 	/* Put data into buffer, sends the data */
255
 118:UartInterface.c **** 	/* Put data into buffer, sends the data */
255
 119:UartInterface.c **** 	UDR = txByte;
256
 119:UartInterface.c **** 	UDR = txByte;
256
 122               		.stabn	68,0,119,.LM8-UartInt_txByte
257
 123               		.stabn	68,0,119,.LM8-.LFBB2
257
 123               	.LM8:
258
 124               	.LM8:
258
 124 0018 8CB9      		out 44-0x20,r24
259
 125 0018 8CB9      		out 44-0x20,r24
259
 125               	/* epilogue: frame size=0 */
260
 126               	/* epilogue: frame size=0 */
260
 126 001a 0895      		ret
261
 127 001a 0895      		ret
261
 127               	/* epilogue end (size=1) */
262
 128               	/* epilogue end (size=1) */
262
 128               	/* function UartInt_txByte size 4 (3) */
263
 129               	/* function UartInt_txByte size 4 (3) */
263
 129               		.size	UartInt_txByte, .-UartInt_txByte
264
 130               		.size	UartInt_txByte, .-UartInt_txByte
264
 130               	.Lscope1:
265
 131               	.Lscope2:
265
 131               		.stabs	"",36,0,0,.Lscope1-UartInt_txByte
266
 132               		.stabs	"",36,0,0,.Lscope2-.LFBB2
266
 132               		.stabd	78,0,0
267
 133               		.stabd	78,0,0
267
 133               		.stabs	"__vector_11:F(0,15)",36,0,138,__vector_11
268
 134               		.stabs	"__vector_11:F(0,15)",36,0,138,__vector_11
268
 134               	.global	__vector_11
269
 135               	.global	__vector_11
269
 135               		.type	__vector_11, @function
270
 136               		.type	__vector_11, @function
270
 136               	__vector_11:
271
 137               	__vector_11:
271
 137               		.stabd	46,0,0
272
 138               		.stabd	46,0,0
272
 120:UartInterface.c **** }
273
 120:UartInterface.c **** }
273
 121:UartInterface.c **** 
274
 121:UartInterface.c **** 
274
 122:UartInterface.c **** /***********************************************************
275
 122:UartInterface.c **** /***********************************************************
275
 123:UartInterface.c **** 	Function Name: SIG_UART_RECV ISR
276
 123:UartInterface.c **** 	Function Name: SIG_UART_RECV ISR
276
 124:UartInterface.c **** 	Function Description: This function is responsible for
277
 124:UartInterface.c **** 	Function Description: This function is responsible for
Line 286... Line 287...
286
 134:UartInterface.c ****     But it wasn't really needed, and understanding the C
287
 134:UartInterface.c ****     But it wasn't really needed, and understanding the C
287
 135:UartInterface.c ****     is easier  :-)
288
 135:UartInterface.c ****     is easier  :-)
288
 136:UartInterface.c **** ***********************************************************/
289
 136:UartInterface.c **** ***********************************************************/
289
 137:UartInterface.c **** SIGNAL(SIG_UART_RECV)
290
 137:UartInterface.c **** SIGNAL(SIG_UART_RECV)
290
 138:UartInterface.c **** {
291
 138:UartInterface.c **** {
291
 138               		.stabn	68,0,138,.LM9-__vector_11
292
 139               		.stabn	68,0,138,.LM9-.LFBB3
292
 139               	.LM9:
293
 140               	.LM9:
-
 
294
 141               	.LFBB3:
293
 140               	/* prologue: frame size=0 */
295
 142               	/* prologue: frame size=0 */
294
 141 001c 1F92      		push __zero_reg__
296
 143 001c 1F92      		push __zero_reg__
295
 142 001e 0F92      		push __tmp_reg__
297
 144 001e 0F92      		push __tmp_reg__
296
 143 0020 0FB6      		in __tmp_reg__,__SREG__
298
 145 0020 0FB6      		in __tmp_reg__,__SREG__
297
 144 0022 0F92      		push __tmp_reg__
299
 146 0022 0F92      		push __tmp_reg__
298
 145 0024 1124      		clr __zero_reg__
300
 147 0024 1124      		clr __zero_reg__
299
 146 0026 8F93      		push r24
-
 
300
 147 0028 9F93      		push r25
-
 
301
GAS LISTING /tmp/ccZtX2VJ.s 			page 6
301
GAS LISTING /tmp/ccX0nxLF.s 			page 6
302
 
302
 
303
 
303
 
-
 
304
 148 0026 8F93      		push r24
-
 
305
 149 0028 9F93      		push r25
304
 148 002a EF93      		push r30
306
 150 002a EF93      		push r30
305
 149 002c FF93      		push r31
307
 151 002c FF93      		push r31
306
 150               	/* prologue end (size=9) */
308
 152               	/* prologue end (size=9) */
307
 139:UartInterface.c ****     unsigned char tmpHead;
309
 139:UartInterface.c ****     unsigned char tmpHead;
308
 140:UartInterface.c ****     /* read the data byte, put it in the serial queue, and
310
 140:UartInterface.c ****     /* read the data byte, put it in the serial queue, and
309
 141:UartInterface.c ****     post the event */
311
 141:UartInterface.c ****     post the event */
310
 142:UartInterface.c ****  
312
 142:UartInterface.c ****  
311
 143:UartInterface.c ****     UIMgr_rxFifo[UIMgr_rxFifoHead] = UDR;
313
 143:UartInterface.c ****     UIMgr_rxFifo[UIMgr_rxFifoHead] = UDR;
312
 151               		.stabn	68,0,143,.LM10-__vector_11
314
 153               		.stabn	68,0,143,.LM10-.LFBB3
313
 152               	.LM10:
315
 154               	.LM10:
314
 153 002e 8091 0000 		lds r24,UIMgr_rxFifoHead
316
 155 002e 8091 0000 		lds r24,UIMgr_rxFifoHead
315
 154 0032 9CB1      		in r25,44-0x20
317
 156 0032 9CB1      		in r25,44-0x20
316
 155 0034 E0E0      		ldi r30,lo8(UIMgr_rxFifo)
318
 157 0034 E0E0      		ldi r30,lo8(UIMgr_rxFifo)
317
 156 0036 F0E0      		ldi r31,hi8(UIMgr_rxFifo)
319
 158 0036 F0E0      		ldi r31,hi8(UIMgr_rxFifo)
318
 157 0038 E80F      		add r30,r24
320
 159 0038 E80F      		add r30,r24
319
 158 003a F11D      		adc r31,__zero_reg__
321
 160 003a F11D      		adc r31,__zero_reg__
320
 159 003c 9083      		st Z,r25
322
 161 003c 9083      		st Z,r25
321
 144:UartInterface.c **** 
323
 144:UartInterface.c **** 
322
 145:UartInterface.c ****     /* now move the head up */
324
 145:UartInterface.c ****     /* now move the head up */
323
 146:UartInterface.c ****     tmpHead = (UIMgr_rxFifoHead + 1) & (UI_MGR_RX_FIFO_MASK);
325
 146:UartInterface.c ****     tmpHead = (UIMgr_rxFifoHead + 1) & (UI_MGR_RX_FIFO_MASK);
324
 147:UartInterface.c ****     UIMgr_rxFifoHead = tmpHead;
326
 147:UartInterface.c ****     UIMgr_rxFifoHead = tmpHead;
325
 160               		.stabn	68,0,147,.LM11-__vector_11
327
 162               		.stabn	68,0,147,.LM11-.LFBB3
326
 161               	.LM11:
328
 163               	.LM11:
327
 162 003e 8F5F      		subi r24,lo8(-(1))
329
 164 003e 8F5F      		subi r24,lo8(-(1))
328
 163 0040 8F71      		andi r24,lo8(31)
330
 165 0040 8F71      		andi r24,lo8(31)
329
 164 0042 8093 0000 		sts UIMgr_rxFifoHead,r24
331
 166 0042 8093 0000 		sts UIMgr_rxFifoHead,r24
330
 148:UartInterface.c ****     
332
 148:UartInterface.c ****     
331
 149:UartInterface.c ****     /* write the serial received event to the event fifo */
333
 149:UartInterface.c ****     /* write the serial received event to the event fifo */
332
 150:UartInterface.c ****     Exec_eventFifo[Exec_eventFifoHead] = EV_SERIAL_DATA_RECEIVED;
334
 150:UartInterface.c ****     Exec_eventFifo[Exec_eventFifoHead] = EV_SERIAL_DATA_RECEIVED;
333
 165               		.stabn	68,0,150,.LM12-__vector_11
335
 167               		.stabn	68,0,150,.LM12-.LFBB3
334
 166               	.LM12:
336
 168               	.LM12:
335
 167 0046 8091 0000 		lds r24,Exec_eventFifoHead
337
 169 0046 8091 0000 		lds r24,Exec_eventFifoHead
336
 168 004a E0E0      		ldi r30,lo8(Exec_eventFifo)
338
 170 004a E0E0      		ldi r30,lo8(Exec_eventFifo)
337
 169 004c F0E0      		ldi r31,hi8(Exec_eventFifo)
339
 171 004c F0E0      		ldi r31,hi8(Exec_eventFifo)
338
 170 004e E80F      		add r30,r24
340
 172 004e E80F      		add r30,r24
339
 171 0050 F11D      		adc r31,__zero_reg__
341
 173 0050 F11D      		adc r31,__zero_reg__
340
 172 0052 91E0      		ldi r25,lo8(1)
342
 174 0052 91E0      		ldi r25,lo8(1)
341
 173 0054 9083      		st Z,r25
343
 175 0054 9083      		st Z,r25
342
 151:UartInterface.c **** 
344
 151:UartInterface.c **** 
343
 152:UartInterface.c ****     /* now move the head up */
345
 152:UartInterface.c ****     /* now move the head up */
344
 153:UartInterface.c ****     tmpHead = (Exec_eventFifoHead + 1) & (EXEC_EVENT_FIFO_MASK);
346
 153:UartInterface.c ****     tmpHead = (Exec_eventFifoHead + 1) & (EXEC_EVENT_FIFO_MASK);
345
 154:UartInterface.c ****     Exec_eventFifoHead = tmpHead;
347
 154:UartInterface.c ****     Exec_eventFifoHead = tmpHead;
346
 174               		.stabn	68,0,154,.LM13-__vector_11
348
 176               		.stabn	68,0,154,.LM13-.LFBB3
347
 175               	.LM13:
349
 177               	.LM13:
348
 176 0056 8F5F      		subi r24,lo8(-(1))
350
 178 0056 8F5F      		subi r24,lo8(-(1))
349
 177 0058 8770      		andi r24,lo8(7)
351
 179 0058 8770      		andi r24,lo8(7)
350
 178 005a 8093 0000 		sts Exec_eventFifoHead,r24
352
 180 005a 8093 0000 		sts Exec_eventFifoHead,r24
351
 179               	/* epilogue: frame size=0 */
353
 181               	/* epilogue: frame size=0 */
352
 180 005e FF91      		pop r31
354
 182 005e FF91      		pop r31
353
 181 0060 EF91      		pop r30
355
 183 0060 EF91      		pop r30
354
 182 0062 9F91      		pop r25
356
 184 0062 9F91      		pop r25
355
 183 0064 8F91      		pop r24
357
 185 0064 8F91      		pop r24
356
 184 0066 0F90      		pop __tmp_reg__
358
 186 0066 0F90      		pop __tmp_reg__
357
 185 0068 0FBE      		out __SREG__,__tmp_reg__
359
 187 0068 0FBE      		out __SREG__,__tmp_reg__
358
 186 006a 0F90      		pop __tmp_reg__
360
 188 006a 0F90      		pop __tmp_reg__
359
 187 006c 1F90      		pop __zero_reg__
-
 
360
 188 006e 1895      		reti
-
 
361
GAS LISTING /tmp/ccZtX2VJ.s 			page 7
361
GAS LISTING /tmp/ccX0nxLF.s 			page 7
362
 
362
 
363
 
363
 
-
 
364
 189 006c 1F90      		pop __zero_reg__
-
 
365
 190 006e 1895      		reti
364
 189               	/* epilogue end (size=9) */
366
 191               	/* epilogue end (size=9) */
365
 190               	/* function __vector_11 size 42 (24) */
367
 192               	/* function __vector_11 size 42 (24) */
366
 191               		.size	__vector_11, .-__vector_11
368
 193               		.size	__vector_11, .-__vector_11
367
 192               	.Lscope2:
369
 194               	.Lscope3:
368
 193               		.stabs	"",36,0,0,.Lscope2-__vector_11
370
 195               		.stabs	"",36,0,0,.Lscope3-.LFBB3
369
 194               		.stabd	78,0,0
371
 196               		.stabd	78,0,0
370
 195               		.stabs	"",100,0,0,.Letext0
372
 197               		.stabs	"",100,0,0,.Letext0
371
 196               	.Letext0:
373
 198               	.Letext0:
372
 197               	/* File "UartInterface.c": code   56 = 0x0038 (  36), prologues   9, epilogues  11 */
374
 199               	/* File "UartInterface.c": code   56 = 0x0038 (  36), prologues   9, epilogues  11 */
373
GAS LISTING /tmp/ccZtX2VJ.s 			page 8
375
GAS LISTING /tmp/ccX0nxLF.s 			page 8
374
 
376
 
375
 
377
 
376
DEFINED SYMBOLS
378
DEFINED SYMBOLS
377
                            *ABS*:00000000 UartInterface.c
379
                            *ABS*:00000000 UartInterface.c
378
     /tmp/ccZtX2VJ.s:3      *ABS*:0000003f __SREG__
380
     /tmp/ccX0nxLF.s:2      *ABS*:0000003f __SREG__
379
     /tmp/ccZtX2VJ.s:4      *ABS*:0000003e __SP_H__
381
     /tmp/ccX0nxLF.s:3      *ABS*:0000003e __SP_H__
380
     /tmp/ccZtX2VJ.s:5      *ABS*:0000003d __SP_L__
382
     /tmp/ccX0nxLF.s:4      *ABS*:0000003d __SP_L__
381
     /tmp/ccZtX2VJ.s:6      *ABS*:00000000 __tmp_reg__
383
     /tmp/ccX0nxLF.s:5      *ABS*:00000000 __tmp_reg__
382
     /tmp/ccZtX2VJ.s:7      *ABS*:00000001 __zero_reg__
384
     /tmp/ccX0nxLF.s:6      *ABS*:00000001 __zero_reg__
383
     /tmp/ccZtX2VJ.s:74     .text:00000000 UartInt_init
385
     /tmp/ccX0nxLF.s:73     .text:00000000 UartInt_init
384
     /tmp/ccZtX2VJ.s:111    .text:00000014 UartInt_txByte
386
     /tmp/ccX0nxLF.s:111    .text:00000014 UartInt_txByte
385
     /tmp/ccZtX2VJ.s:136    .text:0000001c __vector_11
387
     /tmp/ccX0nxLF.s:137    .text:0000001c __vector_11
386
 
388
 
387
UNDEFINED SYMBOLS
389
UNDEFINED SYMBOLS
388
__do_copy_data
390
__do_copy_data
389
__do_clear_bss
391
__do_clear_bss
390
UIMgr_rxFifoHead
392
UIMgr_rxFifoHead