Subversion Repositories Projects

Rev

Blame | Last modification | View Log | RSS feed

   1                            .file   "timer0.c"
   2                            .arch atmega644p
   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_18
  13                    __vector_18:
  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 2F93                  push r18
  21 000c 3F93                  push r19
  22 000e 5F93                  push r21
  23 0010 6F93                  push r22
  24 0012 7F93                  push r23
  25 0014 8F93                  push r24
  26 0016 9F93                  push r25
  27 0018 AF93                  push r26
  28 001a BF93                  push r27
  29                    /* prologue end (size=14) */
  30 001c 8091 0000             lds r24,cnt.2042
  31 0020 8150                  subi r24,lo8(-(-1))
  32 0022 8093 0000             sts cnt.2042,r24
  33 0026 8F3F                  cpi r24,lo8(-1)
  34 0028 01F4                  brne .L2
  35 002a 89E0                  ldi r24,lo8(9)
  36 002c 8093 0000             sts cnt.2042,r24
  37 0030 8091 0000             lds r24,cnt_1ms.2041
  38 0034 8F5F                  subi r24,lo8(-(1))
  39 0036 8170                  andi r24,lo8(1)
  40 0038 8093 0000             sts cnt_1ms.2041,r24
  41 003c 8823                  tst r24
  42 003e 01F4                  brne .L4
  43 0040 81E0                  ldi r24,lo8(1)
  44 0042 8093 0000             sts UpdateMotor,r24
  45                    .L4:
  46 0046 8091 0000             lds r24,CountMilliseconds
  47 004a 9091 0000             lds r25,(CountMilliseconds)+1
  48 004e 0196                  adiw r24,1
  49 0050 9093 0000             sts (CountMilliseconds)+1,r25
  50 0054 8093 0000             sts CountMilliseconds,r24
  51                    .L2:
  52 0058 8091 0000             lds r24,beeptime
  53 005c 9091 0000             lds r25,(beeptime)+1
  54 0060 0297                  sbiw r24,2
  55 0062 00F0                  brlo .L6
  56 0064 8091 0000             lds r24,beeptime
  57 0068 9091 0000             lds r25,(beeptime)+1
  58 006c 0197                  sbiw r24,1
  59 006e 9093 0000             sts (beeptime)+1,r25
  60 0072 8093 0000             sts beeptime,r24
  61 0076 8091 0000             lds r24,beeptime
  62 007a 9091 0000             lds r25,(beeptime)+1
  63 007e 2091 0000             lds r18,BeepMuster
  64 0082 3091 0000             lds r19,(BeepMuster)+1
  65 0086 8223                  and r24,r18
  66 0088 9323                  and r25,r19
  67 008a 892B                  or r24,r25
  68 008c 01F0                  breq .+2
  69 008e 00C0                  rjmp .L8
  70 0090 00C0                  rjmp .L9
  71                    .L6:
  72 0092 8FEF                  ldi r24,lo8(-1)
  73 0094 9FEF                  ldi r25,hi8(-1)
  74 0096 9093 0000             sts (BeepMuster)+1,r25
  75 009a 8093 0000             sts BeepMuster,r24
  76                    .L9:
  77 009e 8091 0000             lds r24,PlatinenVersion
  78 00a2 8A30                  cpi r24,lo8(10)
  79 00a4 01F4                  brne .L23
  80 00a6 00C0                  rjmp .L10
  81                    .L12:
  82 00a8 5A9A                  sbi 43-0x20,2
  83 00aa 00C0                  rjmp .L13
  84                    .L24:
  85 00ac 479A                  sbi 40-0x20,7
  86 00ae 00C0                  rjmp .L13
  87                    .L10:
  88 00b0 5A98                  cbi 43-0x20,2
  89 00b2 00C0                  rjmp .L13
  90                    .L23:
  91 00b4 4798                  cbi 40-0x20,7
  92                    .L13:
  93 00b6 8091 0000             lds r24,EE_Parameter+8
  94 00ba 83FF                  sbrs r24,3
  95 00bc 00C0                  rjmp .L22
  96 00be 349B                  sbis 38-0x20,4
  97 00c0 00C0                  rjmp .L17
  98 00c2 8091 0000             lds r24,cntKompass
  99 00c6 9091 0000             lds r25,(cntKompass)+1
 100 00ca 0196                  adiw r24,1
 101 00cc 9093 0000             sts (cntKompass)+1,r25
 102 00d0 8093 0000             sts cntKompass,r24
 103 00d4 00C0                  rjmp .L22
 104                    .L17:
 105 00d6 8091 0000             lds r24,cntKompass
 106 00da 9091 0000             lds r25,(cntKompass)+1
 107 00de 892B                  or r24,r25
 108 00e0 01F0                  breq .L19
 109 00e2 8091 0000             lds r24,cntKompass
 110 00e6 9091 0000             lds r25,(cntKompass)+1
 111 00ea 805A                  subi r24,lo8(4000)
 112 00ec 9F40                  sbci r25,hi8(4000)
 113 00ee 00F4                  brsh .L19
 114 00f0 8091 0000             lds r24,cntKompass
 115 00f4 9091 0000             lds r25,(cntKompass)+1
 116 00f8 9093 0000             sts (KompassValue)+1,r25
 117 00fc 8093 0000             sts KompassValue,r24
 118                    .L19:
 119 0100 8091 0000             lds r24,KompassValue
 120 0104 9091 0000             lds r25,(KompassValue)+1
 121 0108 2091 0000             lds r18,KompassStartwert
 122 010c 3091 0000             lds r19,(KompassStartwert)+1
 123 0110 821B                  sub r24,r18
 124 0112 930B                  sbc r25,r19
 125 0114 845E                  subi r24,lo8(-(540))
 126 0116 9D4F                  sbci r25,hi8(-(540))
 127 0118 68E6                  ldi r22,lo8(360)
 128 011a 71E0                  ldi r23,hi8(360)
 129 011c 0E94 0000             call __divmodhi4
 130 0120 845B                  subi r24,lo8(-(-180))
 131 0122 9040                  sbci r25,hi8(-(-180))
 132 0124 9093 0000             sts (KompassRichtung)+1,r25
 133 0128 8093 0000             sts KompassRichtung,r24
 134 012c 1092 0000             sts (cntKompass)+1,__zero_reg__
 135 0130 1092 0000             sts cntKompass,__zero_reg__
 136 0134 00C0                  rjmp .L22
 137                    .L8:
 138 0136 8091 0000             lds r24,PlatinenVersion
 139 013a 8A30                  cpi r24,lo8(10)
 140 013c 01F0                  breq .+2
 141 013e 00C0                  rjmp .L24
 142 0140 00C0                  rjmp .L12
 143                    .L22:
 144                    /* epilogue: frame size=0 */
 145 0142 BF91                  pop r27
 146 0144 AF91                  pop r26
 147 0146 9F91                  pop r25
 148 0148 8F91                  pop r24
 149 014a 7F91                  pop r23
 150 014c 6F91                  pop r22
 151 014e 5F91                  pop r21
 152 0150 3F91                  pop r19
 153 0152 2F91                  pop r18
 154 0154 0F90                  pop __tmp_reg__
 155 0156 0FBE                  out __SREG__,__tmp_reg__
 156 0158 0F90                  pop __tmp_reg__
 157 015a 1F90                  pop __zero_reg__
 158 015c 1895                  reti
 159                    /* epilogue end (size=14) */
 160                    /* function __vector_18 size 177 (149) */
 162                    .global SetDelay
 164                    SetDelay:
 165                    /* prologue: frame size=0 */
 166                    /* prologue end (size=0) */
 167 015e 2091 0000             lds r18,CountMilliseconds
 168 0162 3091 0000             lds r19,(CountMilliseconds)+1
 169 0166 2F5F                  subi r18,lo8(-(1))
 170 0168 3F4F                  sbci r19,hi8(-(1))
 171 016a 820F                  add r24,r18
 172 016c 931F                  adc r25,r19
 173                    /* epilogue: frame size=0 */
 174 016e 0895                  ret
 175                    /* epilogue end (size=1) */
 176                    /* function SetDelay size 9 (8) */
 178                    .global CheckDelay
 180                    CheckDelay:
 181                    /* prologue: frame size=0 */
 182                    /* prologue end (size=0) */
 183 0170 2091 0000             lds r18,CountMilliseconds
 184 0174 3091 0000             lds r19,(CountMilliseconds)+1
 185 0178 821B                  sub r24,r18
 186 017a 930B                  sbc r25,r19
 187 017c 892F                  mov r24,r25
 188 017e 9927                  clr r25
 189 0180 8695                  lsr r24
 190 0182 8074                  andi r24,lo8(64)
 191 0184 9927                  clr r25
 192                    /* epilogue: frame size=0 */
 193 0186 0895                  ret
 194                    /* epilogue end (size=1) */
 195                    /* function CheckDelay size 12 (11) */
 197                    .global __vector_9
 199                    __vector_9:
 200                    /* prologue: frame size=0 */
 201 0188 1F92                  push __zero_reg__
 202 018a 0F92                  push __tmp_reg__
 203 018c 0FB6                  in __tmp_reg__,__SREG__
 204 018e 0F92                  push __tmp_reg__
 205 0190 1124                  clr __zero_reg__
 206 0192 EF92                  push r14
 207 0194 FF92                  push r15
 208 0196 0F93                  push r16
 209 0198 1F93                  push r17
 210 019a 2F93                  push r18
 211 019c 3F93                  push r19
 212 019e 4F93                  push r20
 213 01a0 5F93                  push r21
 214 01a2 6F93                  push r22
 215 01a4 7F93                  push r23
 216 01a6 8F93                  push r24
 217 01a8 9F93                  push r25
 218 01aa AF93                  push r26
 219 01ac BF93                  push r27
 220 01ae CF93                  push r28
 221 01b0 DF93                  push r29
 222 01b2 EF93                  push r30
 223 01b4 FF93                  push r31
 224                    /* prologue end (size=23) */
 225 01b6 8091 0000             lds r24,timer.2145
 226 01ba 8150                  subi r24,lo8(-(-1))
 227 01bc 8093 0000             sts timer.2145,r24
 228 01c0 8F3F                  cpi r24,lo8(-1)
 229 01c2 01F0                  breq .+2
 230 01c4 00C0                  rjmp .L30
 231 01c6 83E8                  ldi r24,lo8(-125)
 232 01c8 8093 B000             sts 176,r24
 233 01cc 8091 0000             lds r24,Parameter_ServoNickControl
 234 01d0 C82F                  mov r28,r24
 235 01d2 DD27                  clr r29
 236 01d4 D093 0000             sts (ServoValue)+1,r29
 237 01d8 C093 0000             sts ServoValue,r28
 238 01dc 8091 0000             lds r24,EE_Parameter+53
 239 01e0 E090 0000             lds r14,EE_Parameter+34
 240 01e4 80FF                  sbrs r24,0
 241 01e6 00C0                  rjmp .L32
 242 01e8 6091 0000             lds r22,IntegralNick
 243 01ec 7091 0000             lds r23,(IntegralNick)+1
 244 01f0 8091 0000             lds r24,(IntegralNick)+2
 245 01f4 9091 0000             lds r25,(IntegralNick)+3
 246 01f8 FF24                  clr r15
 247 01fa 0027                  clr r16
 248 01fc 1127                  clr r17
 249 01fe 20E8                  ldi r18,lo8(128)
 250 0200 30E0                  ldi r19,hi8(128)
 251 0202 40E0                  ldi r20,hlo8(128)
 252 0204 50E0                  ldi r21,hhi8(128)
 253 0206 0E94 0000             call __divmodsi4
 254 020a C801                  movw r24,r16
 255 020c B701                  movw r22,r14
 256 020e 0E94 0000             call __mulsi3
 257 0212 20E0                  ldi r18,lo8(512)
 258 0214 32E0                  ldi r19,hi8(512)
 259 0216 40E0                  ldi r20,hlo8(512)
 260 0218 50E0                  ldi r21,hhi8(512)
 261 021a 0E94 0000             call __divmodsi4
 262 021e C20F                  add r28,r18
 263 0220 D31F                  adc r29,r19
 264 0222 00C0                  rjmp .L41
 265                    .L32:
 266 0224 6091 0000             lds r22,IntegralNick
 267 0228 7091 0000             lds r23,(IntegralNick)+1
 268 022c 8091 0000             lds r24,(IntegralNick)+2
 269 0230 9091 0000             lds r25,(IntegralNick)+3
 270 0234 FF24                  clr r15
 271 0236 0027                  clr r16
 272 0238 1127                  clr r17
 273 023a 20E8                  ldi r18,lo8(128)
 274 023c 30E0                  ldi r19,hi8(128)
 275 023e 40E0                  ldi r20,hlo8(128)
 276 0240 50E0                  ldi r21,hhi8(128)
 277 0242 0E94 0000             call __divmodsi4
 278 0246 C801                  movw r24,r16
 279 0248 B701                  movw r22,r14
 280 024a 0E94 0000             call __mulsi3
 281 024e 20E0                  ldi r18,lo8(512)
 282 0250 32E0                  ldi r19,hi8(512)
 283 0252 40E0                  ldi r20,hlo8(512)
 284 0254 50E0                  ldi r21,hhi8(512)
 285 0256 0E94 0000             call __divmodsi4
 286 025a C21B                  sub r28,r18
 287 025c D30B                  sbc r29,r19
 288                    .L41:
 289 025e D093 0000             sts (ServoValue)+1,r29
 290 0262 C093 0000             sts ServoValue,r28
 291 0266 2091 0000             lds r18,ServoValue
 292 026a 3091 0000             lds r19,(ServoValue)+1
 293 026e 8091 0000             lds r24,EE_Parameter+35
 294 0272 9927                  clr r25
 295 0274 2817                  cp r18,r24
 296 0276 3907                  cpc r19,r25
 297 0278 04F0                  brlt .L42
 298 027a 8091 0000             lds r24,EE_Parameter+36
 299 027e 9927                  clr r25
 300 0280 8217                  cp r24,r18
 301 0282 9307                  cpc r25,r19
 302 0284 04F4                  brge .L37
 303                    .L42:
 304 0286 9093 0000             sts (ServoValue)+1,r25
 305 028a 8093 0000             sts ServoValue,r24
 306                    .L37:
 307 028e 8091 0000             lds r24,ServoValue
 308 0292 8093 B300             sts 179,r24
 309 0296 8091 0000             lds r24,EE_Parameter+37
 310 029a 8093 0000             sts timer.2145,r24
 311 029e 00C0                  rjmp .L40
 312                    .L30:
 313 02a0 83E0                  ldi r24,lo8(3)
 314 02a2 8093 B000             sts 176,r24
 315 02a6 5F98                  cbi 43-0x20,7
 316                    .L40:
 317                    /* epilogue: frame size=0 */
 318 02a8 FF91                  pop r31
 319 02aa EF91                  pop r30
 320 02ac DF91                  pop r29
 321 02ae CF91                  pop r28
 322 02b0 BF91                  pop r27
 323 02b2 AF91                  pop r26
 324 02b4 9F91                  pop r25
 325 02b6 8F91                  pop r24
 326 02b8 7F91                  pop r23
 327 02ba 6F91                  pop r22
 328 02bc 5F91                  pop r21
 329 02be 4F91                  pop r20
 330 02c0 3F91                  pop r19
 331 02c2 2F91                  pop r18
 332 02c4 1F91                  pop r17
 333 02c6 0F91                  pop r16
 334 02c8 FF90                  pop r15
 335 02ca EF90                  pop r14
 336 02cc 0F90                  pop __tmp_reg__
 337 02ce 0FBE                  out __SREG__,__tmp_reg__
 338 02d0 0F90                  pop __tmp_reg__
 339 02d2 1F90                  pop __zero_reg__
 340 02d4 1895                  reti
 341                    /* epilogue end (size=23) */
 342                    /* function __vector_9 size 167 (121) */
 344                    .global Timer_Init
 346                    Timer_Init:
 347                    /* prologue: frame size=0 */
 348                    /* prologue end (size=0) */
 349 02d6 8091 0000             lds r24,CountMilliseconds
 350 02da 9091 0000             lds r25,(CountMilliseconds)+1
 351 02de 0B96                  adiw r24,11
 352 02e0 9093 0000             sts (tim_main)+1,r25
 353 02e4 8093 0000             sts tim_main,r24
 354 02e8 82E0                  ldi r24,lo8(2)
 355 02ea 85BD                  out 69-0x20,r24
 356 02ec 83EA                  ldi r24,lo8(-93)
 357 02ee 84BD                  out 68-0x20,r24
 358 02f0 17BC                  out 71-0x20,__zero_reg__
 359 02f2 88E7                  ldi r24,lo8(120)
 360 02f4 88BD                  out 72-0x20,r24
 361 02f6 96E0                  ldi r25,lo8(6)
 362 02f8 96BD                  out 70-0x20,r25
 363 02fa 83EC                  ldi r24,lo8(-61)
 364 02fc 8093 B000             sts 176,r24
 365 0300 9093 B100             sts 177,r25
 366 0304 E0E7                  ldi r30,lo8(112)
 367 0306 F0E0                  ldi r31,hi8(112)
 368 0308 8081                  ld r24,Z
 369 030a 8260                  ori r24,lo8(2)
 370 030c 8083                  st Z,r24
 371 030e EEE6                  ldi r30,lo8(110)
 372 0310 F0E0                  ldi r31,hi8(110)
 373 0312 8081                  ld r24,Z
 374 0314 8160                  ori r24,lo8(1)
 375 0316 8083                  st Z,r24
 376 0318 8AE0                  ldi r24,lo8(10)
 377 031a 8093 B300             sts 179,r24
 378 031e 1092 B200             sts 178,__zero_reg__
 379                    /* epilogue: frame size=0 */
 380 0322 0895                  ret
 381                    /* epilogue end (size=1) */
 382                    /* function Timer_Init size 39 (38) */
 384                    .global Delay_ms_Mess
 386                    Delay_ms_Mess:
 387                    /* prologue: frame size=0 */
 388                    /* prologue end (size=0) */
 389 0324 2091 0000             lds r18,CountMilliseconds
 390 0328 3091 0000             lds r19,(CountMilliseconds)+1
 391 032c 2F5F                  subi r18,lo8(-(1))
 392 032e 3F4F                  sbci r19,hi8(-(1))
 393 0330 280F                  add r18,r24
 394 0332 391F                  adc r19,r25
 395 0334 4FEE                  ldi r20,lo8(-17)
 396 0336 00C0                  rjmp .L46
 397                    .L47:
 398 0338 4093 7A00             sts 122,r20
 399                    .L46:
 400 033c 8091 0000             lds r24,CountMilliseconds
 401 0340 9091 0000             lds r25,(CountMilliseconds)+1
 402 0344 B901                  movw r22,r18
 403 0346 681B                  sub r22,r24
 404 0348 790B                  sbc r23,r25
 405 034a 77FF                  sbrs r23,7
 406 034c 00C0                  rjmp .L47
 407                    /* epilogue: frame size=0 */
 408 034e 0895                  ret
 409                    /* epilogue end (size=1) */
 410                    /* function Delay_ms_Mess size 22 (21) */
 412                    .global Delay_ms
 414                    Delay_ms:
 415                    /* prologue: frame size=0 */
 416                    /* prologue end (size=0) */
 417 0350 2091 0000             lds r18,CountMilliseconds
 418 0354 3091 0000             lds r19,(CountMilliseconds)+1
 419 0358 2F5F                  subi r18,lo8(-(1))
 420 035a 3F4F                  sbci r19,hi8(-(1))
 421 035c 280F                  add r18,r24
 422 035e 391F                  adc r19,r25
 423                    .L51:
 424 0360 8091 0000             lds r24,CountMilliseconds
 425 0364 9091 0000             lds r25,(CountMilliseconds)+1
 426 0368 A901                  movw r20,r18
 427 036a 481B                  sub r20,r24
 428 036c 590B                  sbc r21,r25
 429 036e 57FF                  sbrs r21,7
 430 0370 00C0                  rjmp .L51
 431                    /* epilogue: frame size=0 */
 432 0372 0895                  ret
 433                    /* epilogue end (size=1) */
 434                    /* function Delay_ms size 18 (17) */
 436                    .global CountMilliseconds
 437                    .global CountMilliseconds
 438                            .section .bss
 441                    CountMilliseconds:
 442 0000 0000                  .skip 2,0
 443                    .global UpdateMotor
 444                    .global UpdateMotor
 447                    UpdateMotor:
 448 0002 00                    .skip 1,0
 449                    .global cntKompass
 450                    .global cntKompass
 453                    cntKompass:
 454 0003 0000                  .skip 2,0
 455                    .global beeptime
 456                    .global beeptime
 459                    beeptime:
 460 0005 0000                  .skip 2,0
 461                    .global BeepMuster
 462                            .data
 465                    BeepMuster:
 466 0000 FFFF                  .word   -1
 467                    .global ServoValue
 468                    .global ServoValue
 469                            .section .bss
 472                    ServoValue:
 473 0007 0000                  .skip 2,0
 474                            .data
 477                    timer.2145:
 478 0002 0A                    .byte   10
 479                            .lcomm cnt.2042,1
 482                    cnt_1ms.2041:
 483 0003 01                    .byte   1
 484                            .lcomm tim_main,2
 485                    /* File "timer0.c": code  444 = 0x01bc ( 365), prologues  37, epilogues  42 */
