Subversion Repositories FlightCtrl

Rev

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