1 .file "main.c" 2 __SP_H__ = 0x3e 3 __SP_L__ = 0x3d 4 __SREG__ = 0x3f 5 __tmp_reg__ = 0 6 __zero_reg__ = 1 7 .text 8 .Ltext0: 9 .cfi_sections .debug_frame 10 .global uart_init 12 uart_init: 13 .LFB6: 14 .file 1 "main.c" 1:main.c **** #ifndef F_CPU 2:main.c **** #define F_CPU 8000000 3:main.c **** #endif 4:main.c **** 5:main.c **** #include 6:main.c **** #include 7:main.c **** #define BAUD 9600 8:main.c **** #define m168p 9:main.c **** #include 10:main.c **** 11:main.c **** /* Definizioni per il m168p */ 12:main.c **** #ifdef m168p 13:main.c **** #define UCSRA UCSR0A 14:main.c **** #define UCSRB UCSR0B 15:main.c **** #define UCSRC UCSR0C 16:main.c **** #define UBRRH UBRR0H 17:main.c **** #define UBRRL UBRR0L 18:main.c **** #define U2X U2X0 19:main.c **** #define UDRE UDRE0 20:main.c **** #define UDR UDR0 21:main.c **** #endif 22:main.c **** /* fine definizioni per il m168p*/ 23:main.c **** 24:main.c **** /* Inizializza la porta seriale */ 25:main.c **** void uart_init(void) 26:main.c **** { 15 .loc 1 26 0 16 .cfi_startproc 17 /* prologue: function */ 18 /* frame size = 0 */ 19 /* stack size = 0 */ 20 .L__stack_usage = 0 27:main.c **** UBRRH = UBRRH_VALUE; 21 .loc 1 27 0 22 0000 1092 C500 sts 197,__zero_reg__ 28:main.c **** UBRRL = UBRRL_VALUE; 23 .loc 1 28 0 24 0004 83E3 ldi r24,lo8(51) 25 0006 8093 C400 sts 196,r24 29:main.c **** #if USE_2X0 30:main.c **** UCSRA |= (1 << U2X); 31:main.c **** #else 32:main.c **** UCSRA &= ~(1 << U2X); 26 .loc 1 32 0 27 000a E0EC ldi r30,lo8(-64) 28 000c F0E0 ldi r31,0 29 000e 8081 ld r24,Z 30 0010 8D7F andi r24,lo8(-3) 31 0012 8083 st Z,r24 33:main.c **** #endif 34:main.c **** 35:main.c **** UCSRC= _BV(UCSZ01) | _BV(UCSZ00); // 8 N 1 32 .loc 1 35 0 33 0014 86E0 ldi r24,lo8(6) 34 0016 8093 C200 sts 194,r24 36:main.c **** UCSRB= (1< 43:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #include 44:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #include 45:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 46:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** /** \file */ 47:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** /** \defgroup util_delay : Convenience functions for busy-wait delay loops 48:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** \code 49:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #define F_CPU 1000000UL // 1 MHz 50:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** //#define F_CPU 14.7456E6 51:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #include 52:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** \endcode 53:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 54:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** \note As an alternative method, it is possible to pass the 55:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** F_CPU macro down to the compiler from the Makefile. 56:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** Obviously, in that case, no \c \#define statement should be 57:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** used. 58:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 59:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** The functions in this header file are wrappers around the basic 60:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** busy-wait functions from . They are meant as 61:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** convenience functions where actual time values can be specified 62:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** rather than a number of cycles to wait for. The idea behind is 63:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** that compile-time constant expressions will be eliminated by 64:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** compiler optimization so floating-point expressions can be used 65:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** to calculate the number of delay cycles needed based on the CPU 66:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** frequency passed by the macro F_CPU. 67:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 68:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** \note In order for these functions to work as intended, compiler 69:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** optimizations must be enabled, and the delay time 70:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** must be an expression that is a known constant at 71:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** compile-time. If these requirements are not met, the resulting 72:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** delay will be much longer (and basically unpredictable), and 73:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** applications that otherwise do not use floating-point calculations 74:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** will experience severe code bloat by the floating-point library 75:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** routines linked into the application. 76:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 77:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** The functions available allow the specification of microsecond, and 78:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** millisecond delays directly, using the application-supplied macro 79:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** F_CPU as the CPU clock frequency (in Hertz). 80:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 81:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** */ 82:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 83:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #if !defined(__DOXYGEN__) 84:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** static inline void _delay_us(double __us) __attribute__((always_inline)); 85:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** static inline void _delay_ms(double __ms) __attribute__((always_inline)); 86:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #endif 87:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 88:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #ifndef F_CPU 89:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** /* prevent compiler error by supplying a default */ 90:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** # warning "F_CPU not defined for " 91:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** # define F_CPU 1000000UL 92:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #endif 93:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 94:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #ifndef __OPTIMIZE__ 95:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** # warning "Compiler optimizations disabled; functions from won't work as designed" 96:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #endif 97:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 98:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #if __HAS_DELAY_CYCLES && defined(__OPTIMIZE__) && \ 99:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** !defined(__DELAY_BACKWARD_COMPATIBLE__) && \ 100:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** __STDC_HOSTED__ 101:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** # include 102:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #endif 103:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 104:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** /** 105:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** \ingroup util_delay 106:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 107:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** Perform a delay of \c __ms milliseconds, using _delay_loop_2(). 108:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 109:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** The macro F_CPU is supposed to be defined to a 110:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** constant defining the CPU clock frequency (in Hertz). 111:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 112:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** The maximal possible delay is 262.14 ms / F_CPU in MHz. 113:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 114:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** When the user request delay which exceed the maximum possible one, 115:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** _delay_ms() provides a decreased resolution functionality. In this 116:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** mode _delay_ms() will work with a resolution of 1/10 ms, providing 117:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** delays up to 6.5535 seconds (independent from CPU frequency). The 118:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** user will not be informed about decreased resolution. 119:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 120:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** If the avr-gcc toolchain has __builtin_avr_delay_cycles(unsigned long) 121:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** support, maximal possible delay is 4294967.295 ms/ F_CPU in MHz. For 122:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** values greater than the maximal possible delay, overflows results in 123:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** no delay i.e., 0ms. 124:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 125:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** Conversion of __us into clock cycles may not always result in integer. 126:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** By default, the clock cycles rounded up to next integer. This ensures that 127:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** the user gets atleast __us microseconds of delay. 128:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 129:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** Alternatively, user can define __DELAY_ROUND_DOWN__ and __DELAY_ROUND_CLOSEST__ 130:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** to round down and round to closest integer. 131:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 132:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** Note: The new implementation of _delay_ms(double __ms) with 133:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** __builtin_avr_delay_cycles(unsigned long) support is not backward compatible. 134:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** User can define __DELAY_BACKWARD_COMPATIBLE__ to get a backward compatible delay. 135:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** Also, the backward compatible 136:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** algorithm will be chosen if the code is compiled in a freestanding 137:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** environment (GCC option \c -ffreestanding), as the math functions 138:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** required for rounding are not available to the compiler then. 139:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 140:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** */ 141:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** void 142:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** _delay_ms(double __ms) 143:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** { 144:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** double __tmp ; 145:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #if __HAS_DELAY_CYCLES && defined(__OPTIMIZE__) && \ 146:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** !defined(__DELAY_BACKWARD_COMPATIBLE__) && \ 147:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** __STDC_HOSTED__ 148:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** uint32_t __ticks_dc; 149:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** extern void __builtin_avr_delay_cycles(unsigned long); 150:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** __tmp = ((F_CPU) / 1e3) * __ms; 151:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 152:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #if defined(__DELAY_ROUND_DOWN__) 153:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** __ticks_dc = (uint32_t)fabs(__tmp); 154:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 155:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #elif defined(__DELAY_ROUND_CLOSEST__) 156:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** __ticks_dc = (uint32_t)(fabs(__tmp)+0.5); 157:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 158:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #else 159:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** //round up by default 160:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); 161:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #endif 162:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** 163:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** __builtin_avr_delay_cycles(__ticks_dc); 139 .loc 2 163 0 140 0008 2FEF ldi r18,lo8(4799999) 141 000a 3DE3 ldi r19,hi8(4799999) 142 000c 89E4 ldi r24,hlo8(4799999) 143 000e 2150 1: subi r18,1 144 0010 3040 sbci r19,0 145 0012 8040 sbci r24,0 146 0014 01F4 brne 1b 147 0016 00C0 rjmp . 148 0018 0000 nop 149 .LBE7: 150 .LBE6: 67:main.c **** _delay_ms(3000); 68:main.c **** uart_puts("CL"); 151 .loc 1 68 0 152 001a 80E0 ldi r24,lo8(.LC0) 153 001c 90E0 ldi r25,hi8(.LC0) 154 001e 0E94 0000 call uart_puts 155 .LVL9: 69:main.c **** uart_puts("DSS"); 156 .loc 1 69 0 157 0022 80E0 ldi r24,lo8(.LC1) 158 0024 90E0 ldi r25,hi8(.LC1) 159 0026 0E94 0000 call uart_puts 160 .LVL10: 70:main.c **** uart_putc(0); 161 .loc 1 70 0 162 002a 80E0 ldi r24,0 163 002c 0E94 0000 call uart_putc 164 .LVL11: 71:main.c **** uart_puts("TT* Love Silvia *\n"); 165 .loc 1 71 0 166 0030 80E0 ldi r24,lo8(.LC2) 167 0032 90E0 ldi r25,hi8(.LC2) 168 0034 0E94 0000 call uart_puts 169 .LVL12: 72:main.c **** uart_puts("TRT"); 170 .loc 1 72 0 171 0038 80E0 ldi r24,lo8(.LC3) 172 003a 90E0 ldi r25,hi8(.LC3) 173 003c 0E94 0000 call uart_puts 174 .LVL13: 73:main.c **** uart_puts("TT* Love Silvia *\n"); 175 .loc 1 73 0 176 0040 80E0 ldi r24,lo8(.LC2) 177 0042 90E0 ldi r25,hi8(.LC2) 178 0044 0E94 0000 call uart_puts 179 .LVL14: 74:main.c **** uart_puts("TRT"); 180 .loc 1 74 0 181 0048 80E0 ldi r24,lo8(.LC3) 182 004a 90E0 ldi r25,hi8(.LC3) 183 004c 0E94 0000 call uart_puts 184 .LVL15: 75:main.c **** uart_puts("TT* Love Silvia *\n"); 185 .loc 1 75 0 186 0050 80E0 ldi r24,lo8(.LC2) 187 0052 90E0 ldi r25,hi8(.LC2) 188 0054 0E94 0000 call uart_puts 189 .LVL16: 76:main.c **** uart_puts("TRT"); 190 .loc 1 76 0 191 0058 80E0 ldi r24,lo8(.LC3) 192 005a 90E0 ldi r25,hi8(.LC3) 193 005c 0E94 0000 call uart_puts 194 .LVL17: 77:main.c **** uart_puts("TT* Love Silvia *\n"); 195 .loc 1 77 0 196 0060 80E0 ldi r24,lo8(.LC2) 197 0062 90E0 ldi r25,hi8(.LC2) 198 0064 0E94 0000 call uart_puts 199 .LVL18: 78:main.c **** uart_puts("TRT"); 200 .loc 1 78 0 201 0068 80E0 ldi r24,lo8(.LC3) 202 006a 90E0 ldi r25,hi8(.LC3) 203 006c 0E94 0000 call uart_puts 204 .LVL19: 79:main.c **** uart_puts("TT* Love Silvia *\n"); 205 .loc 1 79 0 206 0070 80E0 ldi r24,lo8(.LC2) 207 0072 90E0 ldi r25,hi8(.LC2) 208 0074 0E94 0000 call uart_puts 209 .LVL20: 80:main.c **** uart_puts("TRT"); 210 .loc 1 80 0 211 0078 80E0 ldi r24,lo8(.LC3) 212 007a 90E0 ldi r25,hi8(.LC3) 213 007c 0E94 0000 call uart_puts 214 .LVL21: 81:main.c **** 82:main.c **** /* 83:main.c **** uart_puts("SF"); 84:main.c **** uart_putc(6); 85:main.c **** uart_puts("TT12345678901234567890123456789012\n"); 86:main.c **** 87:main.c **** uart_puts("SF"); 88:main.c **** uart_putc(10); 89:main.c **** uart_puts("TRT"); 90:main.c **** uart_puts("TT123456789012345678901\n"); 91:main.c **** 92:main.c **** uart_puts("SF"); 93:main.c **** uart_putc(0); 94:main.c **** uart_puts("TRT"); 95:main.c **** uart_puts("TT1234567890123456\n"); 96:main.c **** 97:main.c **** uart_puts("SF"); 98:main.c **** uart_putc(18); 99:main.c **** uart_puts("TRT"); 100:main.c **** uart_puts("TT12345678901234\n"); 101:main.c **** */ 102:main.c **** 103:main.c **** while(1) { 104:main.c **** zwischenspeicher = PORTC; 105:main.c **** zwischenspeicher = zwischenspeicher ^ 0b00000001; 215 .loc 1 105 0 216 0080 91E0 ldi r25,lo8(1) 217 .L11: 104:main.c **** zwischenspeicher = zwischenspeicher ^ 0b00000001; 218 .loc 1 104 0 discriminator 1 219 0082 88B1 in r24,0x8 220 .LVL22: 221 .loc 1 105 0 discriminator 1 222 0084 8927 eor r24,r25 223 .LVL23: 106:main.c **** PORTC = zwischenspeicher; 224 .loc 1 106 0 discriminator 1 225 0086 88B9 out 0x8,r24 226 .LVL24: 227 .LBB8: 228 .LBB9: 229 .loc 2 163 0 discriminator 1 230 0088 2FEF ldi r18,lo8(799999) 231 008a 34E3 ldi r19,hi8(799999) 232 008c 8CE0 ldi r24,hlo8(799999) 233 008e 2150 1: subi r18,1 234 0090 3040 sbci r19,0 235 0092 8040 sbci r24,0 236 0094 01F4 brne 1b 237 .LVL25: 238 0096 00C0 rjmp . 239 0098 0000 nop 240 009a 00C0 rjmp .L11 241 .LBE9: 242 .LBE8: 243 .cfi_endproc 244 .LFE9: 246 .text 247 .Letext0: 248 .file 3 "e:\\progs\\arduino-1.7.4\\hardware\\tools\\avr\\avr\\include\\stdint.h" DEFINED SYMBOLS *ABS*:00000000 main.c C:\Users\q242695\AppData\Local\Temp\cc4MGEr5.s:2 *ABS*:0000003e __SP_H__ C:\Users\q242695\AppData\Local\Temp\cc4MGEr5.s:3 *ABS*:0000003d __SP_L__ C:\Users\q242695\AppData\Local\Temp\cc4MGEr5.s:4 *ABS*:0000003f __SREG__ C:\Users\q242695\AppData\Local\Temp\cc4MGEr5.s:5 *ABS*:00000000 __tmp_reg__ C:\Users\q242695\AppData\Local\Temp\cc4MGEr5.s:6 *ABS*:00000001 __zero_reg__ C:\Users\q242695\AppData\Local\Temp\cc4MGEr5.s:12 .text:00000000 uart_init C:\Users\q242695\AppData\Local\Temp\cc4MGEr5.s:44 .text:00000022 uart_putc C:\Users\q242695\AppData\Local\Temp\cc4MGEr5.s:70 .text:00000034 uart_puts C:\Users\q242695\AppData\Local\Temp\cc4MGEr5.s:122 .text.startup:00000000 main UNDEFINED SYMBOLS __do_copy_data