DEFINED SYMBOLS
                            *ABS*:00000000 timer0.c
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:3      *ABS*:0000003f __SREG__
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:4      *ABS*:0000003e __SP_H__
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:5      *ABS*:0000003d __SP_L__
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:6      *ABS*:00000000 __tmp_reg__
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:7      *ABS*:00000001 __zero_reg__
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:13     .text:00000000 __vector_18
                             .bss:00000009 cnt.2042
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:482    .data:00000003 cnt_1ms.2041
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:447    .bss:00000002 UpdateMotor
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:441    .bss:00000000 CountMilliseconds
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:459    .bss:00000005 beeptime
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:465    .data:00000000 BeepMuster
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:453    .bss:00000003 cntKompass
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:164    .text:0000015e SetDelay
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:180    .text:00000170 CheckDelay
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:199    .text:00000188 __vector_9
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:477    .data:00000002 timer.2145
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:472    .bss:00000007 ServoValue
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:346    .text:000002d6 Timer_Init
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:479    .bss:0000000a tim_main
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:386    .text:00000324 Delay_ms_Mess
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:414    .text:00000350 Delay_ms

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
PlatinenVersion
EE_Parameter
KompassValue
KompassStartwert
__divmodhi4
KompassRichtung
Parameter_ServoNickControl
IntegralNick
__divmodsi4
__mulsi3