Subversion Repositories FlightCtrl

Rev

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