Subversion Repositories FlightCtrl

Rev

Rev 36 | Blame | Last modification | View Log | RSS feed

   1                            .file   "printf_P.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 Putchar
  13                    Putchar:
  14                    /* prologue: frame size=0 */
  15                    /* prologue end (size=0) */
  16 0000 982F                  mov r25,r24
  17 0002 8091 0000             lds r24,PrintZiel
  18 0006 8130                  cpi r24,lo8(1)
  19 0008 01F4                  brne .L2
  20 000a 8091 0000             lds r24,DispPtr
  21 000e E82F                  mov r30,r24
  22 0010 FF27                  clr r31
  23 0012 E050                  subi r30,lo8(-(DisplayBuff))
  24 0014 F040                  sbci r31,hi8(-(DisplayBuff))
  25 0016 9083                  st Z,r25
  26 0018 8F5F                  subi r24,lo8(-(1))
  27 001a 8093 0000             sts DispPtr,r24
  28 001e 21E0                  ldi r18,lo8(1)
  29 0020 30E0                  ldi r19,hi8(1)
  30 0022 00C0                  rjmp .L4
  31                    .L2:
  32 0024 892F                  mov r24,r25
  33 0026 0E94 0000             call uart_putchar
  34 002a 282F                  mov r18,r24
  35 002c 3327                  clr r19
  36                    .L4:
  37 002e C901                  movw r24,r18
  38                    /* epilogue: frame size=0 */
  39 0030 0895                  ret
  40                    /* epilogue end (size=1) */
  41                    /* function Putchar size 25 (24) */
  43                    .global PAD_0
  45                    PAD_0:
  46                    /* prologue: frame size=0 */
  47 0032 1F93                  push r17
  48                    /* prologue end (size=1) */
  49 0034 182F                  mov r17,r24
  50 0036 00C0                  rjmp .L7
  51                    .L8:
  52 0038 80E3                  ldi r24,lo8(48)
  53 003a 0E94 0000             call Putchar
  54 003e 1150                  subi r17,lo8(-(-1))
  55                    .L7:
  56 0040 1116                  cp __zero_reg__,r17
  57 0042 04F0                  brlt .L8
  58                    /* epilogue: frame size=0 */
  59 0044 1F91                  pop r17
  60 0046 0895                  ret
  61                    /* epilogue end (size=2) */
  62                    /* function PAD_0 size 11 (8) */
  64                    .global PAD_SP
  66                    PAD_SP:
  67                    /* prologue: frame size=0 */
  68 0048 1F93                  push r17
  69                    /* prologue end (size=1) */
  70 004a 182F                  mov r17,r24
  71 004c 00C0                  rjmp .L12
  72                    .L13:
  73 004e 80E2                  ldi r24,lo8(32)
  74 0050 0E94 0000             call Putchar
  75 0054 1150                  subi r17,lo8(-(-1))
  76                    .L12:
  77 0056 1116                  cp __zero_reg__,r17
  78 0058 04F0                  brlt .L13
  79                    /* epilogue: frame size=0 */
  80 005a 1F91                  pop r17
  81 005c 0895                  ret
  82                    /* epilogue end (size=2) */
  83                    /* function PAD_SP size 11 (8) */
  85                    .global PRINTP
  87                    PRINTP:
  88                    /* prologue: frame size=0 */
  89 005e 0F93                  push r16
  90 0060 1F93                  push r17
  91 0062 CF93                  push r28
  92 0064 DF93                  push r29
  93                    /* prologue end (size=4) */
  94 0066 8C01                  movw r16,r24
  95 0068 EB01                  movw r28,r22
  96 006a 00C0                  rjmp .L17
  97                    .L18:
  98 006c F801                  movw r30,r16
  99 006e 0F5F                  subi r16,lo8(-(1))
 100 0070 1F4F                  sbci r17,hi8(-(1))
 101                    /* #APP */
 102 0072 E491                  lpm r30, Z
 103                            
 104                    /* #NOAPP */
 105 0074 8E2F                  mov r24,r30
 106 0076 0E94 0000             call Putchar
 107 007a 2197                  sbiw r28,1
 108                    .L17:
 109 007c 2097                  sbiw r28,0
 110 007e 01F4                  brne .L18
 111                    /* epilogue: frame size=0 */
 112 0080 DF91                  pop r29
 113 0082 CF91                  pop r28
 114 0084 1F91                  pop r17
 115 0086 0F91                  pop r16
 116 0088 0895                  ret
 117                    /* epilogue end (size=5) */
 118                    /* function PRINTP size 25 (16) */
 120                    .global PRINT
 122                    PRINT:
 123                    /* prologue: frame size=0 */
 124 008a 0F93                  push r16
 125 008c 1F93                  push r17
 126 008e CF93                  push r28
 127 0090 DF93                  push r29
 128                    /* prologue end (size=4) */
 129 0092 8C01                  movw r16,r24
 130 0094 EB01                  movw r28,r22
 131 0096 00C0                  rjmp .L22
 132                    .L23:
 133 0098 F801                  movw r30,r16
 134 009a 8191                  ld r24,Z+
 135 009c 8F01                  movw r16,r30
 136 009e 0E94 0000             call Putchar
 137 00a2 2197                  sbiw r28,1
 138                    .L22:
 139 00a4 2097                  sbiw r28,0
 140 00a6 01F4                  brne .L23
 141                    /* epilogue: frame size=0 */
 142 00a8 DF91                  pop r29
 143 00aa CF91                  pop r28
 144 00ac 1F91                  pop r17
 145 00ae 0F91                  pop r16
 146 00b0 0895                  ret
 147                    /* epilogue end (size=5) */
 148                    /* function PRINT size 20 (11) */
 150                    .global _printf_P
 152                    _printf_P:
 153                    /* prologue: frame size=51 */
 154 00b2 2F92                  push r2
 155 00b4 3F92                  push r3
 156 00b6 4F92                  push r4
 157 00b8 5F92                  push r5
 158 00ba 6F92                  push r6
 159 00bc 7F92                  push r7
 160 00be 8F92                  push r8
 161 00c0 9F92                  push r9
 162 00c2 AF92                  push r10
 163 00c4 BF92                  push r11
 164 00c6 CF92                  push r12
 165 00c8 DF92                  push r13
 166 00ca EF92                  push r14
 167 00cc FF92                  push r15
 168 00ce 0F93                  push r16
 169 00d0 1F93                  push r17
 170 00d2 CF93                  push r28
 171 00d4 DF93                  push r29
 172 00d6 CDB7                  in r28,__SP_L__
 173 00d8 DEB7                  in r29,__SP_H__
 174 00da E397                  sbiw r28,51
 175 00dc 0FB6                  in __tmp_reg__,__SREG__
 176 00de F894                  cli
 177 00e0 DEBF                  out __SP_H__,r29
 178 00e2 0FBE                  out __SREG__,__tmp_reg__
 179 00e4 CDBF                  out __SP_L__,r28
 180                    /* prologue end (size=26) */
 181 00e6 2996                  adiw r28,72-63
 182 00e8 8FAD                  ldd r24,Y+63
 183 00ea 2997                  sbiw r28,72-63
 184 00ec 8093 0000             sts PrintZiel,r24
 185 00f0 CE01                  movw r24,r28
 186 00f2 855B                  subi r24,lo8(-(75))
 187 00f4 9F4F                  sbci r25,hi8(-(75))
 188 00f6 9D83                  std Y+5,r25
 189 00f8 8C83                  std Y+4,r24
 190 00fa 2B96                  adiw r28,73-62
 191 00fc 8EAD                  ldd r24,Y+62
 192 00fe 9FAD                  ldd r25,Y+63
 193 0100 2B97                  sbiw r28,73-62
 194 0102 9FA7                  std Y+47,r25
 195 0104 8EA7                  std Y+46,r24
 196 0106 2224                  clr r2
 197 0108 3324                  clr r3
 198 010a 2101                  movw r4,r2
 199 010c 00C0                  rjmp .L27
 200                    .L28:
 201 010e 1301                  movw r2,r6
 202 0110 2401                  movw r4,r8
 203                    .L27:
 204 0112 0EA5                  ldd r16,Y+46
 205 0114 1FA5                  ldd r17,Y+47
 206 0116 00C0                  rjmp .L29
 207                    .L30:
 208 0118 0F5F                  subi r16,lo8(-(1))
 209 011a 1F4F                  sbci r17,hi8(-(1))
 210                    .L29:
 211 011c F801                  movw r30,r16
 212                    /* #APP */
 213 011e F490                  lpm r15, Z
 214                            
 215                    /* #NOAPP */
 216 0120 FF20                  tst r15
 217 0122 01F0                  breq .L31
 218 0124 F5E2                  ldi r31,lo8(37)
 219 0126 FF16                  cp r15,r31
 220 0128 01F4                  brne .L30
 221                    .L31:
 222 012a B801                  movw r22,r16
 223 012c 8EA5                  ldd r24,Y+46
 224 012e 9FA5                  ldd r25,Y+47
 225 0130 681B                  sub r22,r24
 226 0132 790B                  sbc r23,r25
 227 0134 01F0                  breq .L33
 228 0136 0E94 0000             call PRINTP
 229                    .L33:
 230 013a FF20                  tst r15
 231 013c 01F4                  brne .+2
 232 013e 00C0                  rjmp .L152
 233 0140 0F5F                  subi r16,lo8(-(1))
 234 0142 1F4F                  sbci r17,hi8(-(1))
 235 0144 1FA7                  std Y+47,r17
 236 0146 0EA7                  std Y+46,r16
 237 0148 1982                  std Y+1,__zero_reg__
 238 014a AC81                  ldd r26,Y+4
 239 014c BD81                  ldd r27,Y+5
 240 014e 1BAA                  std Y+51,__zero_reg__
 241 0150 1AAA                  std Y+50,__zero_reg__
 242 0152 9FEF                  ldi r25,lo8(-1)
 243 0154 99AB                  std Y+49,r25
 244                    .L174:
 245 0156 EEA5                  ldd r30,Y+46
 246 0158 FFA5                  ldd r31,Y+47
 247 015a CF01                  movw r24,r30
 248 015c 0196                  adiw r24,1
 249 015e 9FA7                  std Y+47,r25
 250 0160 8EA7                  std Y+46,r24
 251                    /* #APP */
 252 0162 B490                  lpm r11, Z
 253                            
 254                    /* #NOAPP */
 255                    .L175:
 256 0164 95E7                  ldi r25,lo8(117)
 257 0166 B916                  cp r11,r25
 258 0168 01F0                  breq .L39
 259 016a 8B2D                  mov r24,r11
 260 016c 8062                  ori r24,lo8(32)
 261 016e 8837                  cpi r24,lo8(120)
 262 0170 01F4                  brne .L41
 263                    .L39:
 264 0172 EBA9                  ldd r30,Y+51
 265 0174 E0FF                  sbrs r30,0
 266 0176 00C0                  rjmp .L42
 267 0178 2D90                  ld r2,X+
 268 017a 3D90                  ld r3,X+
 269 017c 4D90                  ld r4,X+
 270 017e 5C90                  ld r5,X
 271 0180 1397                  sbiw r26,3
 272 0182 1496                  adiw r26,4
 273 0184 00C0                  rjmp .L41
 274                    .L42:
 275 0186 8D91                  ld r24,X+
 276 0188 9C91                  ld r25,X
 277 018a 1197                  sbiw r26,1
 278 018c 1C01                  movw r2,r24
 279 018e 4424                  clr r4
 280 0190 5524                  clr r5
 281 0192 1296                  adiw r26,2
 282                    .L41:
 283 0194 F0E2                  ldi r31,lo8(32)
 284 0196 BF16                  cp r11,r31
 285 0198 01F4                  brne .L44
 286 019a 8981                  ldd r24,Y+1
 287 019c 8823                  tst r24
 288 019e 01F4                  brne .L174
 289 01a0 00C0                  rjmp .L156
 290                    .L44:
 291 01a2 83E2                  ldi r24,lo8(35)
 292 01a4 B816                  cp r11,r24
 293 01a6 01F4                  brne .+2
 294 01a8 00C0                  rjmp .L155
 295 01aa 9AE2                  ldi r25,lo8(42)
 296 01ac B916                  cp r11,r25
 297 01ae 01F0                  breq .L49
 298 01b0 EDE2                  ldi r30,lo8(45)
 299 01b2 BE16                  cp r11,r30
 300 01b4 01F4                  brne .L164
 301 01b6 00C0                  rjmp .L51
 302                    .L49:
 303 01b8 FD01                  movw r30,r26
 304 01ba 1296                  adiw r26,2
 305 01bc E081                  ld r30,Z
 306 01be EAAB                  std Y+50,r30
 307 01c0 E7FF                  sbrs r30,7
 308 01c2 00C0                  rjmp .L174
 309 01c4 E195                  neg r30
 310 01c6 EAAB                  std Y+50,r30
 311                    .L51:
 312 01c8 FBA9                  ldd r31,Y+51
 313 01ca F061                  ori r31,lo8(16)
 314 01cc FF7D                  andi r31,lo8(-33)
 315 01ce 00C0                  rjmp .L169
 316                    .L164:
 317 01d0 8BE2                  ldi r24,lo8(43)
 318 01d2 B816                  cp r11,r24
 319 01d4 01F4                  brne .+2
 320 01d6 00C0                  rjmp .L156
 321 01d8 9EE2                  ldi r25,lo8(46)
 322 01da B916                  cp r11,r25
 323 01dc 01F4                  brne .L56
 324 01de 2EA5                  ldd r18,Y+46
 325 01e0 3FA5                  ldd r19,Y+47
 326 01e2 2F5F                  subi r18,lo8(-(1))
 327 01e4 3F4F                  sbci r19,hi8(-(1))
 328 01e6 EEA5                  ldd r30,Y+46
 329 01e8 FFA5                  ldd r31,Y+47
 330                    /* #APP */
 331 01ea 8491                  lpm r24, Z
 332                            
 333                    /* #NOAPP */
 334 01ec 8A32                  cpi r24,lo8(42)
 335 01ee 01F0                  breq .L58
 336 01f0 B82E                  mov r11,r24
 337 01f2 20E0                  ldi r18,lo8(0)
 338 01f4 30E0                  ldi r19,hi8(0)
 339 01f6 00C0                  rjmp .L60
 340                    .L58:
 341 01f8 FD01                  movw r30,r26
 342 01fa 1296                  adiw r26,2
 343 01fc 4081                  ld r20,Z
 344 01fe 5181                  ldd r21,Z+1
 345 0200 57FF                  sbrs r21,7
 346 0202 00C0                  rjmp .L61
 347 0204 4FEF                  ldi r20,lo8(-1)
 348 0206 5FEF                  ldi r21,hi8(-1)
 349                    .L61:
 350 0208 49AB                  std Y+49,r20
 351 020a 3FA7                  std Y+47,r19
 352 020c 2EA7                  std Y+46,r18
 353 020e 00C0                  rjmp .L174
 354                    .L62:
 355 0210 C901                  movw r24,r18
 356 0212 03E0                  ldi r16,3
 357 0214 880F          1:      lsl r24
 358 0216 991F                  rol r25
 359 0218 0A95                  dec r16
 360 021a 01F4                  brne 1b
 361 021c 220F                  lsl r18
 362 021e 331F                  rol r19
 363 0220 280F                  add r18,r24
 364 0222 391F                  adc r19,r25
 365 0224 2B0D                  add r18,r11
 366 0226 311D                  adc r19,__zero_reg__
 367 0228 2053                  subi r18,lo8(-(-48))
 368 022a 3040                  sbci r19,hi8(-(-48))
 369                    /* #APP */
 370 022c B490                  lpm r11, Z
 371                            
 372                    /* #NOAPP */
 373                    .L60:
 374 022e 3196                  adiw r30,1
 375 0230 8B2D                  mov r24,r11
 376 0232 8053                  subi r24,lo8(-(-48))
 377 0234 8A30                  cpi r24,lo8(10)
 378 0236 00F0                  brlo .L62
 379 0238 FFA7                  std Y+47,r31
 380 023a EEA7                  std Y+46,r30
 381 023c A901                  movw r20,r18
 382 023e 37FF                  sbrs r19,7
 383 0240 00C0                  rjmp .L64
 384 0242 4FEF                  ldi r20,lo8(-1)
 385 0244 5FEF                  ldi r21,hi8(-1)
 386                    .L64:
 387 0246 49AB                  std Y+49,r20
 388 0248 00C0                  rjmp .L175
 389                    .L56:
 390 024a F0E3                  ldi r31,lo8(48)
 391 024c BF16                  cp r11,r31
 392 024e 01F4                  brne .L65
 393 0250 8BA9                  ldd r24,Y+51
 394 0252 84FD                  sbrc r24,4
 395 0254 00C0                  rjmp .L174
 396 0256 8062                  ori r24,lo8(32)
 397 0258 8BAB                  std Y+51,r24
 398 025a 00C0                  rjmp .L174
 399                    .L65:
 400 025c 8B2D                  mov r24,r11
 401 025e 8153                  subi r24,lo8(-(-49))
 402 0260 8930                  cpi r24,lo8(9)
 403 0262 00F4                  brsh .L68
 404 0264 20E0                  ldi r18,lo8(0)
 405 0266 30E0                  ldi r19,hi8(0)
 406                    .L70:
 407 0268 C901                  movw r24,r18
 408 026a F3E0                  ldi r31,3
 409 026c 880F          1:      lsl r24
 410 026e 991F                  rol r25
 411 0270 FA95                  dec r31
 412 0272 01F4                  brne 1b
 413 0274 220F                  lsl r18
 414 0276 331F                  rol r19
 415 0278 280F                  add r18,r24
 416 027a 391F                  adc r19,r25
 417 027c 2B0D                  add r18,r11
 418 027e 311D                  adc r19,__zero_reg__
 419 0280 2053                  subi r18,lo8(-(-48))
 420 0282 3040                  sbci r19,hi8(-(-48))
 421 0284 EEA5                  ldd r30,Y+46
 422 0286 FFA5                  ldd r31,Y+47
 423 0288 CF01                  movw r24,r30
 424 028a 0196                  adiw r24,1
 425 028c 9FA7                  std Y+47,r25
 426 028e 8EA7                  std Y+46,r24
 427                    /* #APP */
 428 0290 B490                  lpm r11, Z
 429                            
 430                    /* #NOAPP */
 431 0292 8B2D                  mov r24,r11
 432 0294 8053                  subi r24,lo8(-(-48))
 433 0296 8A30                  cpi r24,lo8(10)
 434 0298 00F0                  brlo .L70
 435 029a 2AAB                  std Y+50,r18
 436 029c 00C0                  rjmp .L175
 437                    .L68:
 438 029e 98E6                  ldi r25,lo8(104)
 439 02a0 B916                  cp r11,r25
 440 02a2 01F4                  brne .L72
 441 02a4 EBA9                  ldd r30,Y+51
 442 02a6 E460                  ori r30,lo8(4)
 443 02a8 EBAB                  std Y+51,r30
 444 02aa 00C0                  rjmp .L174
 445                    .L156:
 446 02ac B982                  std Y+1,r11
 447 02ae 00C0                  rjmp .L174
 448                    .L155:
 449 02b0 FBA9                  ldd r31,Y+51
 450 02b2 F860                  ori r31,lo8(8)
 451                    .L169:
 452 02b4 FBAB                  std Y+51,r31
 453 02b6 00C0                  rjmp .L174
 454                    .L72:
 455 02b8 8CE6                  ldi r24,lo8(108)
 456 02ba B816                  cp r11,r24
 457 02bc 01F4                  brne .L74
 458 02be 9BA9                  ldd r25,Y+51
 459 02c0 9160                  ori r25,lo8(1)
 460 02c2 9BAB                  std Y+51,r25
 461 02c4 00C0                  rjmp .L174
 462                    .L74:
 463 02c6 BD83                  std Y+5,r27
 464 02c8 AC83                  std Y+4,r26
 465 02ca E3E6                  ldi r30,lo8(99)
 466 02cc BE16                  cp r11,r30
 467 02ce 01F4                  brne .L76
 468 02d0 1296                  adiw r26,2
 469 02d2 BD83                  std Y+5,r27
 470 02d4 AC83                  std Y+4,r26
 471 02d6 1297                  sbiw r26,2
 472 02d8 8C91                  ld r24,X
 473 02da 8E83                  std Y+6,r24
 474 02dc 00C0                  rjmp .L173
 475                    .L76:
 476 02de F4E4                  ldi r31,lo8(68)
 477 02e0 BF16                  cp r11,r31
 478 02e2 01F0                  breq .L79
 479 02e4 84E6                  ldi r24,lo8(100)
 480 02e6 B816                  cp r11,r24
 481 02e8 01F0                  breq .L81
 482 02ea 99E6                  ldi r25,lo8(105)
 483 02ec B916                  cp r11,r25
 484 02ee 01F4                  brne .L166
 485 02f0 00C0                  rjmp .L81
 486                    .L79:
 487 02f2 EBA9                  ldd r30,Y+51
 488 02f4 E160                  ori r30,lo8(1)
 489 02f6 EBAB                  std Y+51,r30
 490                    .L81:
 491 02f8 FBA9                  ldd r31,Y+51
 492 02fa F0FF                  sbrs r31,0
 493 02fc 00C0                  rjmp .L84
 494 02fe 1496                  adiw r26,4
 495 0300 BD83                  std Y+5,r27
 496 0302 AC83                  std Y+4,r26
 497 0304 5E90                  ld r5,-X
 498 0306 4E90                  ld r4,-X
 499 0308 3E90                  ld r3,-X
 500 030a 2E90                  ld r2,-X
 501 030c 00C0                  rjmp .L86
 502                    .L84:
 503 030e 1296                  adiw r26,2
 504 0310 BD83                  std Y+5,r27
 505 0312 AC83                  std Y+4,r26
 506 0314 9E91                  ld r25,-X
 507 0316 8E91                  ld r24,-X
 508 0318 1C01                  movw r2,r24
 509 031a 4424                  clr r4
 510 031c 37FC                  sbrc r3,7
 511 031e 4094                  com r4
 512 0320 542C                  mov r5,r4
 513                    .L86:
 514 0322 57FC                  sbrc r5,7
 515 0324 00C0                  rjmp .L87
 516 0326 8AE0                  ldi r24,lo8(10)
 517 0328 88AB                  std Y+48,r24
 518 032a 00C0                  rjmp .L89
 519                    .L87:
 520 032c 5094                  com r5
 521 032e 4094                  com r4
 522 0330 3094                  com r3
 523 0332 2094                  com r2
 524 0334 211C                  adc r2,__zero_reg__
 525 0336 311C                  adc r3,__zero_reg__
 526 0338 411C                  adc r4,__zero_reg__
 527 033a 511C                  adc r5,__zero_reg__
 528 033c 8DE2                  ldi r24,lo8(45)
 529 033e 8983                  std Y+1,r24
 530 0340 9AE0                  ldi r25,lo8(10)
 531 0342 98AB                  std Y+48,r25
 532 0344 00C0                  rjmp .L89
 533                    .L166:
 534 0346 EFE4                  ldi r30,lo8(79)
 535 0348 BE16                  cp r11,r30
 536 034a 01F0                  breq .L90
 537 034c FFE6                  ldi r31,lo8(111)
 538 034e BF16                  cp r11,r31
 539 0350 01F4                  brne .L92
 540 0352 88E0                  ldi r24,lo8(8)
 541 0354 00C0                  rjmp .L170
 542                    .L90:
 543 0356 9BA9                  ldd r25,Y+51
 544 0358 9160                  ori r25,lo8(1)
 545 035a 9BAB                  std Y+51,r25
 546 035c E8E0                  ldi r30,lo8(8)
 547 035e 00C0                  rjmp .L171
 548                    .L92:
 549 0360 F0E7                  ldi r31,lo8(112)
 550 0362 BF16                  cp r11,r31
 551 0364 01F4                  brne .L95
 552 0366 1296                  adiw r26,2
 553 0368 BD83                  std Y+5,r27
 554 036a AC83                  std Y+4,r26
 555 036c 9E91                  ld r25,-X
 556 036e 8E91                  ld r24,-X
 557 0370 1C01                  movw r2,r24
 558 0372 4424                  clr r4
 559 0374 5524                  clr r5
 560 0376 8BA9                  ldd r24,Y+51
 561 0378 8064                  ori r24,lo8(64)
 562 037a 8BAB                  std Y+51,r24
 563 037c 90E1                  ldi r25,lo8(16)
 564 037e 98AB                  std Y+48,r25
 565 0380 78E7                  ldi r23,lo8(120)
 566 0382 B72E                  mov r11,r23
 567 0384 00C0                  rjmp .L94
 568                    .L95:
 569 0386 E3E7                  ldi r30,lo8(115)
 570 0388 BE16                  cp r11,r30
 571 038a 01F4                  brne .L97
 572 038c 1296                  adiw r26,2
 573 038e BD83                  std Y+5,r27
 574 0390 AC83                  std Y+4,r26
 575 0392 DE90                  ld r13,-X
 576 0394 CE90                  ld r12,-X
 577 0396 C114                  cp r12,__zero_reg__
 578 0398 D104                  cpc r13,__zero_reg__
 579 039a 01F4                  brne .L99
 580 039c 88E2                  ldi r24,lo8(40)
 581 039e 8E83                  std Y+6,r24
 582 03a0 8EE6                  ldi r24,lo8(110)
 583 03a2 8F83                  std Y+7,r24
 584 03a4 85E7                  ldi r24,lo8(117)
 585 03a6 8887                  std Y+8,r24
 586 03a8 8CE6                  ldi r24,lo8(108)
 587 03aa 8987                  std Y+9,r24
 588 03ac 8A87                  std Y+10,r24
 589 03ae 89E2                  ldi r24,lo8(41)
 590 03b0 8B87                  std Y+11,r24
 591 03b2 1C86                  std Y+12,__zero_reg__
 592 03b4 66E0                  ldi r22,lo8(6)
 593 03b6 C62E                  mov r12,r22
 594 03b8 D12C                  mov r13,__zero_reg__
 595 03ba CC0E                  add r12,r28
 596 03bc DD1E                  adc r13,r29
 597                    .L99:
 598 03be F9A9                  ldd r31,Y+49
 599 03c0 F7FD                  sbrc r31,7
 600 03c2 00C0                  rjmp .L101
 601 03c4 4F2F                  mov r20,r31
 602 03c6 5527                  clr r21
 603 03c8 47FD                  sbrc r20,7
 604 03ca 5095                  com r21
 605 03cc 60E0                  ldi r22,lo8(0)
 606 03ce 70E0                  ldi r23,hi8(0)
 607 03d0 C601                  movw r24,r12
 608 03d2 0E94 0000             call memchr
 609 03d6 0097                  sbiw r24,0
 610 03d8 01F4                  brne .L103
 611 03da 19A9                  ldd r17,Y+49
 612 03dc 00C0                  rjmp .L105
 613                    .L103:
 614 03de 8C19                  sub r24,r12
 615 03e0 19A9                  ldd r17,Y+49
 616 03e2 8117                  cp r24,r17
 617 03e4 04F4                  brge .L105
 618 03e6 182F                  mov r17,r24
 619 03e8 00C0                  rjmp .L105
 620                    .L101:
 621 03ea F601                  movw r30,r12
 622 03ec 0190                  ld __tmp_reg__,Z+
 623 03ee 0020                  tst __tmp_reg__
 624 03f0 01F4                  brne .-6
 625 03f2 3197                  sbiw r30,1
 626 03f4 1E2F                  mov r17,r30
 627 03f6 1C19                  sub r17,r12
 628                    .L105:
 629 03f8 1982                  std Y+1,__zero_reg__
 630 03fa 4201                  movw r8,r4
 631 03fc 3101                  movw r6,r2
 632 03fe 40E0                  ldi r20,lo8(0)
 633 0400 00C0                  rjmp .L107
 634                    .L97:
 635 0402 85E5                  ldi r24,lo8(85)
 636 0404 B816                  cp r11,r24
 637 0406 01F0                  breq .L108
 638 0408 95E7                  ldi r25,lo8(117)
 639 040a B916                  cp r11,r25
 640 040c 01F4                  brne .L110
 641 040e EAE0                  ldi r30,lo8(10)
 642                    .L171:
 643 0410 E8AB                  std Y+48,r30
 644 0412 00C0                  rjmp .L94
 645                    .L108:
 646 0414 FBA9                  ldd r31,Y+51
 647 0416 F160                  ori r31,lo8(1)
 648 0418 FBAB                  std Y+51,r31
 649 041a 8AE0                  ldi r24,lo8(10)
 650                    .L170:
 651 041c 88AB                  std Y+48,r24
 652 041e 00C0                  rjmp .L94
 653                    .L110:
 654 0420 98E5                  ldi r25,lo8(88)
 655 0422 B916                  cp r11,r25
 656 0424 01F0                  breq .L112
 657 0426 E8E7                  ldi r30,lo8(120)
 658 0428 BE16                  cp r11,r30
 659 042a 01F0                  breq .+2
 660 042c 00C0                  rjmp .L114
 661                    .L112:
 662 042e FBA9                  ldd r31,Y+51
 663 0430 F3FD                  sbrc r31,3
 664 0432 00C0                  rjmp .L115
 665 0434 80E1                  ldi r24,lo8(16)
 666 0436 00C0                  rjmp .L170
 667                    .L115:
 668 0438 2114                  cp r2,__zero_reg__
 669 043a 3104                  cpc r3,__zero_reg__
 670 043c 4104                  cpc r4,__zero_reg__
 671 043e 5104                  cpc r5,__zero_reg__
 672 0440 01F4                  brne .L117
 673 0442 90E1                  ldi r25,lo8(16)
 674 0444 98AB                  std Y+48,r25
 675 0446 00C0                  rjmp .L94
 676                    .L117:
 677 0448 EBA9                  ldd r30,Y+51
 678 044a E064                  ori r30,lo8(64)
 679 044c EBAB                  std Y+51,r30
 680 044e F0E1                  ldi r31,lo8(16)
 681 0450 F8AB                  std Y+48,r31
 682                    .L94:
 683 0452 1982                  std Y+1,__zero_reg__
 684                    .L89:
 685 0454 89A9                  ldd r24,Y+49
 686 0456 87FD                  sbrc r24,7
 687 0458 00C0                  rjmp .L119
 688 045a 9BA9                  ldd r25,Y+51
 689 045c 9F7D                  andi r25,lo8(-33)
 690 045e 9BAB                  std Y+51,r25
 691                    .L119:
 692 0460 2114                  cp r2,__zero_reg__
 693 0462 3104                  cpc r3,__zero_reg__
 694 0464 4104                  cpc r4,__zero_reg__
 695 0466 5104                  cpc r5,__zero_reg__
 696 0468 01F4                  brne .L121
 697 046a E9A9                  ldd r30,Y+49
 698 046c EE23                  tst r30
 699 046e 01F4                  brne .L121
 700 0470 6624                  clr r6
 701 0472 7724                  clr r7
 702 0474 4301                  movw r8,r6
 703 0476 5EE2                  ldi r21,lo8(46)
 704 0478 C52E                  mov r12,r21
 705 047a D12C                  mov r13,__zero_reg__
 706 047c CC0E                  add r12,r28
 707 047e DD1E                  adc r13,r29
 708 0480 00C0                  rjmp .L124
 709                    .L121:
 710 0482 4EE2                  ldi r20,lo8(46)
 711 0484 C42E                  mov r12,r20
 712 0486 D12C                  mov r13,__zero_reg__
 713 0488 CC0E                  add r12,r28
 714 048a DD1E                  adc r13,r29
 715 048c F8A9                  ldd r31,Y+48
 716 048e EF2E                  mov r14,r31
 717 0490 FF24                  clr r15
 718 0492 0027                  clr r16
 719 0494 1127                  clr r17
 720                    .L125:
 721 0496 C201                  movw r24,r4
 722 0498 B101                  movw r22,r2
 723 049a A801                  movw r20,r16
 724 049c 9701                  movw r18,r14
 725 049e 0E94 0000             call __udivmodsi4
 726 04a2 6A30                  cpi r22,lo8(10)
 727 04a4 00F4                  brsh .L126
 728 04a6 30E3                  ldi r19,lo8(48)
 729 04a8 A32E                  mov r10,r19
 730 04aa A60E                  add r10,r22
 731 04ac 00C0                  rjmp .L128
 732                    .L126:
 733 04ae 27E5                  ldi r18,lo8(87)
 734 04b0 A22E                  mov r10,r18
 735 04b2 A60E                  add r10,r22
 736 04b4 88E5                  ldi r24,lo8(88)
 737 04b6 B816                  cp r11,r24
 738 04b8 01F4                  brne .L128
 739 04ba 9FED                  ldi r25,lo8(-33)
 740 04bc A922                  and r10,r25
 741                    .L128:
 742 04be F601                  movw r30,r12
 743 04c0 A292                  st -Z,r10
 744 04c2 6F01                  movw r12,r30
 745 04c4 C201                  movw r24,r4
 746 04c6 B101                  movw r22,r2
 747 04c8 A801                  movw r20,r16
 748 04ca 9701                  movw r18,r14
 749 04cc 0E94 0000             call __udivmodsi4
 750 04d0 3901                  movw r6,r18
 751 04d2 4A01                  movw r8,r20
 752 04d4 2E14                  cp r2,r14
 753 04d6 3F04                  cpc r3,r15
 754 04d8 4006                  cpc r4,r16
 755 04da 5106                  cpc r5,r17
 756 04dc 00F0                  brlo .L130
 757 04de 1901                  movw r2,r18
 758 04e0 2A01                  movw r4,r20
 759 04e2 00C0                  rjmp .L125
 760                    .L130:
 761 04e4 F8A9                  ldd r31,Y+48
 762 04e6 F830                  cpi r31,lo8(8)
 763 04e8 01F4                  brne .L124
 764 04ea 8BA9                  ldd r24,Y+51
 765 04ec 83FF                  sbrs r24,3
 766 04ee 00C0                  rjmp .L124
 767 04f0 90E3                  ldi r25,lo8(48)
 768 04f2 A916                  cp r10,r25
 769 04f4 01F0                  breq .L124
 770 04f6 80E3                  ldi r24,lo8(48)
 771 04f8 F601                  movw r30,r12
 772 04fa 8293                  st -Z,r24
 773 04fc 6F01                  movw r12,r30
 774                    .L124:
 775 04fe CE01                  movw r24,r28
 776 0500 8C19                  sub r24,r12
 777 0502 182F                  mov r17,r24
 778 0504 125D                  subi r17,lo8(-(46))
 779 0506 49A9                  ldd r20,Y+49
 780 0508 00C0                  rjmp .L107
 781                    .L114:
 782 050a BB20                  tst r11
 783 050c 01F4                  brne .+2
 784 050e 00C0                  rjmp .L152
 785 0510 BE82                  std Y+6,r11
 786                    .L173:
 787 0512 1982                  std Y+1,__zero_reg__
 788 0514 4201                  movw r8,r4
 789 0516 3101                  movw r6,r2
 790 0518 00E0                  ldi r16,lo8(0)
 791 051a 11E0                  ldi r17,lo8(1)
 792 051c 96E0                  ldi r25,lo8(6)
 793 051e C92E                  mov r12,r25
 794 0520 D12C                  mov r13,__zero_reg__
 795 0522 CC0E                  add r12,r28
 796 0524 DD1E                  adc r13,r29
 797 0526 21E0                  ldi r18,lo8(1)
 798 0528 00C0                  rjmp .L136
 799                    .L107:
 800 052a 212F                  mov r18,r17
 801 052c 042F                  mov r16,r20
 802 052e 011B                  sub r16,r17
 803 0530 07FD                  sbrc r16,7
 804 0532 00E0                  ldi r16,lo8(0)
 805                    .L136:
 806 0534 8981                  ldd r24,Y+1
 807 0536 8823                  tst r24
 808 0538 01F0                  breq .L138
 809 053a 812F                  mov r24,r17
 810 053c 8F5F                  subi r24,lo8(-(1))
 811 053e 00C0                  rjmp .L140
 812                    .L138:
 813 0540 9BA9                  ldd r25,Y+51
 814 0542 96FD                  sbrc r25,6
 815 0544 00C0                  rjmp .L141
 816 0546 812F                  mov r24,r17
 817 0548 00C0                  rjmp .L140
 818                    .L141:
 819 054a 822F                  mov r24,r18
 820 054c 8E5F                  subi r24,lo8(-(2))
 821                    .L140:
 822 054e A82E                  mov r10,r24
 823 0550 A00E                  add r10,r16
 824 0552 EBA9                  ldd r30,Y+51
 825 0554 EE2E                  mov r14,r30
 826 0556 FF24                  clr r15
 827 0558 80E3                  ldi r24,lo8(48)
 828 055a 482E                  mov r4,r24
 829 055c 512C                  mov r5,__zero_reg__
 830 055e 4E20                  and r4,r14
 831 0560 5F20                  and r5,r15
 832 0562 4114                  cp r4,__zero_reg__
 833 0564 5104                  cpc r5,__zero_reg__
 834 0566 01F4                  brne .L143
 835 0568 8AA9                  ldd r24,Y+50
 836 056a 8A19                  sub r24,r10
 837 056c 0E94 0000             call PAD_SP
 838                    .L143:
 839 0570 8981                  ldd r24,Y+1
 840 0572 8823                  tst r24
 841 0574 01F0                  breq .L145
 842 0576 61E0                  ldi r22,lo8(1)
 843 0578 70E0                  ldi r23,hi8(1)
 844 057a CE01                  movw r24,r28
 845 057c 0196                  adiw r24,1
 846 057e 00C0                  rjmp .L172
 847                    .L145:
 848 0580 E6FE                  sbrs r14,6
 849 0582 00C0                  rjmp .L147
 850 0584 80E3                  ldi r24,lo8(48)
 851 0586 8A83                  std Y+2,r24
 852 0588 BB82                  std Y+3,r11
 853 058a 62E0                  ldi r22,lo8(2)
 854 058c 70E0                  ldi r23,hi8(2)
 855 058e CE01                  movw r24,r28
 856 0590 0296                  adiw r24,2
 857                    .L172:
 858 0592 0E94 0000             call PRINT
 859                    .L147:
 860 0596 F0E2                  ldi r31,lo8(32)
 861 0598 4F16                  cp r4,r31
 862 059a 5104                  cpc r5,__zero_reg__
 863 059c 01F4                  brne .L149
 864 059e 8AA9                  ldd r24,Y+50
 865 05a0 8A19                  sub r24,r10
 866 05a2 0E94 0000             call PAD_0
 867                    .L149:
 868 05a6 802F                  mov r24,r16
 869 05a8 0E94 0000             call PAD_0
 870 05ac 612F                  mov r22,r17
 871 05ae 7727                  clr r23
 872 05b0 67FD                  sbrc r22,7
 873 05b2 7095                  com r23
 874 05b4 C601                  movw r24,r12
 875 05b6 0E94 0000             call PRINT
 876 05ba E4FE                  sbrs r14,4
 877 05bc 00C0                  rjmp .L28
 878 05be 8AA9                  ldd r24,Y+50
 879 05c0 8A19                  sub r24,r10
 880 05c2 0E94 0000             call PAD_SP
 881 05c6 00C0                  rjmp .L28
 882                    .L35:
 883                    .L152:
 884                    /* epilogue: frame size=51 */
 885 05c8 E396                  adiw r28,51
 886 05ca 0FB6                  in __tmp_reg__,__SREG__
 887 05cc F894                  cli
 888 05ce DEBF                  out __SP_H__,r29
 889 05d0 0FBE                  out __SREG__,__tmp_reg__
 890 05d2 CDBF                  out __SP_L__,r28
 891 05d4 DF91                  pop r29
 892 05d6 CF91                  pop r28
 893 05d8 1F91                  pop r17
 894 05da 0F91                  pop r16
 895 05dc FF90                  pop r15
 896 05de EF90                  pop r14
 897 05e0 DF90                  pop r13
 898 05e2 CF90                  pop r12
 899 05e4 BF90                  pop r11
 900 05e6 AF90                  pop r10
 901 05e8 9F90                  pop r9
 902 05ea 8F90                  pop r8
 903 05ec 7F90                  pop r7
 904 05ee 6F90                  pop r6
 905 05f0 5F90                  pop r5
 906 05f2 4F90                  pop r4
 907 05f4 3F90                  pop r3
 908 05f6 2F90                  pop r2
 909 05f8 0895                  ret
 910                    /* epilogue end (size=25) */
 911                    /* function _printf_P size 694 (643) */
 913                            .comm DiffNick,2,1
 914                            .comm DiffRoll,2,1
 915                            .comm SenderOkay,1,1
 916                            .comm CosinusNickWinkel,1,1
 917                            .comm CosinusRollWinkel,1,1
 918                            .comm durchschnitt_northing,4,1
 919                            .comm durchschnitt_easting,4,1
 920                            .comm gps_p,2,1
 921                            .comm gps_d,2,1
 922                            .comm skal,2,1
 923                            .comm gps_gethome,2,1
 924                            .comm PrintZiel,1,1
 925                            .comm RemoteTasten,1,1
 926                            .comm Timeout,1,1
 927                            .comm IntegralNick,4,1
 928                            .comm IntegralNick2,4,1
 929                            .comm IntegralRoll,4,1
 930                            .comm IntegralRoll2,4,1
 931                            .comm Mess_IntegralNick,4,1
 932                            .comm Mess_IntegralNick2,4,1
 933                            .comm Mess_IntegralRoll,4,1
 934                            .comm Mess_IntegralRoll2,4,1
 935                            .comm Integral_Gier,4,1
 936                            .comm Mess_Integral_Gier,4,1
 937                            .comm h,1,1
 938                            .comm m,1,1
 939                            .comm s,1,1
 940                            .comm Motor_Vorne,1,1
 941                            .comm Motor_Hinten,1,1
 942                            .comm Motor_Rechts,1,1
 943                            .comm Motor_Links,1,1
 944                            .comm Count,1,1
 945                            .comm MotorWert,5,1
 946                            .comm StickNick,2,1
 947                            .comm StickRoll,2,1
 948                            .comm StickGier,2,1
 949                            .comm MotorenEin,1,1
 950                    /* File "printf_P.c": code  786 = 0x0312 ( 710), prologues  36, epilogues  40 */
DEFINED SYMBOLS
                            *ABS*:00000000 printf_P.c
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckDPzml.s:3      *ABS*:0000003f __SREG__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckDPzml.s:4      *ABS*:0000003e __SP_H__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckDPzml.s:5      *ABS*:0000003d __SP_L__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckDPzml.s:6      *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckDPzml.s:7      *ABS*:00000001 __zero_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckDPzml.s:13     .text:00000000 Putchar
                            *COM*:00000001 PrintZiel
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckDPzml.s:45     .text:00000032 PAD_0
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckDPzml.s:66     .text:00000048 PAD_SP
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckDPzml.s:87     .text:0000005e PRINTP
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckDPzml.s:122    .text:0000008a PRINT
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckDPzml.s:152    .text:000000b2 _printf_P
                            *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 RemoteTasten
                            *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

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
DispPtr
DisplayBuff
uart_putchar
memchr
__udivmodsi4