1 .file "parser.c" 2 __SREG__ = 0x3f 3 __SP_H__ = 0x3e 4 __SP_L__ = 0x3d 5 __CCP__ = 0x34 6 __tmp_reg__ = 0 7 __zero_reg__ = 1 15 .Ltext0: 16 .data 17 .LC0: 18 0000 0D0A 00 .string "\r\n" 19 .LC1: 20 0003 3F00 .string "?" 21 .LC2: 22 0005 3F0D 0A00 .string "?\r\n" 23 .section .text.ParseCommand,"ax",@progbits 24 .global ParseCommand 26 ParseCommand: 27 .LFB2: 28 .LSM0: 29 0000 AF92 push r10 30 0002 BF92 push r11 31 0004 CF92 push r12 32 0006 DF92 push r13 33 0008 EF92 push r14 34 000a FF92 push r15 35 000c 0F93 push r16 36 000e 1F93 push r17 37 0010 DF93 push r29 38 0012 CF93 push r28 39 0014 CDB7 in r28,__SP_L__ 40 0016 DEB7 in r29,__SP_H__ 41 0018 2A97 sbiw r28,10 42 001a 0FB6 in __tmp_reg__,__SREG__ 43 001c F894 cli 44 001e DEBF out __SP_H__,r29 45 0020 0FBE out __SREG__,__tmp_reg__ 46 0022 CDBF out __SP_L__,r28 47 /* prologue: function */ 48 /* frame size = 10 */ 49 .LSM1: 50 0024 83E2 ldi r24,lo8(35) 51 0026 0E94 0000 call USART_Tx 52 .LSM2: 53 002a 0E94 0000 call USART_Rx 54 002e D82E mov r13,r24 55 .LVL0: 56 .LSM3: 57 0030 0E94 0000 call USART_Tx 58 0034 CC24 clr r12 59 .LVL1: 60 .LSM4: 61 0036 5E01 movw r10,r28 62 0038 0894 sec 63 003a A11C adc r10,__zero_reg__ 64 003c B11C adc r11,__zero_reg__ 65 .L7: 66 003e EC2C mov r14,r12 67 0040 FF24 clr r15 68 0042 0E94 0000 call USART_Rx 69 0046 8501 movw r16,r10 70 0048 0E0D add r16,r14 71 004a 1F1D adc r17,r15 72 004c D801 movw r26,r16 73 004e 8C93 st X,r24 74 .LSM5: 75 0050 0E94 0000 call USART_Tx 76 .LSM6: 77 0054 F801 movw r30,r16 78 0056 0081 ld r16,Z 79 0058 0D30 cpi r16,lo8(13) 80 005a 01F0 breq .L3 81 005c 0E30 cpi r16,lo8(14) 82 005e 00F4 brsh .L5 83 0060 0A30 cpi r16,lo8(10) 84 0062 01F4 brne .L2 85 0064 00C0 rjmp .L3 86 .L5: 87 0066 0032 cpi r16,lo8(32) 88 0068 01F0 breq .L4 89 006a 0B33 cpi r16,lo8(59) 90 006c 01F4 brne .L2 91 .L3: 92 .LSM7: 93 006e EA0C add r14,r10 94 0070 FB1C adc r15,r11 95 0072 D701 movw r26,r14 96 0074 1C92 st X,__zero_reg__ 97 .L2: 98 .LSM8: 99 0076 C394 inc r12 100 .L4: 101 .LSM9: 102 0078 EC2C mov r14,r12 103 007a FF24 clr r15 104 007c 8701 movw r16,r14 105 007e 0150 subi r16,lo8(-(-1)) 106 0080 1040 sbci r17,hi8(-(-1)) 107 0082 F501 movw r30,r10 108 0084 E00F add r30,r16 109 0086 F11F adc r31,r17 110 0088 8081 ld r24,Z 111 008a 8823 tst r24 112 008c 01F0 breq .L6 113 008e B9E0 ldi r27,lo8(9) 114 0090 BC15 cp r27,r12 115 0092 00F4 brsh .L7 116 .L6: 117 .LSM10: 118 0094 00D0 rcall . 119 0096 80E0 ldi r24,lo8(.LC0) 120 0098 90E0 ldi r25,hi8(.LC0) 121 009a EDB7 in r30,__SP_L__ 122 009c FEB7 in r31,__SP_H__ 123 009e 9283 std Z+2,r25 124 00a0 8183 std Z+1,r24 125 00a2 0E94 0000 call USART_printf 126 .LSM11: 127 00a6 FE01 movw r30,r28 128 00a8 3196 adiw r30,1 129 00aa 0E0F add r16,r30 130 00ac 1F1F adc r17,r31 131 00ae 0F90 pop __tmp_reg__ 132 00b0 0F90 pop __tmp_reg__ 133 00b2 D801 movw r26,r16 134 00b4 8C91 ld r24,X 135 00b6 8823 tst r24 136 00b8 01F0 breq .L8 137 .LSM12: 138 00ba 80E0 ldi r24,lo8(.LC1) 139 00bc 90E0 ldi r25,hi8(.LC1) 140 00be 0E94 0000 call LCD_puts 141 .LSM13: 142 00c2 00D0 rcall . 143 00c4 80E0 ldi r24,lo8(.LC2) 144 00c6 90E0 ldi r25,hi8(.LC2) 145 00c8 EDB7 in r30,__SP_L__ 146 00ca FEB7 in r31,__SP_H__ 147 00cc 9283 std Z+2,r25 148 00ce 8183 std Z+1,r24 149 00d0 0E94 0000 call USART_printf 150 00d4 8FEF ldi r24,lo8(-1) 151 00d6 00C0 rjmp .L24 152 .L8: 153 .LSM14: 154 00d8 EE0D add r30,r14 155 00da FF1D adc r31,r15 156 00dc 1082 st Z,__zero_reg__ 157 .LSM15: 158 00de F4E6 ldi r31,lo8(100) 159 00e0 DF16 cp r13,r31 160 00e2 01F0 breq .L14 161 00e4 FD15 cp r31,r13 162 00e6 00F0 brlo .L18 163 00e8 81E2 ldi r24,lo8(33) 164 00ea D816 cp r13,r24 165 00ec 01F0 breq .L12 166 00ee A1E6 ldi r26,lo8(97) 167 00f0 DA16 cp r13,r26 168 00f2 01F0 breq .L13 169 00f4 BDE0 ldi r27,lo8(13) 170 00f6 DB16 cp r13,r27 171 00f8 01F4 brne .L10 172 00fa 00C0 rjmp .L11 173 .L18: 174 00fc E2E7 ldi r30,lo8(114) 175 00fe DE16 cp r13,r30 176 0100 01F0 breq .L11 177 0102 ED15 cp r30,r13 178 0104 00F0 brlo .L19 179 0106 F0E7 ldi r31,lo8(112) 180 0108 DF16 cp r13,r31 181 010a 01F4 brne .L10 182 010c 00C0 rjmp .L25 183 .L19: 184 010e 84E7 ldi r24,lo8(116) 185 0110 D816 cp r13,r24 186 0112 01F0 breq .L16 187 0114 A7E7 ldi r26,lo8(119) 188 0116 DA16 cp r13,r26 189 0118 01F4 brne .L10 190 011a 00C0 rjmp .L26 191 .L11: 192 011c E0E0 ldi r30,lo8(gs(read_adc)) 193 011e F0E0 ldi r31,hi8(gs(read_adc)) 194 .LVL2: 195 0120 00C0 rjmp .L23 196 .LVL3: 197 .L25: 198 0122 E0E0 ldi r30,lo8(gs(poll_adc)) 199 0124 F0E0 ldi r31,hi8(gs(poll_adc)) 200 .LVL4: 201 0126 00C0 rjmp .L23 202 .LVL5: 203 .L14: 204 .LSM16: 205 0128 E0E0 ldi r30,lo8(gs(set_dac)) 206 012a F0E0 ldi r31,hi8(gs(set_dac)) 207 .LVL6: 208 012c 00C0 rjmp .L23 209 .LVL7: 210 .L16: 211 .LSM17: 212 012e E0E0 ldi r30,lo8(gs(set_timeout)) 213 0130 F0E0 ldi r31,hi8(gs(set_timeout)) 214 .LVL8: 215 0132 00C0 rjmp .L23 216 .LVL9: 217 .L26: 218 .LSM18: 219 0134 E0E0 ldi r30,lo8(gs(set_delay)) 220 0136 F0E0 ldi r31,hi8(gs(set_delay)) 221 .LVL10: 222 0138 00C0 rjmp .L23 223 .LVL11: 224 .L13: 225 .LSM19: 226 013a E0E0 ldi r30,lo8(gs(set_averages)) 227 013c F0E0 ldi r31,hi8(gs(set_averages)) 228 .LVL12: 229 013e 00C0 rjmp .L23 230 .LVL13: 231 .L12: 232 .LSM20: 233 0140 E0E0 ldi r30,lo8(gs(reset)) 234 0142 F0E0 ldi r31,hi8(gs(reset)) 235 .LVL14: 236 .L23: 237 .LSM21: 238 0144 CE01 movw r24,r28 239 0146 0196 adiw r24,1 240 0148 0995 icall 241 .LVL15: 242 014a 8823 tst r24 243 014c 01F0 breq .L9 244 .L10: 245 .LSM22: 246 014e 80E0 ldi r24,lo8(.LC1) 247 0150 90E0 ldi r25,hi8(.LC1) 248 0152 0E94 0000 call LCD_puts 249 .LSM23: 250 0156 00D0 rcall . 251 0158 80E0 ldi r24,lo8(.LC2) 252 015a 90E0 ldi r25,hi8(.LC2) 253 015c EDB7 in r30,__SP_L__ 254 015e FEB7 in r31,__SP_H__ 255 0160 9283 std Z+2,r25 256 0162 8183 std Z+1,r24 257 0164 0E94 0000 call USART_printf 258 0168 8EEF ldi r24,lo8(-2) 259 .L24: 260 016a 0F90 pop __tmp_reg__ 261 016c 0F90 pop __tmp_reg__ 262 .L9: 263 /* epilogue start */ 264 .LSM24: 265 016e 2A96 adiw r28,10 266 0170 0FB6 in __tmp_reg__,__SREG__ 267 0172 F894 cli 268 0174 DEBF out __SP_H__,r29 269 0176 0FBE out __SREG__,__tmp_reg__ 270 0178 CDBF out __SP_L__,r28 271 017a CF91 pop r28 272 017c DF91 pop r29 273 017e 1F91 pop r17 274 0180 0F91 pop r16 275 0182 FF90 pop r15 276 0184 EF90 pop r14 277 0186 DF90 pop r13 278 .LVL16: 279 0188 CF90 pop r12 280 .LVL17: 281 018a BF90 pop r11 282 018c AF90 pop r10 283 018e 0895 ret 284 .LFE2: 310 .Letext0: DEFINED SYMBOLS *ABS*:0000000000000000 parser.c /tmp/ccTH87Jm.s:2 *ABS*:000000000000003f __SREG__ /tmp/ccTH87Jm.s:3 *ABS*:000000000000003e __SP_H__ /tmp/ccTH87Jm.s:4 *ABS*:000000000000003d __SP_L__ /tmp/ccTH87Jm.s:5 *ABS*:0000000000000034 __CCP__ /tmp/ccTH87Jm.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccTH87Jm.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccTH87Jm.s:26 .text.ParseCommand:0000000000000000 ParseCommand UNDEFINED SYMBOLS USART_Tx USART_Rx USART_printf LCD_puts read_adc poll_adc set_dac set_timeout set_delay set_averages reset __do_copy_data