Blame | Last modification | View Log | RSS feed
1 .file "uart.c"2 .arch atmega644p3 __SREG__ = 0x3f4 __SP_H__ = 0x3e5 __SP_L__ = 0x3d6 __tmp_reg__ = 07 __zero_reg__ = 18 .global __do_copy_data9 .global __do_clear_bss10 .text11 .global __vector_3013 __vector_30:14 /* prologue: frame size=0 */15 0000 1F92 push __zero_reg__16 0002 0F92 push __tmp_reg__17 0004 0FB6 in __tmp_reg__,__SREG__18 0006 0F92 push __tmp_reg__19 0008 1124 clr __zero_reg__20 000a 8F93 push r2421 000c 9F93 push r2522 000e EF93 push r3023 0010 FF93 push r3124 /* prologue end (size=9) */25 0012 8091 0000 lds r24,UebertragungAbgeschlossen126 0016 8823 tst r2427 0018 01F4 brne .L228 001a 8091 0000 lds r24,ptr1.206029 001e 9091 0000 lds r25,(ptr1.2060)+130 0022 0196 adiw r24,131 0024 9093 0000 sts (ptr1.2060)+1,r2532 0028 8093 0000 sts ptr1.2060,r2433 002c FC01 movw r30,r2434 002e E050 subi r30,lo8(-(SendeBuffer1))35 0030 F040 sbci r31,hi8(-(SendeBuffer1))36 0032 E081 ld r30,Z37 0034 ED30 cpi r30,lo8(13)38 0036 01F0 breq .L439 0038 8639 cpi r24,15040 003a 9105 cpc r25,__zero_reg__41 003c 01F4 brne .L642 .L4:43 003e 1092 0000 sts (ptr1.2060)+1,__zero_reg__44 0042 1092 0000 sts ptr1.2060,__zero_reg__45 0046 81E0 ldi r24,lo8(1)46 0048 8093 0000 sts UebertragungAbgeschlossen1,r2447 .L6:48 004c E093 CE00 sts 206,r3049 0050 00C0 rjmp .L850 .L2:51 0052 1092 0000 sts (ptr1.2060)+1,__zero_reg__52 0056 1092 0000 sts ptr1.2060,__zero_reg__53 .L8:54 /* epilogue: frame size=0 */55 005a FF91 pop r3156 005c EF91 pop r3057 005e 9F91 pop r2558 0060 8F91 pop r2459 0062 0F90 pop __tmp_reg__60 0064 0FBE out __SREG__,__tmp_reg__61 0066 0F90 pop __tmp_reg__62 0068 1F90 pop __zero_reg__63 006a 1895 reti64 /* epilogue end (size=9) */65 /* function __vector_30 size 54 (36) */67 .global __vector_2869 __vector_28:70 /* prologue: frame size=0 */71 006c 1F92 push __zero_reg__72 006e 0F92 push __tmp_reg__73 0070 0FB6 in __tmp_reg__,__SREG__74 0072 0F92 push __tmp_reg__75 0074 1124 clr __zero_reg__76 0076 2F93 push r1877 0078 8F93 push r2478 007a 9F93 push r2579 007c EF93 push r3080 007e FF93 push r3181 /* prologue end (size=10) */82 0080 8091 CE00 lds r24,20683 0084 8093 0000 sts SioTmp1,r2484 0088 9091 0000 lds r25,buf_ptr1.207385 008c 9639 cpi r25,lo8(-106)86 008e 00F0 brlo .L1087 0090 1092 0000 sts UartState1.2074,__zero_reg__88 .L10:89 0094 2091 0000 lds r18,SioTmp190 0098 2D30 cpi r18,lo8(13)91 009a 01F4 brne .L1292 009c 8091 0000 lds r24,UartState1.207493 00a0 8230 cpi r24,lo8(2)94 00a2 01F4 brne .L1295 00a4 1092 0000 sts UartState1.2074,__zero_reg__96 00a8 81E0 ldi r24,lo8(1)97 00aa 8093 0000 sts NeuerDatensatzEmpfangen1,r2498 00ae 9093 0000 sts AnzahlEmpfangsBytes1,r2599 00b2 E92F mov r30,r25100 00b4 FF27 clr r31101 00b6 E050 subi r30,lo8(-(RxdBuffer1))102 00b8 F040 sbci r31,hi8(-(RxdBuffer1))103 00ba 2083 st Z,r18104 00bc 00C0 rjmp .L24105 .L12:106 00be 8091 0000 lds r24,UartState1.2074107 00c2 8130 cpi r24,lo8(1)108 00c4 01F0 breq .L18109 00c6 8130 cpi r24,lo8(1)110 00c8 00F0 brlo .L17111 00ca 8230 cpi r24,lo8(2)112 00cc 01F4 brne .L25113 00ce 00C0 rjmp .L19114 .L17:115 00d0 8091 0000 lds r24,SioTmp1116 00d4 8332 cpi r24,lo8(35)117 00d6 01F4 brne .L24118 00d8 8091 0000 lds r24,NeuerDatensatzEmpfangen1119 00dc 8823 tst r24120 00de 01F4 brne .L24121 00e0 91E0 ldi r25,lo8(1)122 00e2 9093 0000 sts UartState1.2074,r25123 00e6 8091 0000 lds r24,SioTmp1124 00ea 8093 0000 sts RxdBuffer1,r24125 00ee 00C0 rjmp .L26126 .L18:127 00f0 82E0 ldi r24,lo8(2)128 00f2 8093 0000 sts UartState1.2074,r24129 00f6 E92F mov r30,r25130 00f8 FF27 clr r31131 00fa 8091 0000 lds r24,SioTmp1132 00fe E050 subi r30,lo8(-(RxdBuffer1))133 0100 F040 sbci r31,hi8(-(RxdBuffer1))134 0102 8083 st Z,r24135 .L27:136 0104 9F5F subi r25,lo8(-(1))137 .L26:138 0106 9093 0000 sts buf_ptr1.2073,r25139 010a 00C0 rjmp .L24140 .L19:141 010c E92F mov r30,r25142 010e FF27 clr r31143 0110 8091 0000 lds r24,SioTmp1144 0114 E050 subi r30,lo8(-(RxdBuffer1))145 0116 F040 sbci r31,hi8(-(RxdBuffer1))146 0118 8083 st Z,r24147 011a 9639 cpi r25,lo8(-106)148 011c 00F0 brlo .L27149 .L25:150 011e 1092 0000 sts UartState1.2074,__zero_reg__151 .L24:152 /* epilogue: frame size=0 */153 0122 FF91 pop r31154 0124 EF91 pop r30155 0126 9F91 pop r25156 0128 8F91 pop r24157 012a 2F91 pop r18158 012c 0F90 pop __tmp_reg__159 012e 0FBE out __SREG__,__tmp_reg__160 0130 0F90 pop __tmp_reg__161 0132 1F90 pop __zero_reg__162 0134 1895 reti163 /* epilogue end (size=10) */164 /* function __vector_28 size 101 (81) */166 .global __vector_22168 __vector_22:169 /* prologue: frame size=0 */170 0136 1F92 push __zero_reg__171 0138 0F92 push __tmp_reg__172 013a 0FB6 in __tmp_reg__,__SREG__173 013c 0F92 push __tmp_reg__174 013e 1124 clr __zero_reg__175 0140 8F93 push r24176 0142 9F93 push r25177 0144 EF93 push r30178 0146 FF93 push r31179 /* prologue end (size=9) */180 0148 8091 0000 lds r24,UebertragungAbgeschlossen181 014c 8823 tst r24182 014e 01F4 brne .L29183 0150 8091 0000 lds r24,ptr.2100184 0154 9091 0000 lds r25,(ptr.2100)+1185 0158 0196 adiw r24,1186 015a 9093 0000 sts (ptr.2100)+1,r25187 015e 8093 0000 sts ptr.2100,r24188 0162 FC01 movw r30,r24189 0164 E050 subi r30,lo8(-(SendeBuffer))190 0166 F040 sbci r31,hi8(-(SendeBuffer))191 0168 E081 ld r30,Z192 016a ED30 cpi r30,lo8(13)193 016c 01F0 breq .L31194 016e 8639 cpi r24,150195 0170 9105 cpc r25,__zero_reg__196 0172 01F4 brne .L33197 .L31:198 0174 1092 0000 sts (ptr.2100)+1,__zero_reg__199 0178 1092 0000 sts ptr.2100,__zero_reg__200 017c 81E0 ldi r24,lo8(1)201 017e 8093 0000 sts UebertragungAbgeschlossen,r24202 .L33:203 0182 E093 C600 sts 198,r30204 0186 00C0 rjmp .L35205 .L29:206 0188 1092 0000 sts (ptr.2100)+1,__zero_reg__207 018c 1092 0000 sts ptr.2100,__zero_reg__208 .L35:209 /* epilogue: frame size=0 */210 0190 FF91 pop r31211 0192 EF91 pop r30212 0194 9F91 pop r25213 0196 8F91 pop r24214 0198 0F90 pop __tmp_reg__215 019a 0FBE out __SREG__,__tmp_reg__216 019c 0F90 pop __tmp_reg__217 019e 1F90 pop __zero_reg__218 01a0 1895 reti219 /* epilogue end (size=9) */220 /* function __vector_22 size 54 (36) */222 .global __vector_20224 __vector_20:225 /* prologue: frame size=0 */226 01a2 1F92 push __zero_reg__227 01a4 0F92 push __tmp_reg__228 01a6 0FB6 in __tmp_reg__,__SREG__229 01a8 0F92 push __tmp_reg__230 01aa 1124 clr __zero_reg__231 01ac 2F93 push r18232 01ae 3F93 push r19233 01b0 4F93 push r20234 01b2 8F93 push r24235 01b4 9F93 push r25236 01b6 AF93 push r26237 01b8 BF93 push r27238 01ba CF93 push r28239 01bc DF93 push r29240 01be EF93 push r30241 01c0 FF93 push r31242 /* prologue end (size=16) */243 01c2 8091 C600 lds r24,198244 01c6 8093 0000 sts SioTmp,r24245 01ca 4091 0000 lds r20,buf_ptr.2116246 01ce 4639 cpi r20,lo8(-106)247 01d0 00F0 brlo .L37248 01d2 1092 0000 sts UartState.2117,__zero_reg__249 .L37:250 01d6 8091 0000 lds r24,SioTmp251 01da 8D30 cpi r24,lo8(13)252 01dc 01F0 breq .+2253 01de 00C0 rjmp .L39254 01e0 8091 0000 lds r24,UartState.2117255 01e4 8230 cpi r24,lo8(2)256 01e6 01F0 breq .+2257 01e8 00C0 rjmp .L39258 01ea 1092 0000 sts UartState.2117,__zero_reg__259 01ee A42F mov r26,r20260 01f0 BB27 clr r27261 01f2 FD01 movw r30,r26262 01f4 E050 subi r30,lo8(-(RxdBuffer-2))263 01f6 F040 sbci r31,hi8(-(RxdBuffer-2))264 01f8 3081 ld r19,Z265 01fa ED01 movw r28,r26266 01fc C050 subi r28,lo8(-(RxdBuffer-1))267 01fe D040 sbci r29,hi8(-(RxdBuffer-1))268 0200 2881 ld r18,Y269 0202 8091 0000 lds r24,crc.2113270 0206 9091 0000 lds r25,(crc.2113)+1271 020a 831B sub r24,r19272 020c 9109 sbc r25,__zero_reg__273 020e 821B sub r24,r18274 0210 9109 sbc r25,__zero_reg__275 0212 9F70 andi r25,hi8(4095)276 0214 9093 0000 sts (crc.2113)+1,r25277 0218 8093 0000 sts crc.2113,r24278 021c 9C01 movw r18,r24279 021e 96E0 ldi r25,6280 0220 3695 1: lsr r19281 0222 2795 ror r18282 0224 9A95 dec r25283 0226 01F4 brne 1b284 0228 235C subi r18,lo8(-(61))285 022a 2093 0000 sts crc1.2114,r18286 022e 982F mov r25,r24287 0230 9F73 andi r25,lo8(63)288 0232 935C subi r25,lo8(-(61))289 0234 9093 0000 sts crc2.2115,r25290 0238 8081 ld r24,Z291 023a 2817 cp r18,r24292 023c 01F4 brne .L42293 023e 8881 ld r24,Y294 0240 9817 cp r25,r24295 0242 01F4 brne .L42296 0244 91E0 ldi r25,lo8(1)297 0246 00C0 rjmp .L45298 .L42:299 0248 8091 0000 lds r24,CntCrcError300 024c 8F5F subi r24,lo8(-(1))301 024e 8093 0000 sts CntCrcError,r24302 0252 90E0 ldi r25,lo8(0)303 .L45:304 0254 8091 0000 lds r24,NeuerDatensatzEmpfangen305 0258 8823 tst r24306 025a 01F0 breq .+2307 025c 00C0 rjmp .L59308 025e 9923 tst r25309 0260 01F4 brne .+2310 0262 00C0 rjmp .L59311 0264 81E0 ldi r24,lo8(1)312 0266 8093 0000 sts NeuerDatensatzEmpfangen,r24313 026a 4093 0000 sts AnzahlEmpfangsBytes,r20314 026e A050 subi r26,lo8(-(RxdBuffer))315 0270 B040 sbci r27,hi8(-(RxdBuffer))316 0272 8DE0 ldi r24,lo8(13)317 0274 8C93 st X,r24318 0276 8091 0000 lds r24,RxdBuffer+2319 027a 8235 cpi r24,lo8(82)320 027c 01F0 breq .+2321 027e 00C0 rjmp .L59322 0280 88E1 ldi r24,lo8(24)323 0282 90E0 ldi r25,hi8(24)324 0284 2CE0 ldi r18,lo8(12)325 /* #APP */326 0286 0FB6 in __tmp_reg__,__SREG__327 0288 F894 cli328 028a A895 wdr329 028c 8093 6000 sts 96,r24330 0290 0FBE out __SREG__,__tmp_reg__331 0292 2093 6000 sts 96,r18332 /* #NOAPP */333 0296 00C0 rjmp .L59334 .L39:335 0298 8091 0000 lds r24,UartState.2117336 029c 8130 cpi r24,lo8(1)337 029e 01F0 breq .L52338 02a0 8130 cpi r24,lo8(1)339 02a2 00F0 brlo .L51340 02a4 8230 cpi r24,lo8(2)341 02a6 01F4 brne .L60342 02a8 00C0 rjmp .L53343 .L51:344 02aa 8091 0000 lds r24,SioTmp345 02ae 8332 cpi r24,lo8(35)346 02b0 01F4 brne .L59347 02b2 8091 0000 lds r24,NeuerDatensatzEmpfangen348 02b6 8823 tst r24349 02b8 01F4 brne .L59350 02ba 91E0 ldi r25,lo8(1)351 02bc 9093 0000 sts UartState.2117,r25352 02c0 8091 0000 lds r24,SioTmp353 02c4 8093 0000 sts RxdBuffer,r24354 02c8 9093 0000 sts buf_ptr.2116,r25355 02cc 8091 0000 lds r24,SioTmp356 02d0 9927 clr r25357 02d2 00C0 rjmp .L61358 .L52:359 02d4 82E0 ldi r24,lo8(2)360 02d6 8093 0000 sts UartState.2117,r24361 02da E42F mov r30,r20362 02dc FF27 clr r31363 02de 8091 0000 lds r24,SioTmp364 02e2 E050 subi r30,lo8(-(RxdBuffer))365 02e4 F040 sbci r31,hi8(-(RxdBuffer))366 02e6 8083 st Z,r24367 .L63:368 02e8 4F5F subi r20,lo8(-(1))369 02ea 4093 0000 sts buf_ptr.2116,r20370 .L62:371 02ee 2091 0000 lds r18,SioTmp372 02f2 8091 0000 lds r24,crc.2113373 02f6 9091 0000 lds r25,(crc.2113)+1374 02fa 820F add r24,r18375 02fc 911D adc r25,__zero_reg__376 .L61:377 02fe 9093 0000 sts (crc.2113)+1,r25378 0302 8093 0000 sts crc.2113,r24379 0306 00C0 rjmp .L59380 .L53:381 0308 E42F mov r30,r20382 030a FF27 clr r31383 030c 8091 0000 lds r24,SioTmp384 0310 E050 subi r30,lo8(-(RxdBuffer))385 0312 F040 sbci r31,hi8(-(RxdBuffer))386 0314 8083 st Z,r24387 0316 4639 cpi r20,lo8(-106)388 0318 00F0 brlo .L63389 031a 1092 0000 sts UartState.2117,__zero_reg__390 031e 00C0 rjmp .L62391 .L60:392 0320 1092 0000 sts UartState.2117,__zero_reg__393 .L59:394 /* epilogue: frame size=0 */395 0324 FF91 pop r31396 0326 EF91 pop r30397 0328 DF91 pop r29398 032a CF91 pop r28399 032c BF91 pop r27400 032e AF91 pop r26401 0330 9F91 pop r25402 0332 8F91 pop r24403 0334 4F91 pop r20404 0336 3F91 pop r19405 0338 2F91 pop r18406 033a 0F90 pop __tmp_reg__407 033c 0FBE out __SREG__,__tmp_reg__408 033e 0F90 pop __tmp_reg__409 0340 1F90 pop __zero_reg__410 0342 1895 reti411 /* epilogue end (size=16) */412 /* function __vector_20 size 214 (182) */414 .global AddCRC416 AddCRC:417 /* prologue: frame size=0 */418 /* prologue end (size=0) */419 0344 DC01 movw r26,r24420 0346 20E0 ldi r18,lo8(0)421 0348 30E0 ldi r19,hi8(0)422 034a 40E0 ldi r20,lo8(0)423 034c 50E0 ldi r21,hi8(0)424 034e E0E0 ldi r30,lo8(SendeBuffer)425 0350 F0E0 ldi r31,hi8(SendeBuffer)426 0352 00C0 rjmp .L65427 .L66:428 0354 8191 ld r24,Z+429 0356 280F add r18,r24430 0358 311D adc r19,__zero_reg__431 035a 4F5F subi r20,lo8(-(1))432 035c 5F4F sbci r21,hi8(-(1))433 .L65:434 035e 4A17 cp r20,r26435 0360 5B07 cpc r21,r27436 0362 01F4 brne .L66437 0364 3F70 andi r19,hi8(4095)438 0366 C901 movw r24,r18439 0368 36E0 ldi r19,6440 036a 9695 1: lsr r25441 036c 8795 ror r24442 036e 3A95 dec r19443 0370 01F4 brne 1b444 0372 835C subi r24,lo8(-(61))445 0374 FD01 movw r30,r26446 0376 E050 subi r30,lo8(-(SendeBuffer))447 0378 F040 sbci r31,hi8(-(SendeBuffer))448 037a 8083 st Z,r24449 037c 1196 adiw r26,1450 037e 2F73 andi r18,lo8(63)451 0380 235C subi r18,lo8(-(61))452 0382 FD01 movw r30,r26453 0384 E050 subi r30,lo8(-(SendeBuffer))454 0386 F040 sbci r31,hi8(-(SendeBuffer))455 0388 2083 st Z,r18456 038a A050 subi r26,lo8(-(SendeBuffer+1))457 038c B040 sbci r27,hi8(-(SendeBuffer+1))458 038e 8DE0 ldi r24,lo8(13)459 0390 8C93 st X,r24460 0392 1092 0000 sts UebertragungAbgeschlossen,__zero_reg__461 0396 8091 0000 lds r24,SendeBuffer462 039a 8093 C600 sts 198,r24463 /* epilogue: frame size=0 */464 039e 0895 ret465 /* epilogue end (size=1) */466 /* function AddCRC size 47 (46) */468 .global SendOutRXTunnelData470 SendOutRXTunnelData:471 /* prologue: frame size=0 */472 /* prologue end (size=0) */473 03a0 262F mov r18,r22474 03a2 E0E0 ldi r30,lo8(SendeBuffer1)475 03a4 F0E0 ldi r31,hi8(SendeBuffer1)476 03a6 DC01 movw r26,r24477 03a8 00C0 rjmp .L70478 .L71:479 03aa 8D91 ld r24,X+480 03ac 8193 st Z+,r24481 03ae 2150 subi r18,lo8(-(-1))482 .L70:483 03b0 2223 tst r18484 03b2 01F4 brne .L71485 03b4 E62F mov r30,r22486 03b6 FF27 clr r31487 03b8 E050 subi r30,lo8(-(SendeBuffer1))488 03ba F040 sbci r31,hi8(-(SendeBuffer1))489 03bc 8DE0 ldi r24,lo8(13)490 03be 8083 st Z,r24491 03c0 1092 0000 sts UebertragungAbgeschlossen1,__zero_reg__492 03c4 8091 0000 lds r24,SendeBuffer1493 03c8 8093 CE00 sts 206,r24494 /* epilogue: frame size=0 */495 03cc 0895 ret496 /* epilogue end (size=1) */497 /* function SendOutRXTunnelData size 23 (22) */499 .global SendOutTXTunnelData501 SendOutTXTunnelData:502 /* prologue: frame size=0 */503 /* prologue end (size=0) */504 03ce 262F mov r18,r22505 03d0 E0E0 ldi r30,lo8(SendeBuffer)506 03d2 F0E0 ldi r31,hi8(SendeBuffer)507 03d4 DC01 movw r26,r24508 03d6 00C0 rjmp .L75509 .L76:510 03d8 8D91 ld r24,X+511 03da 8193 st Z+,r24512 03dc 2150 subi r18,lo8(-(-1))513 .L75:514 03de 2223 tst r18515 03e0 01F4 brne .L76516 03e2 E62F mov r30,r22517 03e4 FF27 clr r31518 03e6 E050 subi r30,lo8(-(SendeBuffer))519 03e8 F040 sbci r31,hi8(-(SendeBuffer))520 03ea 8DE0 ldi r24,lo8(13)521 03ec 8083 st Z,r24522 03ee 1092 0000 sts UebertragungAbgeschlossen,__zero_reg__523 03f2 1092 0000 sts NeuerDatensatzEmpfangen1,__zero_reg__524 03f6 8091 0000 lds r24,SendeBuffer525 03fa 8093 C600 sts 198,r24526 /* epilogue: frame size=0 */527 03fe 0895 ret528 /* epilogue end (size=1) */529 /* function SendOutTXTunnelData size 25 (24) */531 .global SendOutData533 SendOutData:534 /* prologue: frame size=0 */535 0400 EF92 push r14536 0402 FF92 push r15537 0404 0F93 push r16538 0406 1F93 push r17539 0408 CF93 push r28540 040a DF93 push r29541 /* prologue end (size=6) */542 040c 7A01 movw r14,r20543 040e 722F mov r23,r18544 0410 93E2 ldi r25,lo8(35)545 0412 9093 0000 sts SendeBuffer,r25546 0416 6093 0000 sts SendeBuffer+1,r22547 041a 8093 0000 sts SendeBuffer+2,r24548 041e 03E0 ldi r16,lo8(3)549 0420 10E0 ldi r17,hi8(3)550 0422 60E0 ldi r22,lo8(0)551 0424 A0E0 ldi r26,lo8(SendeBuffer+3)552 0426 B0E0 ldi r27,hi8(SendeBuffer+3)553 0428 00C0 rjmp .L80554 .L81:555 042a F701 movw r30,r14556 042c E60F add r30,r22557 042e F11D adc r31,__zero_reg__558 0430 9081 ld r25,Z559 0432 6F5F subi r22,lo8(-(1))560 0434 7150 subi r23,lo8(-(-1))561 0436 01F4 brne .L82562 0438 E0E0 ldi r30,lo8(0)563 043a 40E0 ldi r20,lo8(0)564 043c 00C0 rjmp .L84565 .L82:566 043e F701 movw r30,r14567 0440 E60F add r30,r22568 0442 F11D adc r31,__zero_reg__569 0444 4081 ld r20,Z570 0446 6F5F subi r22,lo8(-(1))571 0448 7150 subi r23,lo8(-(-1))572 044a 01F4 brne .L85573 044c E0E0 ldi r30,lo8(0)574 044e 00C0 rjmp .L84575 .L85:576 0450 F701 movw r30,r14577 0452 E60F add r30,r22578 0454 F11D adc r31,__zero_reg__579 0456 E081 ld r30,Z580 0458 6F5F subi r22,lo8(-(1))581 045a 7150 subi r23,lo8(-(-1))582 .L84:583 045c 892F mov r24,r25584 045e 8695 lsr r24585 0460 8695 lsr r24586 0462 835C subi r24,lo8(-(61))587 0464 8C93 st X,r24588 0466 5527 clr r21589 0468 892F mov r24,r25590 046a 9927 clr r25591 046c 8370 andi r24,lo8(3)592 046e 9070 andi r25,hi8(3)593 0470 24E0 ldi r18,4594 0472 880F 1: lsl r24595 0474 991F rol r25596 0476 2A95 dec r18597 0478 01F4 brne 1b598 047a 9A01 movw r18,r20599 047c 94E0 ldi r25,4600 047e 3695 1: lsr r19601 0480 2795 ror r18602 0482 9A95 dec r25603 0484 01F4 brne 1b604 0486 822B or r24,r18605 0488 835C subi r24,lo8(-(61))606 048a ED01 movw r28,r26607 048c 8983 std Y+1,r24608 048e 4F70 andi r20,lo8(15)609 0490 5070 andi r21,hi8(15)610 0492 440F lsl r20611 0494 551F rol r21612 0496 440F lsl r20613 0498 551F rol r21614 049a 8E2F mov r24,r30615 049c 8295 swap r24616 049e 8695 lsr r24617 04a0 8695 lsr r24618 04a2 8370 andi r24,0x3619 04a4 842B or r24,r20620 04a6 835C subi r24,lo8(-(61))621 04a8 8A83 std Y+2,r24622 04aa EF73 andi r30,lo8(63)623 04ac E35C subi r30,lo8(-(61))624 04ae EB83 std Y+3,r30625 04b0 0C5F subi r16,lo8(-(4))626 04b2 1F4F sbci r17,hi8(-(4))627 04b4 1496 adiw r26,4628 .L80:629 04b6 7723 tst r23630 04b8 01F0 breq .+2631 04ba 00C0 rjmp .L81632 04bc C801 movw r24,r16633 04be 0E94 0000 call AddCRC634 /* epilogue: frame size=0 */635 04c2 DF91 pop r29636 04c4 CF91 pop r28637 04c6 1F91 pop r17638 04c8 0F91 pop r16639 04ca FF90 pop r15640 04cc EF90 pop r14641 04ce 0895 ret642 /* epilogue end (size=7) */643 /* function SendOutData size 106 (93) */645 .global Decode64647 Decode64:648 /* prologue: frame size=0 */649 04d0 1F93 push r17650 04d2 CF93 push r28651 04d4 DF93 push r29652 /* prologue end (size=3) */653 04d6 EC01 movw r28,r24654 04d8 70E0 ldi r23,lo8(0)655 04da A22F mov r26,r18656 04dc BB27 clr r27657 04de 1297 sbiw r26,2658 04e0 00C0 rjmp .L90659 .L91:660 04e2 E42F mov r30,r20661 04e4 FF27 clr r31662 04e6 E050 subi r30,lo8(-(RxdBuffer))663 04e8 F040 sbci r31,hi8(-(RxdBuffer))664 04ea 3081 ld r19,Z665 04ec 4F5F subi r20,lo8(-(1))666 04ee E42F mov r30,r20667 04f0 FF27 clr r31668 04f2 E050 subi r30,lo8(-(RxdBuffer))669 04f4 F040 sbci r31,hi8(-(RxdBuffer))670 04f6 5081 ld r21,Z671 04f8 4F5F subi r20,lo8(-(1))672 04fa E42F mov r30,r20673 04fc FF27 clr r31674 04fe E050 subi r30,lo8(-(RxdBuffer))675 0500 F040 sbci r31,hi8(-(RxdBuffer))676 0502 1081 ld r17,Z677 0504 4F5F subi r20,lo8(-(1))678 0506 E42F mov r30,r20679 0508 FF27 clr r31680 050a E050 subi r30,lo8(-(RxdBuffer))681 050c F040 sbci r31,hi8(-(RxdBuffer))682 050e 2081 ld r18,Z683 0510 4F5F subi r20,lo8(-(1))684 0512 842F mov r24,r20685 0514 9927 clr r25686 0516 A817 cp r26,r24687 0518 B907 cpc r27,r25688 051a 04F0 brlt .L96689 051c 5D53 subi r21,lo8(-(-61))690 051e FE01 movw r30,r28691 0520 E70F add r30,r23692 0522 F11D adc r31,__zero_reg__693 0524 3D53 subi r19,lo8(-(-61))694 0526 330F lsl r19695 0528 330F lsl r19696 052a 852F mov r24,r21697 052c 8295 swap r24698 052e 8F70 andi r24,0x0f699 0530 382B or r19,r24700 0532 3083 st Z,r19701 0534 6130 cpi r22,lo8(1)702 0536 01F0 breq .L96703 0538 912F mov r25,r17704 053a 9D53 subi r25,lo8(-(-61))705 053c 7F5F subi r23,lo8(-(1))706 053e FE01 movw r30,r28707 0540 E70F add r30,r23708 0542 F11D adc r31,__zero_reg__709 0544 7150 subi r23,lo8(-(-1))710 0546 5295 swap r21711 0548 507F andi r21,0xf0712 054a 892F mov r24,r25713 054c 8695 lsr r24714 054e 8695 lsr r24715 0550 582B or r21,r24716 0552 5083 st Z,r21717 0554 6350 subi r22,lo8(-(-3))718 0556 6F3F cpi r22,lo8(-1)719 0558 01F0 breq .L96720 055a 7E5F subi r23,lo8(-(2))721 055c FE01 movw r30,r28722 055e E70F add r30,r23723 0560 F11D adc r31,__zero_reg__724 0562 9295 swap r25725 0564 990F lsl r25726 0566 990F lsl r25727 0568 907C andi r25,0xc0728 056a 2D53 subi r18,lo8(-(-61))729 056c 922B or r25,r18730 056e 9083 st Z,r25731 0570 7F5F subi r23,lo8(-(1))732 .L90:733 0572 6623 tst r22734 0574 01F0 breq .+2735 0576 00C0 rjmp .L91736 .L96:737 /* epilogue: frame size=0 */738 0578 DF91 pop r29739 057a CF91 pop r28740 057c 1F91 pop r17741 057e 0895 ret742 /* epilogue end (size=4) */743 /* function Decode64 size 88 (81) */745 .global uart_putchar747 uart_putchar:748 /* prologue: frame size=0 */749 0580 1F93 push r17750 /* prologue end (size=1) */751 0582 182F mov r17,r24752 0584 8A30 cpi r24,lo8(10)753 0586 01F4 brne .L102754 0588 8DE0 ldi r24,lo8(13)755 058a 0E94 0000 call uart_putchar756 .L102:757 058e 8091 C000 lds r24,192758 0592 85FF sbrs r24,5759 0594 00C0 rjmp .L102760 0596 1093 C600 sts 198,r17761 059a 80E0 ldi r24,lo8(0)762 059c 90E0 ldi r25,hi8(0)763 /* epilogue: frame size=0 */764 059e 1F91 pop r17765 05a0 0895 ret766 /* epilogue end (size=2) */767 /* function uart_putchar size 17 (14) */769 .global WriteProgramData771 WriteProgramData:772 /* prologue: frame size=0 */773 /* prologue end (size=0) */774 /* epilogue: frame size=0 */775 05a2 0895 ret776 /* epilogue end (size=1) */777 /* function WriteProgramData size 1 (0) */779 .global UART_Init781 UART_Init:782 /* prologue: frame size=0 */783 /* prologue end (size=0) */784 05a4 E1EC ldi r30,lo8(193)785 05a6 F0E0 ldi r31,hi8(193)786 05a8 98E1 ldi r25,lo8(24)787 05aa 9083 st Z,r25788 05ac A0EC ldi r26,lo8(192)789 05ae B0E0 ldi r27,hi8(192)790 05b0 8C91 ld r24,X791 05b2 8260 ori r24,lo8(2)792 05b4 8C93 st X,r24793 05b6 8081 ld r24,Z794 05b8 8068 ori r24,lo8(-128)795 05ba 8083 st Z,r24796 05bc 8081 ld r24,Z797 05be 8064 ori r24,lo8(64)798 05c0 8083 st Z,r24799 05c2 8AE2 ldi r24,lo8(42)800 05c4 8093 C400 sts 196,r24801 05c8 E9EC ldi r30,lo8(201)802 05ca F0E0 ldi r31,hi8(201)803 05cc 9083 st Z,r25804 05ce A8EC ldi r26,lo8(200)805 05d0 B0E0 ldi r27,hi8(200)806 05d2 8C91 ld r24,X807 05d4 8260 ori r24,lo8(2)808 05d6 8C93 st X,r24809 05d8 8081 ld r24,Z810 05da 8068 ori r24,lo8(-128)811 05dc 8083 st Z,r24812 05de 8081 ld r24,Z813 05e0 8064 ori r24,lo8(64)814 05e2 8083 st Z,r24815 05e4 8AE2 ldi r24,lo8(42)816 05e6 90E0 ldi r25,hi8(42)817 05e8 9093 CD00 sts (204)+1,r25818 05ec 8093 CC00 sts 204,r24819 05f0 88EC ldi r24,lo8(200)820 05f2 90E0 ldi r25,hi8(200)821 05f4 0E94 0000 call SetDelay822 05f8 9093 0000 sts (Debug_Timer)+1,r25823 05fc 8093 0000 sts Debug_Timer,r24824 /* epilogue: frame size=0 */825 0600 0895 ret826 /* epilogue end (size=1) */827 /* function UART_Init size 47 (46) */829 .global DatenUebertragung831 DatenUebertragung:832 /* prologue: frame size=0 */833 /* prologue end (size=0) */834 0602 8091 0000 lds r24,UebertragungAbgeschlossen835 0606 8823 tst r24836 0608 01F4 brne .+2837 060a 00C0 rjmp .L135838 060c 8091 0000 lds r24,NeuerDatensatzEmpfangen1839 0610 8823 tst r24840 0612 01F0 breq .L112841 0614 8091 0000 lds r24,UebertragungAbgeschlossen842 0618 8823 tst r24843 061a 01F0 breq .L112844 061c 6091 0000 lds r22,AnzahlEmpfangsBytes1845 0620 80E0 ldi r24,lo8(RxdBuffer1)846 0622 90E0 ldi r25,hi8(RxdBuffer1)847 0624 0E94 0000 call SendOutTXTunnelData848 .L112:849 0628 8091 0000 lds r24,ControlReceived850 062c 8823 tst r24851 062e 01F0 breq .L115852 0630 8091 0000 lds r24,UebertragungAbgeschlossen853 0634 8823 tst r24854 0636 01F0 breq .L115855 0638 21E0 ldi r18,lo8(1)856 063a 40E0 ldi r20,lo8(ControlOut)857 063c 50E0 ldi r21,hi8(ControlOut)858 063e 6091 0000 lds r22,MeineSlaveAdresse859 0642 83E4 ldi r24,lo8(67)860 0644 0E94 0000 call SendOutData861 0648 1092 0000 sts ControlReceived,__zero_reg__862 .L115:863 064c 8091 0000 lds r24,DebugGetAnforderung864 0650 8823 tst r24865 0652 01F0 breq .L118866 0654 8091 0000 lds r24,UebertragungAbgeschlossen867 0658 8823 tst r24868 065a 01F0 breq .L118869 065c 2BE0 ldi r18,lo8(11)870 065e 40E0 ldi r20,lo8(DebugIn)871 0660 50E0 ldi r21,hi8(DebugIn)872 0662 6091 0000 lds r22,MeineSlaveAdresse873 0666 87E4 ldi r24,lo8(71)874 0668 0E94 0000 call SendOutData875 066c 1092 0000 sts DebugGetAnforderung,__zero_reg__876 .L118:877 0670 8091 0000 lds r24,Debug_Timer878 0674 9091 0000 lds r25,(Debug_Timer)+1879 0678 0E94 0000 call CheckDelay880 067c 8823 tst r24881 067e 01F4 brne .L121882 0680 8091 0000 lds r24,DebugDataAnforderung883 0684 8823 tst r24884 0686 01F0 breq .L123885 .L121:886 0688 8091 0000 lds r24,UebertragungAbgeschlossen887 068c 8823 tst r24888 068e 01F0 breq .L123889 0690 22E4 ldi r18,lo8(66)890 0692 40E0 ldi r20,lo8(DebugOut)891 0694 50E0 ldi r21,hi8(DebugOut)892 0696 6091 0000 lds r22,MeineSlaveAdresse893 069a 84E4 ldi r24,lo8(68)894 069c 0E94 0000 call SendOutData895 06a0 1092 0000 sts DebugDataAnforderung,__zero_reg__896 06a4 84EF ldi r24,lo8(500)897 06a6 91E0 ldi r25,hi8(500)898 06a8 0E94 0000 call SetDelay899 06ac 9093 0000 sts (Debug_Timer)+1,r25900 06b0 8093 0000 sts Debug_Timer,r24901 .L123:902 06b4 6091 0000 lds r22,DebugTextAnforderung903 06b8 6F3F cpi r22,lo8(-1)904 06ba 01F0 breq .L125905 06bc 462F mov r20,r22906 06be 5527 clr r21907 06c0 34E0 ldi r19,4908 06c2 440F 1: lsl r20909 06c4 551F rol r21910 06c6 3A95 dec r19911 06c8 01F4 brne 1b912 06ca 4050 subi r20,lo8(-(ANALOG_TEXT))913 06cc 5040 sbci r21,hi8(-(ANALOG_TEXT))914 06ce 605D subi r22,lo8(-(48))915 06d0 20E1 ldi r18,lo8(16)916 06d2 81E4 ldi r24,lo8(65)917 06d4 0E94 0000 call SendOutData918 06d8 8FEF ldi r24,lo8(-1)919 06da 8093 0000 sts DebugTextAnforderung,r24920 .L125:921 06de 8091 0000 lds r24,DebugDisplayAnforderung922 06e2 8823 tst r24923 06e4 01F0 breq .L127924 06e6 8091 0000 lds r24,UebertragungAbgeschlossen925 06ea 8823 tst r24926 06ec 01F0 breq .L127927 06ee 0E94 0000 call Menu928 06f2 1092 0000 sts DebugDisplayAnforderung,__zero_reg__929 06f6 3091 0000 lds r19,RemotePollDisplayLine930 06fa 932F mov r25,r19931 06fc 9F5F subi r25,lo8(-(1))932 06fe 9093 0000 sts RemotePollDisplayLine,r25933 0702 9430 cpi r25,lo8(4)934 0704 01F0 breq .L130935 0706 8091 0000 lds r24,NurKanalAnforderung936 070a 8823 tst r24937 070c 01F0 breq .L132938 .L130:939 070e 26E1 ldi r18,lo8(22)940 0710 40E0 ldi r20,lo8(PPM_in)941 0712 50E0 ldi r21,hi8(PPM_in)942 0714 60E0 ldi r22,lo8(0)943 0716 84E3 ldi r24,lo8(52)944 0718 0E94 0000 call SendOutData945 071c 8FEF ldi r24,lo8(-1)946 071e 8093 0000 sts RemotePollDisplayLine,r24947 0722 00C0 rjmp .L127948 .L132:949 0724 44E1 ldi r20,lo8(20)950 0726 949F mul r25,r20951 0728 A001 movw r20,r0952 072a 1124 clr r1953 072c 4050 subi r20,lo8(-(DisplayBuff))954 072e 5040 sbci r21,hi8(-(DisplayBuff))955 0730 24E1 ldi r18,lo8(20)956 0732 60E0 ldi r22,lo8(0)957 0734 832F mov r24,r19958 0736 8F5C subi r24,lo8(-(49))959 0738 0E94 0000 call SendOutData960 .L127:961 073c 8091 0000 lds r24,GetVersionAnforderung962 0740 8823 tst r24963 0742 01F0 breq .L135964 0744 8091 0000 lds r24,UebertragungAbgeschlossen965 0748 8823 tst r24966 074a 01F0 breq .L135967 074c 2AE0 ldi r18,lo8(10)968 074e 40E0 ldi r20,lo8(VersionInfo)969 0750 50E0 ldi r21,hi8(VersionInfo)970 0752 6091 0000 lds r22,MeineSlaveAdresse971 0756 86E5 ldi r24,lo8(86)972 0758 0E94 0000 call SendOutData973 075c 1092 0000 sts GetVersionAnforderung,__zero_reg__974 .L135:975 0760 0895 ret976 /* epilogue: frame size=0 */977 /* epilogue: noreturn */978 /* epilogue end (size=0) */979 /* function DatenUebertragung size 176 (176) */981 .global BearbeiteRxDaten983 BearbeiteRxDaten:984 /* prologue: frame size=2 */985 0762 1F93 push r17986 0764 CF93 push r28987 0766 DF93 push r29988 0768 CDB7 in r28,__SP_L__989 076a DEB7 in r29,__SP_H__990 076c 2297 sbiw r28,2991 076e 0FB6 in __tmp_reg__,__SREG__992 0770 F894 cli993 0772 DEBF out __SP_H__,r29994 0774 0FBE out __SREG__,__tmp_reg__995 0776 CDBF out __SP_L__,r28996 /* prologue end (size=11) */997 0778 8091 0000 lds r24,NeuerDatensatzEmpfangen998 077c 8823 tst r24999 077e 01F4 brne .+21000 0780 00C0 rjmp .L1631001 0782 8FEF ldi r24,lo8(-1)1002 0784 8093 0000 sts PcZugriff,r241003 0788 8091 0000 lds r24,RxdBuffer+21004 078c 8836 cpi r24,lo8(104)1005 078e 01F4 brne .+21006 0790 00C0 rjmp .L1451007 0792 8936 cpi r24,lo8(105)1008 0794 00F4 brsh .L1511009 0796 8136 cpi r24,lo8(97)1010 0798 01F0 breq .L1421011 079a 8236 cpi r24,lo8(98)1012 079c 00F4 brsh .L1521013 079e 8334 cpi r24,lo8(67)1014 07a0 01F4 brne .+21015 07a2 00C0 rjmp .L1401016 07a4 8835 cpi r24,lo8(88)1017 07a6 01F0 breq .+21018 07a8 00C0 rjmp .L1391019 07aa 00C0 rjmp .L1411020 .L152:1021 07ac 8336 cpi r24,lo8(99)1022 07ae 01F0 breq .L1431023 07b0 8736 cpi r24,lo8(103)1024 07b2 01F0 breq .+21025 07b4 00C0 rjmp .L1391026 07b6 00C0 rjmp .L1441027 .L151:1028 07b8 8137 cpi r24,lo8(113)1029 07ba 00F4 brsh .L1531030 07bc 8C36 cpi r24,lo8(108)1031 07be 00F0 brlo .+21032 07c0 00C0 rjmp .L1471033 07c2 8B36 cpi r24,lo8(107)1034 07c4 01F0 breq .+21035 07c6 00C0 rjmp .L1391036 07c8 00C0 rjmp .L1461037 .L153:1038 07ca 8437 cpi r24,lo8(116)1039 07cc 01F4 brne .+21040 07ce 00C0 rjmp .L1491041 07d0 8637 cpi r24,lo8(118)1042 07d2 01F4 brne .+21043 07d4 00C0 rjmp .L1501044 07d6 8137 cpi r24,lo8(113)1045 07d8 01F0 breq .+21046 07da 00C0 rjmp .L1391047 07dc 00C0 rjmp .L1481048 .L142:1049 07de 2091 0000 lds r18,AnzahlEmpfangsBytes1050 07e2 43E0 ldi r20,lo8(3)1051 07e4 62E0 ldi r22,lo8(2)1052 07e6 CE01 movw r24,r281053 07e8 0196 adiw r24,11054 07ea 0E94 0000 call Decode641055 07ee 8981 ldd r24,Y+11056 07f0 8093 0000 sts DebugTextAnforderung,r241057 07f4 00C0 rjmp .L1391058 .L143:1059 07f6 2091 0000 lds r18,AnzahlEmpfangsBytes1060 07fa 43E0 ldi r20,lo8(3)1061 07fc 6BE0 ldi r22,lo8(11)1062 07fe 80E0 ldi r24,lo8(DebugIn)1063 0800 90E0 ldi r25,hi8(DebugIn)1064 0802 0E94 0000 call Decode641065 0806 8091 0000 lds r24,RemoteTasten1066 080a 9091 0000 lds r25,DebugIn+21067 080e 892B or r24,r251068 0810 8093 0000 sts RemoteTasten,r241069 0814 81E0 ldi r24,lo8(1)1070 0816 8093 0000 sts DebugDataAnforderung,r241071 081a 00C0 rjmp .L1391072 .L145:1073 081c 2091 0000 lds r18,AnzahlEmpfangsBytes1074 0820 43E0 ldi r20,lo8(3)1075 0822 62E0 ldi r22,lo8(2)1076 0824 CE01 movw r24,r281077 0826 0196 adiw r24,11078 0828 0E94 0000 call Decode641079 082c 8091 0000 lds r24,RemoteTasten1080 0830 9981 ldd r25,Y+11081 0832 892B or r24,r251082 0834 8093 0000 sts RemoteTasten,r241083 0838 8A81 ldd r24,Y+21084 083a 8F3F cpi r24,lo8(-1)1085 083c 01F4 brne .L1541086 083e 81E0 ldi r24,lo8(1)1087 0840 8093 0000 sts NurKanalAnforderung,r241088 0844 00C0 rjmp .L1561089 .L154:1090 0846 1092 0000 sts NurKanalAnforderung,__zero_reg__1091 .L156:1092 084a 81E0 ldi r24,lo8(1)1093 084c 8093 0000 sts DebugDisplayAnforderung,r241094 0850 00C0 rjmp .L1391095 .L149:1096 0852 2091 0000 lds r18,AnzahlEmpfangsBytes1097 0856 43E0 ldi r20,lo8(3)1098 0858 64E0 ldi r22,lo8(4)1099 085a 80E0 ldi r24,lo8(MotorTest)1100 085c 90E0 ldi r25,hi8(MotorTest)1101 085e 00C0 rjmp .L1641102 .L146:1103 0860 2091 0000 lds r18,AnzahlEmpfangsBytes1104 0864 43E0 ldi r20,lo8(3)1105 0866 63E0 ldi r22,lo8(3)1106 0868 80E0 ldi r24,lo8(DubWiseKeys)1107 086a 90E0 ldi r25,hi8(DubWiseKeys)1108 .L164:1109 086c 0E94 0000 call Decode641110 0870 00C0 rjmp .L1391111 .L150:1112 0872 81E0 ldi r24,lo8(1)1113 0874 8093 0000 sts GetVersionAnforderung,r241114 0878 00C0 rjmp .L1391115 .L144:1116 087a 81E0 ldi r24,lo8(1)1117 087c 8093 0000 sts DebugGetAnforderung,r241118 0880 00C0 rjmp .L1391119 .L148:1120 0882 2091 0000 lds r18,AnzahlEmpfangsBytes1121 0886 43E0 ldi r20,lo8(3)1122 0888 62E0 ldi r22,lo8(2)1123 088a CE01 movw r24,r281124 088c 0196 adiw r24,11125 088e 0E94 0000 call Decode641126 0892 8981 ldd r24,Y+11127 0894 8F3F cpi r24,lo8(-1)1128 0896 01F0 breq .L1571129 0898 8630 cpi r24,lo8(6)1130 089a 00F0 brlo .L1591131 089c 85E0 ldi r24,lo8(5)1132 089e 8983 std Y+1,r241133 .L159:1134 08a0 47E4 ldi r20,lo8(71)1135 08a2 60E0 ldi r22,lo8(EE_Parameter)1136 08a4 70E0 ldi r23,hi8(EE_Parameter)1137 08a6 8981 ldd r24,Y+11138 08a8 0E94 0000 call ReadParameterSet1139 08ac 8981 ldd r24,Y+11140 08ae 27E4 ldi r18,lo8(71)1141 08b0 40E0 ldi r20,lo8(EE_Parameter)1142 08b2 50E0 ldi r21,hi8(EE_Parameter)1143 08b4 6091 0000 lds r22,MeineSlaveAdresse1144 08b8 00C0 rjmp .L1661145 .L157:1146 08ba 1091 0000 lds r17,MeineSlaveAdresse1147 08be 0E94 0000 call GetActiveParamSetNumber1148 08c2 27E4 ldi r18,lo8(71)1149 08c4 40E0 ldi r20,lo8(EE_Parameter)1150 08c6 50E0 ldi r21,hi8(EE_Parameter)1151 08c8 612F mov r22,r171152 .L166:1153 08ca 855B subi r24,lo8(-(75))1154 08cc 0E94 0000 call SendOutData1155 08d0 00C0 rjmp .L1391156 .L147:1157 08d2 2091 0000 lds r18,AnzahlEmpfangsBytes1158 08d6 43E0 ldi r20,lo8(3)1159 08d8 67E4 ldi r22,lo8(71)1160 08da 80E0 ldi r24,lo8(EE_Parameter)1161 08dc 90E0 ldi r25,hi8(EE_Parameter)1162 08de 0E94 0000 call Decode641163 08e2 8091 0000 lds r24,RxdBuffer+21164 08e6 47E4 ldi r20,lo8(71)1165 08e8 60E0 ldi r22,lo8(EE_Parameter)1166 08ea 70E0 ldi r23,hi8(EE_Parameter)1167 08ec 8B56 subi r24,lo8(-(-107))1168 08ee 0E94 0000 call WriteParameterSet1169 08f2 8091 0000 lds r24,RxdBuffer+21170 08f6 8B56 subi r24,lo8(-(-107))1171 08f8 A0E0 ldi r26,lo8(EEPromArray+2)1172 08fa B0E0 ldi r27,hi8(EEPromArray+2)1173 /* #APP */1174 08fc 082E mov __tmp_reg__,r241175 08fe 0E94 0000 call __eeprom_write_byte_1F20211176 /* #NOAPP */1177 0902 6091 0000 lds r22,EE_Parameter+431178 0906 7727 clr r231179 0908 8827 clr r241180 090a 9927 clr r251181 090c 24EC ldi r18,lo8(2500)1182 090e 39E0 ldi r19,hi8(2500)1183 0910 40E0 ldi r20,hlo8(2500)1184 0912 50E0 ldi r21,hhi8(2500)1185 0914 0E94 0000 call __mulsi31186 0918 6093 0000 sts Umschlag180Nick,r221187 091c 7093 0000 sts (Umschlag180Nick)+1,r231188 0920 8093 0000 sts (Umschlag180Nick)+2,r241189 0924 9093 0000 sts (Umschlag180Nick)+3,r251190 0928 6091 0000 lds r22,EE_Parameter+441191 092c 7727 clr r231192 092e 8827 clr r241193 0930 9927 clr r251194 0932 0E94 0000 call __mulsi31195 0936 6093 0000 sts Umschlag180Roll,r221196 093a 7093 0000 sts (Umschlag180Roll)+1,r231197 093e 8093 0000 sts (Umschlag180Roll)+2,r241198 0942 9093 0000 sts (Umschlag180Roll)+3,r251199 0946 0E94 0000 call GetActiveParamSetNumber1200 094a 0E94 0000 call Piep1201 094e 00C0 rjmp .L1391202 .L141:1203 0950 6091 0000 lds r22,AnzahlEmpfangsBytes1204 0954 80E0 ldi r24,lo8(RxdBuffer)1205 0956 90E0 ldi r25,hi8(RxdBuffer)1206 0958 0E94 0000 call SendOutRXTunnelData1207 095c 00C0 rjmp .L1391208 .L140:1209 095e 8091 0000 lds r24,Parameter_UserParam21210 0962 8B30 cpi r24,lo8(11)1211 0964 00F0 brlo .L1611212 0966 2091 0000 lds r18,AnzahlEmpfangsBytes1213 096a 43E0 ldi r20,lo8(3)1214 096c 68E0 ldi r22,lo8(8)1215 096e 80E0 ldi r24,lo8(ControlIn)1216 0970 90E0 ldi r25,hi8(ControlIn)1217 0972 0E94 0000 call Decode641218 0976 1092 0000 sts ControlOut,__zero_reg__1219 097a 81E0 ldi r24,lo8(1)1220 097c 00C0 rjmp .L1651221 .L161:1222 097e 1092 0000 sts (ControlIn)+1,__zero_reg__1223 0982 1092 0000 sts ControlIn,__zero_reg__1224 0986 1092 0000 sts (ControlIn+2)+1,__zero_reg__1225 098a 1092 0000 sts ControlIn+2,__zero_reg__1226 098e 1092 0000 sts (ControlIn+4)+1,__zero_reg__1227 0992 1092 0000 sts ControlIn+4,__zero_reg__1228 0996 1092 0000 sts (ControlIn+6)+1,__zero_reg__1229 099a 1092 0000 sts ControlIn+6,__zero_reg__1230 099e 81E0 ldi r24,lo8(1)1231 09a0 8093 0000 sts ControlOut,r241232 .L165:1233 09a4 8093 0000 sts ControlReceived,r241234 .L139:1235 09a8 1092 0000 sts NeuerDatensatzEmpfangen,__zero_reg__1236 .L163:1237 /* epilogue: frame size=2 */1238 09ac 2296 adiw r28,21239 09ae 0FB6 in __tmp_reg__,__SREG__1240 09b0 F894 cli1241 09b2 DEBF out __SP_H__,r291242 09b4 0FBE out __SREG__,__tmp_reg__1243 09b6 CDBF out __SP_L__,r281244 09b8 DF91 pop r291245 09ba CF91 pop r281246 09bc 1F91 pop r171247 09be 0895 ret1248 /* epilogue end (size=10) */1249 /* function BearbeiteRxDaten size 304 (283) */1251 .global DebugGetAnforderung1252 .global DebugGetAnforderung1253 .section .bss1256 DebugGetAnforderung:1257 0000 00 .skip 1,01258 .global DebugDisplayAnforderung1259 .global DebugDisplayAnforderung1262 DebugDisplayAnforderung:1263 0001 00 .skip 1,01264 .global DebugDataAnforderung1265 .global DebugDataAnforderung1268 DebugDataAnforderung:1269 0002 00 .skip 1,01270 .global GetVersionAnforderung1271 .global GetVersionAnforderung1274 GetVersionAnforderung:1275 0003 00 .skip 1,01276 .global SioTmp1277 .global SioTmp1280 SioTmp:1281 0004 00 .skip 1,01282 .global NeuerDatensatzEmpfangen1283 .global NeuerDatensatzEmpfangen1286 NeuerDatensatzEmpfangen:1287 0005 00 .skip 1,01288 .global NeueKoordinateEmpfangen1289 .global NeueKoordinateEmpfangen1292 NeueKoordinateEmpfangen:1293 0006 00 .skip 1,01294 .global UebertragungAbgeschlossen1295 .data1298 UebertragungAbgeschlossen:1299 0000 01 .byte 11300 .global CntCrcError1301 .global CntCrcError1302 .section .bss1305 CntCrcError:1306 0007 00 .skip 1,01307 .global AnzahlEmpfangsBytes1308 .global AnzahlEmpfangsBytes1311 AnzahlEmpfangsBytes:1312 0008 00 .skip 1,01313 .global PC_DebugTimeout1314 .global PC_DebugTimeout1317 PC_DebugTimeout:1318 0009 00 .skip 1,01319 .global RemotePollDisplayLine1320 .global RemotePollDisplayLine1323 RemotePollDisplayLine:1324 000a 00 .skip 1,01325 .global NurKanalAnforderung1326 .global NurKanalAnforderung1329 NurKanalAnforderung:1330 000b 00 .skip 1,01331 .global DebugTextAnforderung1332 .data1335 DebugTextAnforderung:1336 0001 FF .byte -11337 .global PcZugriff1340 PcZugriff:1341 0002 64 .byte 1001342 .global MotorTest1343 .global MotorTest1344 .section .bss1347 MotorTest:1348 000c 0000 0000 .skip 4,01349 .global DubWiseKeys1350 .global DubWiseKeys1353 DubWiseKeys:1354 0010 0000 00 .skip 3,01355 .global SioTmp11356 .global SioTmp11359 SioTmp1:1360 0013 00 .skip 1,01361 .global NeuerDatensatzEmpfangen11362 .global NeuerDatensatzEmpfangen11365 NeuerDatensatzEmpfangen1:1366 0014 00 .skip 1,01367 .global AnzahlEmpfangsBytes11368 .global AnzahlEmpfangsBytes11371 AnzahlEmpfangsBytes1:1372 0015 00 .skip 1,01373 .global UebertragungAbgeschlossen11374 .data1377 UebertragungAbgeschlossen1:1378 0003 01 .byte 11379 .global ControlReceived1380 .global ControlReceived1381 .section .bss1384 ControlReceived:1385 0016 00 .skip 1,01386 .global ANALOG_TEXT1387 .data1390 ANALOG_TEXT:1391 0004 496E 7465 .ascii "IntegralNick "1391 6772 616C1391 4E69 636B1391 2020 20201392 0014 496E 7465 .ascii "IntegralRoll "1392 6772 616C1392 526F 6C6C1392 2020 20201393 0024 4163 634E .ascii "AccNick "1393 6963 6B201393 2020 20201393 2020 20201394 0034 4163 6352 .ascii "AccRoll "1394 6F6C 6C201394 2020 20201394 2020 20201395 0044 4779 726F .ascii "GyroGier "1395 4769 65721395 2020 20201395 2020 20201396 0054 486F 6568 .ascii "HoehenWert "1396 656E 57651396 7274 20201396 2020 20201397 0064 4163 635A .ascii "AccZ "1397 2020 20201397 2020 20201397 2020 20201398 0074 4761 7320 .ascii "Gas "1398 2020 20201398 2020 20201398 2020 20201399 0084 4B6F 6D70 .ascii "KompassValue "1399 6173 73561399 616C 75651399 2020 20201400 0094 5370 616E .ascii "Spannung "1400 6E75 6E671400 2020 20201400 2020 20201401 00a4 456D 7066 .ascii "Empfang "1401 616E 67201401 2020 20201401 2020 20201402 00b4 3131 202D .ascii "11 --- "1402 2D2D 20201402 2020 20201402 2020 20201403 00c4 4D6F 746F .ascii "Motor_Vorne "1403 725F 566F1403 726E 65201403 2020 20201404 00d4 4D6F 746F .ascii "Motor_Hinten "1404 725F 48691404 6E74 656E1404 2020 20201405 00e4 4D6F 746F .ascii "Motor_Links "1405 725F 4C691405 6E6B 73201405 2020 20201406 00f4 4D6F 746F .ascii "Motor_Rechts "1406 725F 52651406 6368 74731406 2020 20201407 0104 3136 5F41 .ascii "16_Acc_Z "1407 6363 5F5A1407 2020 20201407 2020 20201408 0114 3137 4D69 .ascii "17MittelAccNick "1408 7474 656C1408 4163 634E1408 6963 6B201409 0124 3138 5F4D .ascii "18_MittelAccRoll"1409 6974 74651409 6C41 63631409 526F 6C6C1410 0134 416E 616C .ascii "Analog19 "1410 6F67 31391410 2020 20201410 2020 20201411 0144 496E 7465 .ascii "IntegralErrRoll "1411 6772 616C1411 4572 72521411 6F6C 6C201412 0154 416E 616C .ascii "Analog21 "1412 6F67 32311412 2020 20201412 2020 20201413 0164 3232 5F4D .ascii "22_MittelGIngR "1413 6974 74651413 6C47 496E1413 6752 20201414 0174 416E 616C .ascii "Analog23 "1414 6F67 32331414 2020 20201414 2020 20201415 0184 3234 526F .ascii "24RollOffset "1415 6C6C 4F661415 6673 65741415 2020 20201416 0194 3235 496E .ascii "25IntRoll*Fakt "1416 7452 6F6C1416 6C2A 46611416 6B74 20201417 01a4 416E 616C .ascii "Analog26 "1417 6F67 32361417 2020 20201417 2020 20201418 01b4 4469 7265 .ascii "DirektAusglRoll "1418 6B74 41751418 7367 6C521418 6F6C 6C201419 01c4 3238 4D65 .ascii "28MesswertRoll "1419 7373 77651419 7274 526F1419 6C6C 20201420 01d4 3239 4175 .ascii "29AusgleichRoll "1420 7367 6C651420 6963 68521420 6F6C 6C201421 01e4 3330 5F49 .ascii "30_I-LageRoll "1421 2D4C 61671421 6552 6F6C1421 6C20 20201422 01f4 3331 5F53 .ascii "31_StickRoll "1422 7469 636B1422 526F 6C6C1422 2020 20201423 .lcomm UartState.2117,11424 .lcomm buf_ptr.2116,11425 .lcomm crc2.2115,11426 .lcomm crc1.2114,11427 .lcomm crc.2113,21428 .lcomm ptr.2100,21429 .lcomm UartState1.2074,11430 .lcomm buf_ptr1.2073,11431 .lcomm ptr1.2060,21432 .comm SendeBuffer,150,11433 .comm RxdBuffer,150,11434 .comm MeineSlaveAdresse,1,11435 .comm Debug_Timer,2,11436 .comm DebugOut,66,11437 .comm DebugIn,11,11438 .comm VersionInfo,10,11439 .comm ControlIn,8,11440 .comm ControlOut,1,11441 .comm NMEABuffer,150,11442 .comm SendeBuffer1,150,11443 .comm RxdBuffer1,150,11444 /* File "uart.c": code 1257 = 0x04e9 (1120), prologues 65, epilogues 72 */DEFINED SYMBOLS*ABS*:00000000 uart.cC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:3 *ABS*:0000003f __SREG__C:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:4 *ABS*:0000003e __SP_H__C:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:5 *ABS*:0000003d __SP_L__C:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:6 *ABS*:00000000 __tmp_reg__C:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:7 *ABS*:00000001 __zero_reg__C:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:13 .text:00000000 __vector_30C:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1377 .data:00000003 UebertragungAbgeschlossen1C:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1430 .bss:00000021 ptr1.2060*COM*:00000096 SendeBuffer1C:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:69 .text:0000006c __vector_28C:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1359 .bss:00000013 SioTmp1C:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1429 .bss:00000020 buf_ptr1.2073C:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1428 .bss:0000001f UartState1.2074C:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1365 .bss:00000014 NeuerDatensatzEmpfangen1C:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1371 .bss:00000015 AnzahlEmpfangsBytes1*COM*:00000096 RxdBuffer1C:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:168 .text:00000136 __vector_22C:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1298 .data:00000000 UebertragungAbgeschlossenC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1427 .bss:0000001d ptr.2100*COM*:00000096 SendeBufferC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:224 .text:000001a2 __vector_20C:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1280 .bss:00000004 SioTmpC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1423 .bss:00000018 buf_ptr.2116.bss:00000017 UartState.2117*COM*:00000096 RxdBufferC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1426 .bss:0000001b crc.2113C:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1425 .bss:0000001a crc1.2114C:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1424 .bss:00000019 crc2.2115C:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1305 .bss:00000007 CntCrcErrorC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1286 .bss:00000005 NeuerDatensatzEmpfangenC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1311 .bss:00000008 AnzahlEmpfangsBytesC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:416 .text:00000344 AddCRCC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:470 .text:000003a0 SendOutRXTunnelDataC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:501 .text:000003ce SendOutTXTunnelDataC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:533 .text:00000400 SendOutDataC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:647 .text:000004d0 Decode64C:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:747 .text:00000580 uart_putcharC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:771 .text:000005a2 WriteProgramDataC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:781 .text:000005a4 UART_Init*COM*:00000002 Debug_TimerC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:831 .text:00000602 DatenUebertragungC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1384 .bss:00000016 ControlReceived*COM*:00000001 ControlOut*COM*:00000001 MeineSlaveAdresseC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1256 .bss:00000000 DebugGetAnforderung*COM*:0000000b DebugInC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1268 .bss:00000002 DebugDataAnforderung*COM*:00000042 DebugOutC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1335 .data:00000001 DebugTextAnforderungC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1390 .data:00000004 ANALOG_TEXTC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1262 .bss:00000001 DebugDisplayAnforderungC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1323 .bss:0000000a RemotePollDisplayLineC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1329 .bss:0000000b NurKanalAnforderungC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1274 .bss:00000003 GetVersionAnforderung*COM*:0000000a VersionInfoC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:983 .text:00000762 BearbeiteRxDatenC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1340 .data:00000002 PcZugriffC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1347 .bss:0000000c MotorTestC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1353 .bss:00000010 DubWiseKeys*COM*:00000008 ControlInC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1292 .bss:00000006 NeueKoordinateEmpfangenC:\Users\gunterl\AppData\Local\Temp/cc6ZqIMb.s:1317 .bss:00000009 PC_DebugTimeout*COM*:00000096 NMEABufferUNDEFINED SYMBOLS__do_copy_data__do_clear_bssSetDelayCheckDelayMenuPPM_inDisplayBuffRemoteTastenEE_ParameterReadParameterSetGetActiveParamSetNumberWriteParameterSetEEPromArray__eeprom_write_byte_1F2021__mulsi3Umschlag180NickUmschlag180RollPiepParameter_UserParam2