Subversion Repositories FlightCtrl

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

   1                            .file   "uart.c"
   2                            .arch atmega644
   3                    __SREG__ = 0x3f
   4                    __SP_H__ = 0x3e
   5                    __SP_L__ = 0x3d
   6                    __tmp_reg__ = 0
   7                    __zero_reg__ = 1
   8                            .global __do_copy_data
   9                            .global __do_clear_bss
  10                            .text
  11                    .global __vector_22
  13                    __vector_22:
  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 r24
  21 000c 9F93                  push r25
  22 000e EF93                  push r30
  23 0010 FF93                  push r31
  24                    /* prologue end (size=9) */
  25 0012 8091 0000             lds r24,UebertragungAbgeschlossen
  26 0016 8823                  tst r24
  27 0018 01F4                  brne .L2
  28 001a 8091 0000             lds r24,ptr.2038
  29 001e 9091 0000             lds r25,(ptr.2038)+1
  30 0022 0196                  adiw r24,1
  31 0024 9093 0000             sts (ptr.2038)+1,r25
  32 0028 8093 0000             sts ptr.2038,r24
  33 002c FC01                  movw r30,r24
  34 002e E050                  subi r30,lo8(-(SendeBuffer))
  35 0030 F040                  sbci r31,hi8(-(SendeBuffer))
  36 0032 E081                  ld r30,Z
  37 0034 ED30                  cpi r30,lo8(13)
  38 0036 01F0                  breq .L4
  39 0038 8639                  cpi r24,150
  40 003a 9105                  cpc r25,__zero_reg__
  41 003c 01F4                  brne .L6
  42                    .L4:
  43 003e 1092 0000             sts (ptr.2038)+1,__zero_reg__
  44 0042 1092 0000             sts ptr.2038,__zero_reg__
  45 0046 81E0                  ldi r24,lo8(1)
  46 0048 8093 0000             sts UebertragungAbgeschlossen,r24
  47                    .L6:
  48 004c E093 C600             sts 198,r30
  49 0050 00C0                  rjmp .L8
  50                    .L2:
  51 0052 1092 0000             sts (ptr.2038)+1,__zero_reg__
  52 0056 1092 0000             sts ptr.2038,__zero_reg__
  53                    .L8:
  54                    /* epilogue: frame size=0 */
  55 005a FF91                  pop r31
  56 005c EF91                  pop r30
  57 005e 9F91                  pop r25
  58 0060 8F91                  pop r24
  59 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                  reti
  64                    /* epilogue end (size=9) */
  65                    /* function __vector_22 size 54 (36) */
  67                    .global GPSscanData
  69                    GPSscanData:
  70                    /* prologue: frame size=0 */
  71                    /* prologue end (size=0) */
  72 006c 8091 0000             lds r24,navStatus+16
  73 0070 8130                  cpi r24,lo8(1)
  74 0072 01F4                  brne .L10
  75 0074 8091 0000             lds r24,navStatus+4
  76 0078 8093 0000             sts actualPos+32,r24
  77 007c 1092 0000             sts navStatus+16,__zero_reg__
  78                    .L10:
  79 0080 8091 0000             lds r24,navPosUtm+18
  80 0084 8130                  cpi r24,lo8(1)
  81 0086 01F0                  breq .+2
  82 0088 00C0                  rjmp .L12
  83 008a 6091 0000             lds r22,navPosUtm+8
  84 008e 7091 0000             lds r23,(navPosUtm+8)+1
  85 0092 8091 0000             lds r24,(navPosUtm+8)+2
  86 0096 9091 0000             lds r25,(navPosUtm+8)+3
  87 009a 2AE0                  ldi r18,lo8(10)
  88 009c 30E0                  ldi r19,hi8(10)
  89 009e 40E0                  ldi r20,hlo8(10)
  90 00a0 50E0                  ldi r21,hhi8(10)
  91 00a2 0E94 0000             call __divmodsi4
  92 00a6 2093 0000             sts actualPos,r18
  93 00aa 3093 0000             sts (actualPos)+1,r19
  94 00ae 4093 0000             sts (actualPos)+2,r20
  95 00b2 5093 0000             sts (actualPos)+3,r21
  96 00b6 6091 0000             lds r22,navPosUtm+4
  97 00ba 7091 0000             lds r23,(navPosUtm+4)+1
  98 00be 8091 0000             lds r24,(navPosUtm+4)+2
  99 00c2 9091 0000             lds r25,(navPosUtm+4)+3
 100 00c6 2AE0                  ldi r18,lo8(10)
 101 00c8 30E0                  ldi r19,hi8(10)
 102 00ca 40E0                  ldi r20,hlo8(10)
 103 00cc 50E0                  ldi r21,hhi8(10)
 104 00ce 0E94 0000             call __divmodsi4
 105 00d2 2093 0000             sts actualPos+4,r18
 106 00d6 3093 0000             sts (actualPos+4)+1,r19
 107 00da 4093 0000             sts (actualPos+4)+2,r20
 108 00de 5093 0000             sts (actualPos+4)+3,r21
 109 00e2 6091 0000             lds r22,navPosUtm+12
 110 00e6 7091 0000             lds r23,(navPosUtm+12)+1
 111 00ea 8091 0000             lds r24,(navPosUtm+12)+2
 112 00ee 9091 0000             lds r25,(navPosUtm+12)+3
 113 00f2 2AE0                  ldi r18,lo8(10)
 114 00f4 30E0                  ldi r19,hi8(10)
 115 00f6 40E0                  ldi r20,hlo8(10)
 116 00f8 50E0                  ldi r21,hhi8(10)
 117 00fa 0E94 0000             call __divmodsi4
 118 00fe 2093 0000             sts actualPos+8,r18
 119 0102 3093 0000             sts (actualPos+8)+1,r19
 120 0106 4093 0000             sts (actualPos+8)+2,r20
 121 010a 5093 0000             sts (actualPos+8)+3,r21
 122 010e 1092 0000             sts navPosUtm+18,__zero_reg__
 123                    .L12:
 124 0112 8091 0000             lds r24,navPosLlh+28
 125 0116 8130                  cpi r24,lo8(1)
 126 0118 01F4                  brne .L14
 127 011a 1092 0000             sts navPosLlh+28,__zero_reg__
 128                    .L14:
 129 011e 8091 0000             lds r24,navVelNed+36
 130 0122 8130                  cpi r24,lo8(1)
 131 0124 01F4                  brne .L16
 132 0126 8091 0000             lds r24,navVelNed+4
 133 012a 9091 0000             lds r25,(navVelNed+4)+1
 134 012e A091 0000             lds r26,(navVelNed+4)+2
 135 0132 B091 0000             lds r27,(navVelNed+4)+3
 136 0136 8093 0000             sts actualPos+12,r24
 137 013a 9093 0000             sts (actualPos+12)+1,r25
 138 013e A093 0000             sts (actualPos+12)+2,r26
 139 0142 B093 0000             sts (actualPos+12)+3,r27
 140 0146 8091 0000             lds r24,navVelNed+8
 141 014a 9091 0000             lds r25,(navVelNed+8)+1
 142 014e A091 0000             lds r26,(navVelNed+8)+2
 143 0152 B091 0000             lds r27,(navVelNed+8)+3
 144 0156 8093 0000             sts actualPos+16,r24
 145 015a 9093 0000             sts (actualPos+16)+1,r25
 146 015e A093 0000             sts (actualPos+16)+2,r26
 147 0162 B093 0000             sts (actualPos+16)+3,r27
 148 0166 1092 0000             sts navVelNed+36,__zero_reg__
 149                    .L16:
 150 016a 8091 0000             lds r24,actualPos+32
 151 016e 8111                  cpse r24,__zero_reg__
 152 0170 289A                  sbi 37-0x20,0
 153                    .L20:
 154 0172 0895                  ret
 155                    /* epilogue: frame size=0 */
 156                    /* epilogue: noreturn */
 157                    /* epilogue end (size=0) */
 158                    /* function GPSscanData size 133 (133) */
 160                    .global __vector_20
 162                    __vector_20:
 163                    /* prologue: frame size=0 */
 164 0174 1F92                  push __zero_reg__
 165 0176 0F92                  push __tmp_reg__
 166 0178 0FB6                  in __tmp_reg__,__SREG__
 167 017a 0F92                  push __tmp_reg__
 168 017c 1124                  clr __zero_reg__
 169 017e 2F93                  push r18
 170 0180 3F93                  push r19
 171 0182 4F93                  push r20
 172 0184 5F93                  push r21
 173 0186 6F93                  push r22
 174 0188 7F93                  push r23
 175 018a 8F93                  push r24
 176 018c 9F93                  push r25
 177 018e AF93                  push r26
 178 0190 BF93                  push r27
 179 0192 CF93                  push r28
 180 0194 DF93                  push r29
 181 0196 EF93                  push r30
 182 0198 FF93                  push r31
 183                    /* prologue end (size=19) */
 184 019a 8091 C600             lds r24,198
 185 019e 8093 0000             sts SioTmp,r24
 186 01a2 8091 C000             lds r24,192
 187 01a6 4091 0000             lds r20,SioTmp
 188 01aa 8871                  andi r24,lo8(24)
 189 01ac 01F0                  breq .+2
 190 01ae 00C0                  rjmp .L22
 191 01b0 8091 0000             lds r24,gpsState
 192 01b4 8430                  cpi r24,lo8(4)
 193 01b6 01F4                  brne .+2
 194 01b8 00C0                  rjmp .L29
 195 01ba 8530                  cpi r24,lo8(5)
 196 01bc 00F4                  brsh .L34
 197 01be 8130                  cpi r24,lo8(1)
 198 01c0 01F0                  breq .L26
 199 01c2 8130                  cpi r24,lo8(1)
 200 01c4 00F0                  brlo .L25
 201 01c6 8230                  cpi r24,lo8(2)
 202 01c8 01F0                  breq .L27
 203 01ca 8330                  cpi r24,lo8(3)
 204 01cc 01F0                  breq .+2
 205 01ce 00C0                  rjmp .L24
 206 01d0 00C0                  rjmp .L28
 207                    .L34:
 208 01d2 8630                  cpi r24,lo8(6)
 209 01d4 01F4                  brne .+2
 210 01d6 00C0                  rjmp .L31
 211 01d8 8630                  cpi r24,lo8(6)
 212 01da 00F4                  brsh .+2
 213 01dc 00C0                  rjmp .L30
 214 01de 8730                  cpi r24,lo8(7)
 215 01e0 01F4                  brne .+2
 216 01e2 00C0                  rjmp .L32
 217 01e4 8830                  cpi r24,lo8(8)
 218 01e6 01F0                  breq .+2
 219 01e8 00C0                  rjmp .L24
 220 01ea 00C0                  rjmp .L33
 221                    .L25:
 222 01ec 453B                  cpi r20,lo8(-75)
 223 01ee 01F0                  breq .+2
 224 01f0 00C0                  rjmp .L35
 225 01f2 81E0                  ldi r24,lo8(1)
 226 01f4 00C0                  rjmp .L82
 227                    .L26:
 228 01f6 4236                  cpi r20,lo8(98)
 229 01f8 01F4                  brne .L37
 230 01fa 82E0                  ldi r24,lo8(2)
 231                    .L82:
 232 01fc 8093 0000             sts gpsState,r24
 233 0200 00C0                  rjmp .L35
 234                    .L37:
 235 0202 453B                  cpi r20,lo8(-75)
 236 0204 01F4                  brne .+2
 237 0206 00C0                  rjmp .L35
 238 0208 00C0                  rjmp .L24
 239                    .L27:
 240 020a 4130                  cpi r20,lo8(1)
 241 020c 01F0                  breq .+2
 242 020e 00C0                  rjmp .L24
 243 0210 83E0                  ldi r24,lo8(3)
 244 0212 00C0                  rjmp .L82
 245                    .L28:
 246 0214 4093 0000             sts msgID,r20
 247 0218 4F5F                  subi r20,lo8(-(1))
 248 021a 4093 0000             sts CK_A,r20
 249 021e 8091 0000             lds r24,CK_A
 250 0222 8F5F                  subi r24,lo8(-(1))
 251 0224 8093 0000             sts CK_B,r24
 252 0228 84E0                  ldi r24,lo8(4)
 253 022a 8093 0000             sts gpsState,r24
 254 022e 8091 0000             lds r24,msgID
 255 0232 8330                  cpi r24,lo8(3)
 256 0234 01F0                  breq .L44
 257 0236 8430                  cpi r24,lo8(4)
 258 0238 00F4                  brsh .L47
 259 023a 8230                  cpi r24,lo8(2)
 260 023c 01F0                  breq .+2
 261 023e 00C0                  rjmp .L42
 262 0240 00C0                  rjmp .L43
 263                    .L47:
 264 0242 8830                  cpi r24,lo8(8)
 265 0244 01F0                  breq .L45
 266 0246 8231                  cpi r24,lo8(18)
 267 0248 01F0                  breq .+2
 268 024a 00C0                  rjmp .L42
 269 024c 00C0                  rjmp .L46
 270                    .L44:
 271 024e 80E0                  ldi r24,lo8(navStatus)
 272 0250 90E0                  ldi r25,hi8(navStatus)
 273 0252 9093 0000             sts (ubxP)+1,r25
 274 0256 8093 0000             sts ubxP,r24
 275 025a 20E0                  ldi r18,lo8(navStatus+289)
 276 025c 30E0                  ldi r19,hi8(navStatus+289)
 277 025e 3093 0000             sts (ubxEp)+1,r19
 278 0262 2093 0000             sts ubxEp,r18
 279 0266 4096                  adiw r24,16
 280 0268 9093 0000             sts (ubxSp)+1,r25
 281 026c 8093 0000             sts ubxSp,r24
 282 0270 8091 0000             lds r24,navStatus+16
 283 0274 00C0                  rjmp .L83
 284                    .L43:
 285 0276 80E0                  ldi r24,lo8(navPosLlh)
 286 0278 90E0                  ldi r25,hi8(navPosLlh)
 287 027a 9093 0000             sts (ubxP)+1,r25
 288 027e 8093 0000             sts ubxP,r24
 289 0282 20E0                  ldi r18,lo8(navPosLlh+841)
 290 0284 30E0                  ldi r19,hi8(navPosLlh+841)
 291 0286 3093 0000             sts (ubxEp)+1,r19
 292 028a 2093 0000             sts ubxEp,r18
 293 028e 4C96                  adiw r24,28
 294 0290 9093 0000             sts (ubxSp)+1,r25
 295 0294 8093 0000             sts ubxSp,r24
 296 0298 8091 0000             lds r24,navPosLlh+28
 297 029c 00C0                  rjmp .L83
 298                    .L45:
 299 029e 80E0                  ldi r24,lo8(navPosUtm)
 300 02a0 90E0                  ldi r25,hi8(navPosUtm)
 301 02a2 9093 0000             sts (ubxP)+1,r25
 302 02a6 8093 0000             sts ubxP,r24
 303 02aa 20E0                  ldi r18,lo8(navPosUtm+361)
 304 02ac 30E0                  ldi r19,hi8(navPosUtm+361)
 305 02ae 3093 0000             sts (ubxEp)+1,r19
 306 02b2 2093 0000             sts ubxEp,r18
 307 02b6 4296                  adiw r24,18
 308 02b8 9093 0000             sts (ubxSp)+1,r25
 309 02bc 8093 0000             sts ubxSp,r24
 310 02c0 8091 0000             lds r24,navPosUtm+18
 311 02c4 00C0                  rjmp .L83
 312                    .L46:
 313 02c6 80E0                  ldi r24,lo8(navVelNed)
 314 02c8 90E0                  ldi r25,hi8(navVelNed)
 315 02ca 9093 0000             sts (ubxP)+1,r25
 316 02ce 8093 0000             sts ubxP,r24
 317 02d2 20E0                  ldi r18,lo8(navVelNed+1369)
 318 02d4 30E0                  ldi r19,hi8(navVelNed+1369)
 319 02d6 3093 0000             sts (ubxEp)+1,r19
 320 02da 2093 0000             sts ubxEp,r18
 321 02de 8496                  adiw r24,36
 322 02e0 9093 0000             sts (ubxSp)+1,r25
 323 02e4 8093 0000             sts ubxSp,r24
 324 02e8 8091 0000             lds r24,navVelNed+36
 325                    .L83:
 326 02ec 8093 0000             sts ignorePacket,r24
 327 02f0 00C0                  rjmp .L35
 328                    .L42:
 329 02f2 81E0                  ldi r24,lo8(1)
 330 02f4 8093 0000             sts ignorePacket,r24
 331 02f8 1092 0000             sts (ubxSp)+1,__zero_reg__
 332 02fc 1092 0000             sts ubxSp,__zero_reg__
 333 0300 00C0                  rjmp .L35
 334                    .L29:
 335 0302 842F                  mov r24,r20
 336 0304 9927                  clr r25
 337 0306 9093 0000             sts (msgLen)+1,r25
 338 030a 8093 0000             sts msgLen,r24
 339 030e 8091 0000             lds r24,CK_A
 340 0312 840F                  add r24,r20
 341 0314 8093 0000             sts CK_A,r24
 342 0318 8091 0000             lds r24,CK_B
 343 031c 9091 0000             lds r25,CK_A
 344 0320 890F                  add r24,r25
 345 0322 8093 0000             sts CK_B,r24
 346 0326 85E0                  ldi r24,lo8(5)
 347 0328 00C0                  rjmp .L82
 348                    .L30:
 349 032a 2091 0000             lds r18,msgLen
 350 032e 3091 0000             lds r19,(msgLen)+1
 351 0332 842F                  mov r24,r20
 352 0334 9927                  clr r25
 353 0336 982F                  mov r25,r24
 354 0338 8827                  clr r24
 355 033a 280F                  add r18,r24
 356 033c 391F                  adc r19,r25
 357 033e 3093 0000             sts (msgLen)+1,r19
 358 0342 2093 0000             sts msgLen,r18
 359 0346 8091 0000             lds r24,CK_A
 360 034a 840F                  add r24,r20
 361 034c 8093 0000             sts CK_A,r24
 362 0350 8091 0000             lds r24,CK_B
 363 0354 9091 0000             lds r25,CK_A
 364 0358 890F                  add r24,r25
 365 035a 8093 0000             sts CK_B,r24
 366 035e 86E0                  ldi r24,lo8(6)
 367 0360 00C0                  rjmp .L82
 368                    .L31:
 369 0362 8091 0000             lds r24,CK_A
 370 0366 840F                  add r24,r20
 371 0368 8093 0000             sts CK_A,r24
 372 036c 8091 0000             lds r24,CK_B
 373 0370 9091 0000             lds r25,CK_A
 374 0374 890F                  add r24,r25
 375 0376 8093 0000             sts CK_B,r24
 376 037a 8091 0000             lds r24,ignorePacket
 377 037e 8823                  tst r24
 378 0380 01F4                  brne .L48
 379 0382 E091 0000             lds r30,ubxP
 380 0386 F091 0000             lds r31,(ubxP)+1
 381 038a 8091 0000             lds r24,ubxEp
 382 038e 9091 0000             lds r25,(ubxEp)+1
 383 0392 E817                  cp r30,r24
 384 0394 F907                  cpc r31,r25
 385 0396 00F4                  brsh .L48
 386 0398 4193                  st Z+,r20
 387 039a F093 0000             sts (ubxP)+1,r31
 388 039e E093 0000             sts ubxP,r30
 389                    .L48:
 390 03a2 8091 0000             lds r24,msgLen
 391 03a6 9091 0000             lds r25,(msgLen)+1
 392 03aa 0197                  sbiw r24,1
 393 03ac 9093 0000             sts (msgLen)+1,r25
 394 03b0 8093 0000             sts msgLen,r24
 395 03b4 8091 0000             lds r24,msgLen
 396 03b8 9091 0000             lds r25,(msgLen)+1
 397 03bc 892B                  or r24,r25
 398 03be 01F4                  brne .L35
 399 03c0 87E0                  ldi r24,lo8(7)
 400 03c2 00C0                  rjmp .L82
 401                    .L32:
 402 03c4 8091 0000             lds r24,CK_A
 403 03c8 4817                  cp r20,r24
 404 03ca 01F4                  brne .L24
 405 03cc 88E0                  ldi r24,lo8(8)
 406 03ce 00C0                  rjmp .L82
 407                    .L33:
 408 03d0 8091 0000             lds r24,CK_B
 409 03d4 4817                  cp r20,r24
 410 03d6 01F4                  brne .L24
 411 03d8 E091 0000             lds r30,ubxSp
 412 03dc F091 0000             lds r31,(ubxSp)+1
 413 03e0 3097                  sbiw r30,0
 414 03e2 01F0                  breq .L24
 415 03e4 81E0                  ldi r24,lo8(1)
 416 03e6 8083                  st Z,r24
 417                    .L24:
 418 03e8 1092 0000             sts gpsState,__zero_reg__
 419 03ec 00C0                  rjmp .L35
 420                    .L22:
 421 03ee 1092 0000             sts gpsState,__zero_reg__
 422 03f2 0E94 0000             call GPSscanData
 423                    .L35:
 424 03f6 0E94 0000             call GPSscanData
 425 03fa 4091 0000             lds r20,buf_ptr.2074
 426 03fe 4639                  cpi r20,lo8(-106)
 427 0400 00F0                  brlo .L57
 428 0402 1092 0000             sts UartState.2075,__zero_reg__
 429                    .L57:
 430 0406 8091 0000             lds r24,SioTmp
 431 040a 8D30                  cpi r24,lo8(13)
 432 040c 01F0                  breq .+2
 433 040e 00C0                  rjmp .L59
 434 0410 8091 0000             lds r24,UartState.2075
 435 0414 8230                  cpi r24,lo8(2)
 436 0416 01F0                  breq .+2
 437 0418 00C0                  rjmp .L59
 438 041a 1092 0000             sts UartState.2075,__zero_reg__
 439 041e A42F                  mov r26,r20
 440 0420 BB27                  clr r27
 441 0422 FD01                  movw r30,r26
 442 0424 E050                  subi r30,lo8(-(RxdBuffer-2))
 443 0426 F040                  sbci r31,hi8(-(RxdBuffer-2))
 444 0428 3081                  ld r19,Z
 445 042a ED01                  movw r28,r26
 446 042c C050                  subi r28,lo8(-(RxdBuffer-1))
 447 042e D040                  sbci r29,hi8(-(RxdBuffer-1))
 448 0430 2881                  ld r18,Y
 449 0432 8091 0000             lds r24,crc.2071
 450 0436 9091 0000             lds r25,(crc.2071)+1
 451 043a 831B                  sub r24,r19
 452 043c 9109                  sbc r25,__zero_reg__
 453 043e 821B                  sub r24,r18
 454 0440 9109                  sbc r25,__zero_reg__
 455 0442 9F70                  andi r25,hi8(4095)
 456 0444 9093 0000             sts (crc.2071)+1,r25
 457 0448 8093 0000             sts crc.2071,r24
 458 044c 9C01                  movw r18,r24
 459 044e 96E0                  ldi r25,6
 460 0450 3695          1:      lsr r19
 461 0452 2795                  ror r18
 462 0454 9A95                  dec r25
 463 0456 01F4                  brne 1b
 464 0458 235C                  subi r18,lo8(-(61))
 465 045a 2093 0000             sts crc1.2072,r18
 466 045e 982F                  mov r25,r24
 467 0460 9F73                  andi r25,lo8(63)
 468 0462 935C                  subi r25,lo8(-(61))
 469 0464 9093 0000             sts crc2.2073,r25
 470 0468 8081                  ld r24,Z
 471 046a 2817                  cp r18,r24
 472 046c 01F4                  brne .L62
 473 046e 8881                  ld r24,Y
 474 0470 9817                  cp r25,r24
 475 0472 01F4                  brne .L62
 476 0474 91E0                  ldi r25,lo8(1)
 477 0476 00C0                  rjmp .L65
 478                    .L62:
 479 0478 8091 0000             lds r24,CntCrcError
 480 047c 8F5F                  subi r24,lo8(-(1))
 481 047e 8093 0000             sts CntCrcError,r24
 482 0482 90E0                  ldi r25,lo8(0)
 483                    .L65:
 484 0484 8091 0000             lds r24,NeuerDatensatzEmpfangen
 485 0488 8823                  tst r24
 486 048a 01F0                  breq .+2
 487 048c 00C0                  rjmp .L80
 488 048e 9923                  tst r25
 489 0490 01F4                  brne .+2
 490 0492 00C0                  rjmp .L80
 491 0494 81E0                  ldi r24,lo8(1)
 492 0496 8093 0000             sts NeuerDatensatzEmpfangen,r24
 493 049a 4093 0000             sts AnzahlEmpfangsBytes,r20
 494 049e A050                  subi r26,lo8(-(RxdBuffer))
 495 04a0 B040                  sbci r27,hi8(-(RxdBuffer))
 496 04a2 8DE0                  ldi r24,lo8(13)
 497 04a4 8C93                  st X,r24
 498 04a6 8091 0000             lds r24,RxdBuffer+2
 499 04aa 8235                  cpi r24,lo8(82)
 500 04ac 01F0                  breq .+2
 501 04ae 00C0                  rjmp .L80
 502 04b0 88E1                  ldi r24,lo8(24)
 503 04b2 90E0                  ldi r25,hi8(24)
 504 04b4 2CE0                  ldi r18,lo8(12)
 505                    /* #APP */
 506 04b6 0FB6                  in __tmp_reg__,__SREG__
 507 04b8 F894                  cli
 508 04ba A895                  wdr
 509 04bc 8093 6000             sts 96,r24
 510 04c0 0FBE                  out __SREG__,__tmp_reg__
 511 04c2 2093 6000             sts 96,r18
 512                    /* #NOAPP */
 513 04c6 00C0                  rjmp .L80
 514                    .L59:
 515 04c8 8091 0000             lds r24,UartState.2075
 516 04cc 8130                  cpi r24,lo8(1)
 517 04ce 01F0                  breq .L72
 518 04d0 8130                  cpi r24,lo8(1)
 519 04d2 00F0                  brlo .L71
 520 04d4 8230                  cpi r24,lo8(2)
 521 04d6 01F4                  brne .L81
 522 04d8 00C0                  rjmp .L73
 523                    .L71:
 524 04da 8091 0000             lds r24,SioTmp
 525 04de 8332                  cpi r24,lo8(35)
 526 04e0 01F4                  brne .L74
 527 04e2 8091 0000             lds r24,NeuerDatensatzEmpfangen
 528 04e6 8823                  tst r24
 529 04e8 01F4                  brne .L74
 530 04ea 81E0                  ldi r24,lo8(1)
 531 04ec 8093 0000             sts UartState.2075,r24
 532                    .L74:
 533 04f0 8091 0000             lds r24,SioTmp
 534 04f4 8093 0000             sts RxdBuffer,r24
 535 04f8 81E0                  ldi r24,lo8(1)
 536 04fa 8093 0000             sts buf_ptr.2074,r24
 537 04fe 8091 0000             lds r24,SioTmp
 538 0502 9927                  clr r25
 539 0504 00C0                  rjmp .L84
 540                    .L72:
 541 0506 82E0                  ldi r24,lo8(2)
 542 0508 8093 0000             sts UartState.2075,r24
 543 050c E42F                  mov r30,r20
 544 050e FF27                  clr r31
 545 0510 8091 0000             lds r24,SioTmp
 546 0514 E050                  subi r30,lo8(-(RxdBuffer))
 547 0516 F040                  sbci r31,hi8(-(RxdBuffer))
 548 0518 8083                  st Z,r24
 549                    .L86:
 550 051a 4F5F                  subi r20,lo8(-(1))
 551 051c 4093 0000             sts buf_ptr.2074,r20
 552                    .L85:
 553 0520 2091 0000             lds r18,SioTmp
 554 0524 8091 0000             lds r24,crc.2071
 555 0528 9091 0000             lds r25,(crc.2071)+1
 556 052c 820F                  add r24,r18
 557 052e 911D                  adc r25,__zero_reg__
 558                    .L84:
 559 0530 9093 0000             sts (crc.2071)+1,r25
 560 0534 8093 0000             sts crc.2071,r24
 561 0538 00C0                  rjmp .L80
 562                    .L73:
 563 053a E42F                  mov r30,r20
 564 053c FF27                  clr r31
 565 053e 8091 0000             lds r24,SioTmp
 566 0542 E050                  subi r30,lo8(-(RxdBuffer))
 567 0544 F040                  sbci r31,hi8(-(RxdBuffer))
 568 0546 8083                  st Z,r24
 569 0548 4639                  cpi r20,lo8(-106)
 570 054a 00F0                  brlo .L86
 571 054c 1092 0000             sts UartState.2075,__zero_reg__
 572 0550 00C0                  rjmp .L85
 573                    .L81:
 574 0552 1092 0000             sts UartState.2075,__zero_reg__
 575                    .L80:
 576                    /* epilogue: frame size=0 */
 577 0556 FF91                  pop r31
 578 0558 EF91                  pop r30
 579 055a DF91                  pop r29
 580 055c CF91                  pop r28
 581 055e BF91                  pop r27
 582 0560 AF91                  pop r26
 583 0562 9F91                  pop r25
 584 0564 8F91                  pop r24
 585 0566 7F91                  pop r23
 586 0568 6F91                  pop r22
 587 056a 5F91                  pop r21
 588 056c 4F91                  pop r20
 589 056e 3F91                  pop r19
 590 0570 2F91                  pop r18
 591 0572 0F90                  pop __tmp_reg__
 592 0574 0FBE                  out __SREG__,__tmp_reg__
 593 0576 0F90                  pop __tmp_reg__
 594 0578 1F90                  pop __zero_reg__
 595 057a 1895                  reti
 596                    /* epilogue end (size=19) */
 597                    /* function __vector_20 size 522 (484) */
 599                    .global AddCRC
 601                    AddCRC:
 602                    /* prologue: frame size=0 */
 603                    /* prologue end (size=0) */
 604 057c DC01                  movw r26,r24
 605 057e 20E0                  ldi r18,lo8(0)
 606 0580 30E0                  ldi r19,hi8(0)
 607 0582 40E0                  ldi r20,lo8(0)
 608 0584 50E0                  ldi r21,hi8(0)
 609 0586 E0E0                  ldi r30,lo8(SendeBuffer)
 610 0588 F0E0                  ldi r31,hi8(SendeBuffer)
 611 058a 00C0                  rjmp .L88
 612                    .L89:
 613 058c 8191                  ld r24,Z+
 614 058e 280F                  add r18,r24
 615 0590 311D                  adc r19,__zero_reg__
 616 0592 4F5F                  subi r20,lo8(-(1))
 617 0594 5F4F                  sbci r21,hi8(-(1))
 618                    .L88:
 619 0596 4A17                  cp r20,r26
 620 0598 5B07                  cpc r21,r27
 621 059a 01F4                  brne .L89
 622 059c 3F70                  andi r19,hi8(4095)
 623 059e C901                  movw r24,r18
 624 05a0 66E0                  ldi r22,6
 625 05a2 9695          1:      lsr r25
 626 05a4 8795                  ror r24
 627 05a6 6A95                  dec r22
 628 05a8 01F4                  brne 1b
 629 05aa 835C                  subi r24,lo8(-(61))
 630 05ac FD01                  movw r30,r26
 631 05ae E050                  subi r30,lo8(-(SendeBuffer))
 632 05b0 F040                  sbci r31,hi8(-(SendeBuffer))
 633 05b2 8083                  st Z,r24
 634 05b4 1196                  adiw r26,1
 635 05b6 2F73                  andi r18,lo8(63)
 636 05b8 235C                  subi r18,lo8(-(61))
 637 05ba FD01                  movw r30,r26
 638 05bc E050                  subi r30,lo8(-(SendeBuffer))
 639 05be F040                  sbci r31,hi8(-(SendeBuffer))
 640 05c0 2083                  st Z,r18
 641 05c2 A050                  subi r26,lo8(-(SendeBuffer+1))
 642 05c4 B040                  sbci r27,hi8(-(SendeBuffer+1))
 643 05c6 8DE0                  ldi r24,lo8(13)
 644 05c8 8C93                  st X,r24
 645 05ca 1092 0000             sts UebertragungAbgeschlossen,__zero_reg__
 646 05ce 8091 0000             lds r24,SendeBuffer
 647 05d2 8093 C600             sts 198,r24
 648                    /* epilogue: frame size=0 */
 649 05d6 0895                  ret
 650                    /* epilogue end (size=1) */
 651                    /* function AddCRC size 47 (46) */
 653                    .global SendOutData
 655                    SendOutData:
 656                    /* prologue: frame size=0 */
 657 05d8 EF92                  push r14
 658 05da FF92                  push r15
 659 05dc 0F93                  push r16
 660 05de 1F93                  push r17
 661 05e0 CF93                  push r28
 662 05e2 DF93                  push r29
 663                    /* prologue end (size=6) */
 664 05e4 7A01                  movw r14,r20
 665 05e6 722F                  mov r23,r18
 666 05e8 93E2                  ldi r25,lo8(35)
 667 05ea 9093 0000             sts SendeBuffer,r25
 668 05ee 6093 0000             sts SendeBuffer+1,r22
 669 05f2 8093 0000             sts SendeBuffer+2,r24
 670 05f6 03E0                  ldi r16,lo8(3)
 671 05f8 10E0                  ldi r17,hi8(3)
 672 05fa 60E0                  ldi r22,lo8(0)
 673 05fc A0E0                  ldi r26,lo8(SendeBuffer+3)
 674 05fe B0E0                  ldi r27,hi8(SendeBuffer+3)
 675 0600 00C0                  rjmp .L93
 676                    .L94:
 677 0602 F701                  movw r30,r14
 678 0604 E60F                  add r30,r22
 679 0606 F11D                  adc r31,__zero_reg__
 680 0608 9081                  ld r25,Z
 681 060a 6F5F                  subi r22,lo8(-(1))
 682 060c 7150                  subi r23,lo8(-(-1))
 683 060e 01F4                  brne .L95
 684 0610 E0E0                  ldi r30,lo8(0)
 685 0612 40E0                  ldi r20,lo8(0)
 686 0614 00C0                  rjmp .L97
 687                    .L95:
 688 0616 F701                  movw r30,r14
 689 0618 E60F                  add r30,r22
 690 061a F11D                  adc r31,__zero_reg__
 691 061c 4081                  ld r20,Z
 692 061e 6F5F                  subi r22,lo8(-(1))
 693 0620 7150                  subi r23,lo8(-(-1))
 694 0622 01F4                  brne .L98
 695 0624 E0E0                  ldi r30,lo8(0)
 696 0626 00C0                  rjmp .L97
 697                    .L98:
 698 0628 F701                  movw r30,r14
 699 062a E60F                  add r30,r22
 700 062c F11D                  adc r31,__zero_reg__
 701 062e E081                  ld r30,Z
 702 0630 6F5F                  subi r22,lo8(-(1))
 703 0632 7150                  subi r23,lo8(-(-1))
 704                    .L97:
 705 0634 892F                  mov r24,r25
 706 0636 8695                  lsr r24
 707 0638 8695                  lsr r24
 708 063a 835C                  subi r24,lo8(-(61))
 709 063c 8C93                  st X,r24
 710 063e 5527                  clr r21
 711 0640 892F                  mov r24,r25
 712 0642 9927                  clr r25
 713 0644 8370                  andi r24,lo8(3)
 714 0646 9070                  andi r25,hi8(3)
 715 0648 24E0                  ldi r18,4
 716 064a 880F          1:      lsl r24
 717 064c 991F                  rol r25
 718 064e 2A95                  dec r18
 719 0650 01F4                  brne 1b
 720 0652 9A01                  movw r18,r20
 721 0654 94E0                  ldi r25,4
 722 0656 3695          1:      lsr r19
 723 0658 2795                  ror r18
 724 065a 9A95                  dec r25
 725 065c 01F4                  brne 1b
 726 065e 822B                  or r24,r18
 727 0660 835C                  subi r24,lo8(-(61))
 728 0662 ED01                  movw r28,r26
 729 0664 8983                  std Y+1,r24
 730 0666 4F70                  andi r20,lo8(15)
 731 0668 5070                  andi r21,hi8(15)
 732 066a 440F                  lsl r20
 733 066c 551F                  rol r21
 734 066e 440F                  lsl r20
 735 0670 551F                  rol r21
 736 0672 8E2F                  mov r24,r30
 737 0674 8295                  swap r24
 738 0676 8695                  lsr r24
 739 0678 8695                  lsr r24
 740 067a 8370                  andi r24,0x3
 741 067c 842B                  or r24,r20
 742 067e 835C                  subi r24,lo8(-(61))
 743 0680 8A83                  std Y+2,r24
 744 0682 EF73                  andi r30,lo8(63)
 745 0684 E35C                  subi r30,lo8(-(61))
 746 0686 EB83                  std Y+3,r30
 747 0688 0C5F                  subi r16,lo8(-(4))
 748 068a 1F4F                  sbci r17,hi8(-(4))
 749 068c 1496                  adiw r26,4
 750                    .L93:
 751 068e 7723                  tst r23
 752 0690 01F0                  breq .+2
 753 0692 00C0                  rjmp .L94
 754 0694 C801                  movw r24,r16
 755 0696 0E94 0000             call AddCRC
 756                    /* epilogue: frame size=0 */
 757 069a DF91                  pop r29
 758 069c CF91                  pop r28
 759 069e 1F91                  pop r17
 760 06a0 0F91                  pop r16
 761 06a2 FF90                  pop r15
 762 06a4 EF90                  pop r14
 763 06a6 0895                  ret
 764                    /* epilogue end (size=7) */
 765                    /* function SendOutData size 106 (93) */
 767                    .global Decode64
 769                    Decode64:
 770                    /* prologue: frame size=0 */
 771 06a8 1F93                  push r17
 772 06aa CF93                  push r28
 773 06ac DF93                  push r29
 774                    /* prologue end (size=3) */
 775 06ae EC01                  movw r28,r24
 776 06b0 70E0                  ldi r23,lo8(0)
 777 06b2 A22F                  mov r26,r18
 778 06b4 BB27                  clr r27
 779 06b6 1297                  sbiw r26,2
 780 06b8 00C0                  rjmp .L103
 781                    .L104:
 782 06ba E42F                  mov r30,r20
 783 06bc FF27                  clr r31
 784 06be E050                  subi r30,lo8(-(RxdBuffer))
 785 06c0 F040                  sbci r31,hi8(-(RxdBuffer))
 786 06c2 3081                  ld r19,Z
 787 06c4 4F5F                  subi r20,lo8(-(1))
 788 06c6 E42F                  mov r30,r20
 789 06c8 FF27                  clr r31
 790 06ca E050                  subi r30,lo8(-(RxdBuffer))
 791 06cc F040                  sbci r31,hi8(-(RxdBuffer))
 792 06ce 5081                  ld r21,Z
 793 06d0 4F5F                  subi r20,lo8(-(1))
 794 06d2 E42F                  mov r30,r20
 795 06d4 FF27                  clr r31
 796 06d6 E050                  subi r30,lo8(-(RxdBuffer))
 797 06d8 F040                  sbci r31,hi8(-(RxdBuffer))
 798 06da 1081                  ld r17,Z
 799 06dc 4F5F                  subi r20,lo8(-(1))
 800 06de E42F                  mov r30,r20
 801 06e0 FF27                  clr r31
 802 06e2 E050                  subi r30,lo8(-(RxdBuffer))
 803 06e4 F040                  sbci r31,hi8(-(RxdBuffer))
 804 06e6 2081                  ld r18,Z
 805 06e8 4F5F                  subi r20,lo8(-(1))
 806 06ea 842F                  mov r24,r20
 807 06ec 9927                  clr r25
 808 06ee A817                  cp r26,r24
 809 06f0 B907                  cpc r27,r25
 810 06f2 04F0                  brlt .L109
 811 06f4 5D53                  subi r21,lo8(-(-61))
 812 06f6 FE01                  movw r30,r28
 813 06f8 E70F                  add r30,r23
 814 06fa F11D                  adc r31,__zero_reg__
 815 06fc 3D53                  subi r19,lo8(-(-61))
 816 06fe 330F                  lsl r19
 817 0700 330F                  lsl r19
 818 0702 852F                  mov r24,r21
 819 0704 8295                  swap r24
 820 0706 8F70                  andi r24,0x0f
 821 0708 382B                  or r19,r24
 822 070a 3083                  st Z,r19
 823 070c 6130                  cpi r22,lo8(1)
 824 070e 01F0                  breq .L109
 825 0710 912F                  mov r25,r17
 826 0712 9D53                  subi r25,lo8(-(-61))
 827 0714 7F5F                  subi r23,lo8(-(1))
 828 0716 FE01                  movw r30,r28
 829 0718 E70F                  add r30,r23
 830 071a F11D                  adc r31,__zero_reg__
 831 071c 7150                  subi r23,lo8(-(-1))
 832 071e 5295                  swap r21
 833 0720 507F                  andi r21,0xf0
 834 0722 892F                  mov r24,r25
 835 0724 8695                  lsr r24
 836 0726 8695                  lsr r24
 837 0728 582B                  or r21,r24
 838 072a 5083                  st Z,r21
 839 072c 6350                  subi r22,lo8(-(-3))
 840 072e 6F3F                  cpi r22,lo8(-1)
 841 0730 01F0                  breq .L109
 842 0732 7E5F                  subi r23,lo8(-(2))
 843 0734 FE01                  movw r30,r28
 844 0736 E70F                  add r30,r23
 845 0738 F11D                  adc r31,__zero_reg__
 846 073a 9295                  swap r25
 847 073c 990F                  lsl r25
 848 073e 990F                  lsl r25
 849 0740 907C                  andi r25,0xc0
 850 0742 2D53                  subi r18,lo8(-(-61))
 851 0744 922B                  or r25,r18
 852 0746 9083                  st Z,r25
 853 0748 7F5F                  subi r23,lo8(-(1))
 854                    .L103:
 855 074a 6623                  tst r22
 856 074c 01F0                  breq .+2
 857 074e 00C0                  rjmp .L104
 858                    .L109:
 859                    /* epilogue: frame size=0 */
 860 0750 DF91                  pop r29
 861 0752 CF91                  pop r28
 862 0754 1F91                  pop r17
 863 0756 0895                  ret
 864                    /* epilogue end (size=4) */
 865                    /* function Decode64 size 88 (81) */
 867                    .global uart_putchar
 869                    uart_putchar:
 870                    /* prologue: frame size=0 */
 871 0758 1F93                  push r17
 872                    /* prologue end (size=1) */
 873 075a 182F                  mov r17,r24
 874 075c 8A30                  cpi r24,lo8(10)
 875 075e 01F4                  brne .L115
 876 0760 8DE0                  ldi r24,lo8(13)
 877 0762 0E94 0000             call uart_putchar
 878                    .L115:
 879 0766 8091 C000             lds r24,192
 880 076a 85FF                  sbrs r24,5
 881 076c 00C0                  rjmp .L115
 882 076e 1093 C600             sts 198,r17
 883 0772 80E0                  ldi r24,lo8(0)
 884 0774 90E0                  ldi r25,hi8(0)
 885                    /* epilogue: frame size=0 */
 886 0776 1F91                  pop r17
 887 0778 0895                  ret
 888                    /* epilogue end (size=2) */
 889                    /* function uart_putchar size 17 (14) */
 891                    .global WriteProgramData
 893                    WriteProgramData:
 894                    /* prologue: frame size=0 */
 895                    /* prologue end (size=0) */
 896                    /* epilogue: frame size=0 */
 897 077a 0895                  ret
 898                    /* epilogue end (size=1) */
 899                    /* function WriteProgramData size 1 (0) */
 901                    .global UART_Init
 903                    UART_Init:
 904                    /* prologue: frame size=0 */
 905                    /* prologue end (size=0) */
 906 077c E1EC                  ldi r30,lo8(193)
 907 077e F0E0                  ldi r31,hi8(193)
 908 0780 88E1                  ldi r24,lo8(24)
 909 0782 8083                  st Z,r24
 910 0784 A0EC                  ldi r26,lo8(192)
 911 0786 B0E0                  ldi r27,hi8(192)
 912 0788 8C91                  ld r24,X
 913 078a 8260                  ori r24,lo8(2)
 914 078c 8C93                  st X,r24
 915 078e 8081                  ld r24,Z
 916 0790 8068                  ori r24,lo8(-128)
 917 0792 8083                  st Z,r24
 918 0794 8081                  ld r24,Z
 919 0796 8064                  ori r24,lo8(64)
 920 0798 8083                  st Z,r24
 921 079a 8AE2                  ldi r24,lo8(42)
 922 079c 8093 C400             sts 196,r24
 923 07a0 88EC                  ldi r24,lo8(200)
 924 07a2 90E0                  ldi r25,hi8(200)
 925 07a4 0E94 0000             call SetDelay
 926 07a8 9093 0000             sts (Debug_Timer)+1,r25
 927 07ac 8093 0000             sts Debug_Timer,r24
 928 07b0 1092 0000             sts gpsState,__zero_reg__
 929                    /* epilogue: frame size=0 */
 930 07b4 0895                  ret
 931                    /* epilogue end (size=1) */
 932                    /* function UART_Init size 29 (28) */
 934                    .global DatenUebertragung
 936                    DatenUebertragung:
 937                    /* prologue: frame size=0 */
 938                    /* prologue end (size=0) */
 939 07b6 8091 0000             lds r24,UebertragungAbgeschlossen
 940 07ba 8823                  tst r24
 941 07bc 01F4                  brne .+2
 942 07be 00C0                  rjmp .L139
 943 07c0 8091 0000             lds r24,DebugGetAnforderung
 944 07c4 8823                  tst r24
 945 07c6 01F0                  breq .L125
 946 07c8 8091 0000             lds r24,UebertragungAbgeschlossen
 947 07cc 8823                  tst r24
 948 07ce 01F0                  breq .L125
 949 07d0 2BE0                  ldi r18,lo8(11)
 950 07d2 40E0                  ldi r20,lo8(DebugIn)
 951 07d4 50E0                  ldi r21,hi8(DebugIn)
 952 07d6 6091 0000             lds r22,MeineSlaveAdresse
 953 07da 87E4                  ldi r24,lo8(71)
 954 07dc 0E94 0000             call SendOutData
 955 07e0 1092 0000             sts DebugGetAnforderung,__zero_reg__
 956                    .L125:
 957 07e4 8091 0000             lds r24,Debug_Timer
 958 07e8 9091 0000             lds r25,(Debug_Timer)+1
 959 07ec 0E94 0000             call CheckDelay
 960 07f0 8823                  tst r24
 961 07f2 01F4                  brne .L128
 962 07f4 8091 0000             lds r24,DebugDataAnforderung
 963 07f8 8823                  tst r24
 964 07fa 01F0                  breq .L130
 965                    .L128:
 966 07fc 8091 0000             lds r24,UebertragungAbgeschlossen
 967 0800 8823                  tst r24
 968 0802 01F0                  breq .L130
 969 0804 22E3                  ldi r18,lo8(50)
 970 0806 40E0                  ldi r20,lo8(DebugOut)
 971 0808 50E0                  ldi r21,hi8(DebugOut)
 972 080a 6091 0000             lds r22,MeineSlaveAdresse
 973 080e 84E4                  ldi r24,lo8(68)
 974 0810 0E94 0000             call SendOutData
 975 0814 1092 0000             sts DebugDataAnforderung,__zero_reg__
 976 0818 8AEF                  ldi r24,lo8(250)
 977 081a 90E0                  ldi r25,hi8(250)
 978 081c 0E94 0000             call SetDelay
 979 0820 9093 0000             sts (Debug_Timer)+1,r25
 980 0824 8093 0000             sts Debug_Timer,r24
 981                    .L130:
 982 0828 8091 0000             lds r24,DebugDisplayAnforderung
 983 082c 8823                  tst r24
 984 082e 01F0                  breq .L132
 985 0830 8091 0000             lds r24,UebertragungAbgeschlossen
 986 0834 8823                  tst r24
 987 0836 01F0                  breq .L132
 988 0838 0E94 0000             call Menu
 989 083c 1092 0000             sts DebugDisplayAnforderung,__zero_reg__
 990 0840 8091 0000             lds r24,dis_zeile.2398
 991 0844 8F5F                  subi r24,lo8(-(1))
 992 0846 8093 0000             sts dis_zeile.2398,r24
 993 084a 8430                  cpi r24,lo8(4)
 994 084c 01F4                  brne .L135
 995 084e 1092 0000             sts dis_zeile.2398,__zero_reg__
 996                    .L135:
 997 0852 8091 0000             lds r24,dis_zeile.2398
 998 0856 44E1                  ldi r20,lo8(20)
 999 0858 849F                  mul r24,r20
 1000 085a A001                 movw r20,r0
 1001 085c 1124                 clr r1
 1002 085e 4050                 subi r20,lo8(-(DisplayBuff))
 1003 0860 5040                 sbci r21,hi8(-(DisplayBuff))
 1004 0862 24E1                 ldi r18,lo8(20)
 1005 0864 60E0                 ldi r22,lo8(0)
 1006 0866 805D                 subi r24,lo8(-(48))
 1007 0868 0E94 0000            call SendOutData
 1008                   .L132:
 1009 086c 8091 0000            lds r24,GetVersionAnforderung
 1010 0870 8823                 tst r24
 1011 0872 01F0                 breq .L139
 1012 0874 8091 0000            lds r24,UebertragungAbgeschlossen
 1013 0878 8823                 tst r24
 1014 087a 01F0                 breq .L139
 1015 087c 2AE0                 ldi r18,lo8(10)
 1016 087e 40E0                 ldi r20,lo8(VersionInfo)
 1017 0880 50E0                 ldi r21,hi8(VersionInfo)
 1018 0882 6091 0000            lds r22,MeineSlaveAdresse
 1019 0886 86E5                 ldi r24,lo8(86)
 1020 0888 0E94 0000            call SendOutData
 1021 088c 1092 0000            sts GetVersionAnforderung,__zero_reg__
 1022                   .L139:
 1023 0890 0895                 ret
 1024                   /* epilogue: frame size=0 */
 1025                   /* epilogue: noreturn */
 1026                   /* epilogue end (size=0) */
 1027                   /* function DatenUebertragung size 110 (110) */
 1029                   .global BearbeiteRxDaten
 1031                   BearbeiteRxDaten:
 1032                   /* prologue: frame size=2 */
 1033 0892 1F93                 push r17
 1034 0894 CF93                 push r28
 1035 0896 DF93                 push r29
 1036 0898 CDB7                 in r28,__SP_L__
 1037 089a DEB7                 in r29,__SP_H__
 1038 089c 2297                 sbiw r28,2
 1039 089e 0FB6                 in __tmp_reg__,__SREG__
 1040 08a0 F894                 cli
 1041 08a2 DEBF                 out __SP_H__,r29
 1042 08a4 0FBE                 out __SREG__,__tmp_reg__
 1043 08a6 CDBF                 out __SP_L__,r28
 1044                   /* prologue end (size=11) */
 1045 08a8 8091 0000            lds r24,NeuerDatensatzEmpfangen
 1046 08ac 8823                 tst r24
 1047 08ae 01F4                 brne .+2
 1048 08b0 00C0                 rjmp .L156
 1049 08b2 8FEF                 ldi r24,lo8(-1)
 1050 08b4 8093 0000            sts PcZugriff,r24
 1051 08b8 8091 0000            lds r24,RxdBuffer+2
 1052 08bc 8137                 cpi r24,lo8(113)
 1053 08be 00F4                 brsh .L151
 1054 08c0 8C36                 cpi r24,lo8(108)
 1055 08c2 00F0                 brlo .+2
 1056 08c4 00C0                 rjmp .L147
 1057 08c6 8736                 cpi r24,lo8(103)
 1058 08c8 01F4                 brne .+2
 1059 08ca 00C0                 rjmp .L145
 1060 08cc 8836                 cpi r24,lo8(104)
 1061 08ce 01F0                 breq .L146
 1062 08d0 8336                 cpi r24,lo8(99)
 1063 08d2 01F0                 breq .+2
 1064 08d4 00C0                 rjmp .L143
 1065 08d6 00C0                 rjmp .L144
 1066                   .L151:
 1067 08d8 8437                 cpi r24,lo8(116)
 1068 08da 01F0                 breq .L149
 1069 08dc 8637                 cpi r24,lo8(118)
 1070 08de 01F0                 breq .L150
 1071 08e0 8137                 cpi r24,lo8(113)
 1072 08e2 01F0                 breq .+2
 1073 08e4 00C0                 rjmp .L143
 1074 08e6 00C0                 rjmp .L148
 1075                   .L144:
 1076 08e8 2091 0000            lds r18,AnzahlEmpfangsBytes
 1077 08ec 43E0                 ldi r20,lo8(3)
 1078 08ee 6BE0                 ldi r22,lo8(11)
 1079 08f0 80E0                 ldi r24,lo8(DebugIn)
 1080 08f2 90E0                 ldi r25,hi8(DebugIn)
 1081 08f4 0E94 0000            call Decode64
 1082 08f8 8091 0000            lds r24,RemoteTasten
 1083 08fc 9091 0000            lds r25,DebugIn+2
 1084 0900 892B                 or r24,r25
 1085 0902 8093 0000            sts RemoteTasten,r24
 1086 0906 81E0                 ldi r24,lo8(1)
 1087 0908 8093 0000            sts DebugDataAnforderung,r24
 1088 090c 00C0                 rjmp .L143
 1089                   .L146:
 1090 090e 2091 0000            lds r18,AnzahlEmpfangsBytes
 1091 0912 43E0                 ldi r20,lo8(3)
 1092 0914 62E0                 ldi r22,lo8(2)
 1093 0916 CE01                 movw r24,r28
 1094 0918 0196                 adiw r24,1
 1095 091a 0E94 0000            call Decode64
 1096 091e 8091 0000            lds r24,RemoteTasten
 1097 0922 9981                 ldd r25,Y+1
 1098 0924 892B                 or r24,r25
 1099 0926 8093 0000            sts RemoteTasten,r24
 1100 092a 81E0                 ldi r24,lo8(1)
 1101 092c 8093 0000            sts DebugDisplayAnforderung,r24
 1102 0930 00C0                 rjmp .L143
 1103                   .L149:
 1104 0932 2091 0000            lds r18,AnzahlEmpfangsBytes
 1105 0936 43E0                 ldi r20,lo8(3)
 1106 0938 64E0                 ldi r22,lo8(4)
 1107 093a 80E0                 ldi r24,lo8(MotorTest)
 1108 093c 90E0                 ldi r25,hi8(MotorTest)
 1109 093e 0E94 0000            call Decode64
 1110 0942 00C0                 rjmp .L143
 1111                   .L150:
 1112 0944 81E0                 ldi r24,lo8(1)
 1113 0946 8093 0000            sts GetVersionAnforderung,r24
 1114 094a 00C0                 rjmp .L143
 1115                   .L145:
 1116 094c 81E0                 ldi r24,lo8(1)
 1117 094e 8093 0000            sts DebugGetAnforderung,r24
 1118 0952 00C0                 rjmp .L143
 1119                   .L148:
 1120 0954 2091 0000            lds r18,AnzahlEmpfangsBytes
 1121 0958 43E0                 ldi r20,lo8(3)
 1122 095a 62E0                 ldi r22,lo8(2)
 1123 095c CE01                 movw r24,r28
 1124 095e 0196                 adiw r24,1
 1125 0960 0E94 0000            call Decode64
 1126 0964 8981                 ldd r24,Y+1
 1127 0966 8F3F                 cpi r24,lo8(-1)
 1128 0968 01F0                 breq .L152
 1129 096a 8630                 cpi r24,lo8(6)
 1130 096c 00F0                 brlo .L154
 1131 096e 85E0                 ldi r24,lo8(5)
 1132 0970 8983                 std Y+1,r24
 1133                   .L154:
 1134 0972 4AE3                 ldi r20,lo8(58)
 1135 0974 60E0                 ldi r22,lo8(EE_Parameter)
 1136 0976 70E0                 ldi r23,hi8(EE_Parameter)
 1137 0978 8981                 ldd r24,Y+1
 1138 097a 0E94 0000            call ReadParameterSet
 1139 097e 8981                 ldd r24,Y+1
 1140 0980 2AE3                 ldi r18,lo8(58)
 1141 0982 40E0                 ldi r20,lo8(EE_Parameter)
 1142 0984 50E0                 ldi r21,hi8(EE_Parameter)
 1143 0986 6091 0000            lds r22,MeineSlaveAdresse
 1144 098a 00C0                 rjmp .L157
 1145                   .L152:
 1146 098c 1091 0000            lds r17,MeineSlaveAdresse
 1147 0990 0E94 0000            call GetActiveParamSetNumber
 1148 0994 2AE3                 ldi r18,lo8(58)
 1149 0996 40E0                 ldi r20,lo8(EE_Parameter)
 1150 0998 50E0                 ldi r21,hi8(EE_Parameter)
 1151 099a 612F                 mov r22,r17
 1152                   .L157:
 1153 099c 855B                 subi r24,lo8(-(75))
 1154 099e 0E94 0000            call SendOutData
 1155 09a2 00C0                 rjmp .L143
 1156                   .L147:
 1157 09a4 2091 0000            lds r18,AnzahlEmpfangsBytes
 1158 09a8 43E0                 ldi r20,lo8(3)
 1159 09aa 6AE3                 ldi r22,lo8(58)
 1160 09ac 80E0                 ldi r24,lo8(EE_Parameter)
 1161 09ae 90E0                 ldi r25,hi8(EE_Parameter)
 1162 09b0 0E94 0000            call Decode64
 1163 09b4 8091 0000            lds r24,RxdBuffer+2
 1164 09b8 4AE3                 ldi r20,lo8(58)
 1165 09ba 60E0                 ldi r22,lo8(EE_Parameter)
 1166 09bc 70E0                 ldi r23,hi8(EE_Parameter)
 1167 09be 8B56                 subi r24,lo8(-(-107))
 1168 09c0 0E94 0000            call WriteParameterSet
 1169 09c4 8091 0000            lds r24,RxdBuffer+2
 1170 09c8 8B56                 subi r24,lo8(-(-107))
 1171 09ca A0E0                 ldi r26,lo8(EEPromArray+2)
 1172 09cc B0E0                 ldi r27,hi8(EEPromArray+2)
 1173                   /* #APP */
 1174 09ce 082E                 mov __tmp_reg__,r24
 1175 09d0 0E94 0000            call __eeprom_write_byte_1F2021
 1176                   /* #NOAPP */
 1177 09d4 0E94 0000            call GetActiveParamSetNumber
 1178 09d8 9927                 clr r25
 1179 09da 0E94 0000            call Piep
 1180                   .L143:
 1181 09de 1092 0000            sts NeuerDatensatzEmpfangen,__zero_reg__
 1182                   .L156:
 1183                   /* epilogue: frame size=2 */
 1184 09e2 2296                 adiw r28,2
 1185 09e4 0FB6                 in __tmp_reg__,__SREG__
 1186 09e6 F894                 cli
 1187 09e8 DEBF                 out __SP_H__,r29
 1188 09ea 0FBE                 out __SREG__,__tmp_reg__
 1189 09ec CDBF                 out __SP_L__,r28
 1190 09ee DF91                 pop r29
 1191 09f0 CF91                 pop r28
 1192 09f2 1F91                 pop r17
 1193 09f4 0895                 ret
 1194                   /* epilogue end (size=10) */
 1195                   /* function BearbeiteRxDaten size 179 (158) */
 1197                   .global DebugGetAnforderung
 1198                   .global DebugGetAnforderung
 1199                           .section .bss
 1202                   DebugGetAnforderung:
 1203 0000 00                   .skip 1,0
 1204                   .global DebugDisplayAnforderung
 1205                   .global DebugDisplayAnforderung
 1208                   DebugDisplayAnforderung:
 1209 0001 00                   .skip 1,0
 1210                   .global DebugDataAnforderung
 1211                   .global DebugDataAnforderung
 1214                   DebugDataAnforderung:
 1215 0002 00                   .skip 1,0
 1216                   .global GetVersionAnforderung
 1217                   .global GetVersionAnforderung
 1220                   GetVersionAnforderung:
 1221 0003 00                   .skip 1,0
 1222                   .global SioTmp
 1223                   .global SioTmp
 1226                   SioTmp:
 1227 0004 00                   .skip 1,0
 1228                   .global NeuerDatensatzEmpfangen
 1229                   .global NeuerDatensatzEmpfangen
 1232                   NeuerDatensatzEmpfangen:
 1233 0005 00                   .skip 1,0
 1234                   .global NeueKoordinateEmpfangen
 1235                   .global NeueKoordinateEmpfangen
 1238                   NeueKoordinateEmpfangen:
 1239 0006 00                   .skip 1,0
 1240                   .global UebertragungAbgeschlossen
 1241                           .data
 1244                   UebertragungAbgeschlossen:
 1245 0000 01                   .byte   1
 1246                   .global CntCrcError
 1247                   .global CntCrcError
 1248                           .section .bss
 1251                   CntCrcError:
 1252 0007 00                   .skip 1,0
 1253                   .global AnzahlEmpfangsBytes
 1254                   .global AnzahlEmpfangsBytes
 1257                   AnzahlEmpfangsBytes:
 1258 0008 00                   .skip 1,0
 1259                   .global PC_DebugTimeout
 1260                   .global PC_DebugTimeout
 1263                   PC_DebugTimeout:
 1264 0009 00                   .skip 1,0
 1265                   .global PcZugriff
 1266                           .data
 1269                   PcZugriff:
 1270 0001 64                   .byte   100
 1271                   .global MotorTest
 1272                   .global MotorTest
 1273                           .section .bss
 1276                   MotorTest:
 1277 000a 0000 0000            .skip 4,0
 1278                           .lcomm dis_zeile.2398,1
 1279                           .lcomm UartState.2075,1
 1280                           .lcomm buf_ptr.2074,1
 1281                           .lcomm crc2.2073,1
 1282                           .lcomm crc1.2072,1
 1283                           .lcomm crc.2071,2
 1284                           .lcomm ptr.2038,2
 1285                           .lcomm gpsState,1
 1286                           .comm DiffNick,2,1
 1287                           .comm DiffRoll,2,1
 1288                           .comm SenderOkay,1,1
 1289                           .comm CosinusNickWinkel,1,1
 1290                           .comm CosinusRollWinkel,1,1
 1291                           .comm durchschnitt_northing,4,1
 1292                           .comm durchschnitt_easting,4,1
 1293                           .comm gps_p,2,1
 1294                           .comm gps_d,2,1
 1295                           .comm skal,2,1
 1296                           .comm SendeBuffer,150,1
 1297                           .comm RxdBuffer,150,1
 1298                           .comm MeineSlaveAdresse,1,1
 1299                           .comm Debug_Timer,2,1
 1300                           .comm DebugOut,50,1
 1301                           .comm actualPos,34,1
 1302                           .comm DebugIn,11,1
 1303                           .comm VersionInfo,10,1
 1304                           .comm RemoteTasten,1,1
 1305                           .comm Timeout,1,1
 1306                           .comm IntegralNick,4,1
 1307                           .comm IntegralNick2,4,1
 1308                           .comm IntegralRoll,4,1
 1309                           .comm IntegralRoll2,4,1
 1310                           .comm Mess_IntegralNick,4,1
 1311                           .comm Mess_IntegralNick2,4,1
 1312                           .comm Mess_IntegralRoll,4,1
 1313                           .comm Mess_IntegralRoll2,4,1
 1314                           .comm Integral_Gier,4,1
 1315                           .comm Mess_Integral_Gier,4,1
 1316                           .comm h,1,1
 1317                           .comm m,1,1
 1318                           .comm s,1,1
 1319                           .comm Motor_Vorne,1,1
 1320                           .comm Motor_Hinten,1,1
 1321                           .comm Motor_Rechts,1,1
 1322                           .comm Motor_Links,1,1
 1323                           .comm Count,1,1
 1324                           .comm MotorWert,5,1
 1325                           .comm StickNick,2,1
 1326                           .comm StickRoll,2,1
 1327                           .comm StickGier,2,1
 1328                           .comm MotorenEin,1,1
 1329                           .comm NMEABuffer,150,1
 1330                           .comm navStatus,17,1
 1331                           .comm navPosLlh,29,1
 1332                           .comm navPosUtm,19,1
 1333                           .comm navVelNed,37,1
 1334                           .comm ubxP,2,1
 1335                           .comm ubxEp,2,1
 1336                           .comm ubxSp,2,1
 1337                           .comm CK_A,1,1
 1338                           .comm CK_B,1,1
 1339                           .comm msgLen,2,1
 1340                           .comm msgID,1,1
 1341                           .comm ignorePacket,1,1
 1342                           .comm rollOffset,4,1
 1343                           .comm nickOffset,4,1
 1344                   /* File "uart.c": code 1286 = 0x0506 (1183), prologues  49, epilogues  54 */
