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
|