DEFINED SYMBOLS
                            *ABS*:00000000 uart.c
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:3      *ABS*:0000003f __SREG__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:4      *ABS*:0000003e __SP_H__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:5      *ABS*:0000003d __SP_L__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:6      *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:7      *ABS*:00000001 __zero_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:13     .text:00000000 __vector_22
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1244   .data:00000000 UebertragungAbgeschlossen
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1283   .bss:00000015 ptr.2038
                            *COM*:00000096 SendeBuffer
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:69     .text:0000006c GPSscanData
                            *COM*:00000011 navStatus
                            *COM*:00000022 actualPos
                            *COM*:00000013 navPosUtm
                            *COM*:0000001d navPosLlh
                            *COM*:00000025 navVelNed
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:162    .text:00000174 __vector_20
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1226   .bss:00000004 SioTmp
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1284   .bss:00000017 gpsState
                            *COM*:00000001 msgID
                            *COM*:00000001 CK_A
                            *COM*:00000001 CK_B
                            *COM*:00000002 ubxP
                            *COM*:00000002 ubxEp
                            *COM*:00000002 ubxSp
                            *COM*:00000001 ignorePacket
                            *COM*:00000002 msgLen
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1279   .bss:00000010 buf_ptr.2074
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1278   .bss:0000000f UartState.2075
                            *COM*:00000096 RxdBuffer
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1282   .bss:00000013 crc.2071
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1281   .bss:00000012 crc1.2072
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1280   .bss:00000011 crc2.2073
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1251   .bss:00000007 CntCrcError
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1232   .bss:00000005 NeuerDatensatzEmpfangen
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1257   .bss:00000008 AnzahlEmpfangsBytes
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:601    .text:0000057c AddCRC
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:655    .text:000005d8 SendOutData
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:769    .text:000006a8 Decode64
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:869    .text:00000758 uart_putchar
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:893    .text:0000077a WriteProgramData
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:903    .text:0000077c UART_Init
                            *COM*:00000002 Debug_Timer
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:936    .text:000007b6 DatenUebertragung
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1202   .bss:00000000 DebugGetAnforderung
                            *COM*:0000000b DebugIn
                            *COM*:00000001 MeineSlaveAdresse
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1214   .bss:00000002 DebugDataAnforderung
                            *COM*:00000032 DebugOut
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1208   .bss:00000001 DebugDisplayAnforderung
                             .bss:0000000e dis_zeile.2398
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1220   .bss:00000003 GetVersionAnforderung
                            *COM*:0000000a VersionInfo
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1031   .text:00000892 BearbeiteRxDaten
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1269   .data:00000001 PcZugriff
                            *COM*:00000001 RemoteTasten
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1276   .bss:0000000a MotorTest
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1238   .bss:00000006 NeueKoordinateEmpfangen
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1263   .bss:00000009 PC_DebugTimeout
                            *COM*:00000002 DiffNick
                            *COM*:00000002 DiffRoll
                            *COM*:00000001 SenderOkay
                            *COM*:00000001 CosinusNickWinkel
                            *COM*:00000001 CosinusRollWinkel
                            *COM*:00000004 durchschnitt_northing
                            *COM*:00000004 durchschnitt_easting
                            *COM*:00000002 gps_p
                            *COM*:00000002 gps_d
                            *COM*:00000002 skal
                            *COM*:00000001 Timeout
                            *COM*:00000004 IntegralNick
                            *COM*:00000004 IntegralNick2
                            *COM*:00000004 IntegralRoll
                            *COM*:00000004 IntegralRoll2
                            *COM*:00000004 Mess_IntegralNick
                            *COM*:00000004 Mess_IntegralNick2
                            *COM*:00000004 Mess_IntegralRoll
                            *COM*:00000004 Mess_IntegralRoll2
                            *COM*:00000004 Integral_Gier
                            *COM*:00000004 Mess_Integral_Gier
                            *COM*:00000001 h
                            *COM*:00000001 m
                            *COM*:00000001 s
                            *COM*:00000001 Motor_Vorne
                            *COM*:00000001 Motor_Hinten
                            *COM*:00000001 Motor_Rechts
                            *COM*:00000001 Motor_Links
                            *COM*:00000001 Count
                            *COM*:00000005 MotorWert
                            *COM*:00000002 StickNick
                            *COM*:00000002 StickRoll
                            *COM*:00000002 StickGier
                            *COM*:00000001 MotorenEin
                            *COM*:00000096 NMEABuffer
                            *COM*:00000004 rollOffset
                            *COM*:00000004 nickOffset

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__divmodsi4
SetDelay
CheckDelay
Menu
DisplayBuff
EE_Parameter
ReadParameterSet
GetActiveParamSetNumber
WriteParameterSet
EEPromArray
__eeprom_write_byte_1F2021
Piep