Subversion Repositories FlightCtrl

Rev

Blame | Last modification | View Log | RSS feed

   1                            .file   "timer0.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 Timer_Init
  13                    Timer_Init:
  14                    /* prologue: frame size=0 */
  15                    /* prologue end (size=0) */
  16 0000 82E0                  ldi r24,lo8(2)
  17 0002 85BD                  out 69-0x20,r24
  18 0004 83EA                  ldi r24,lo8(-93)
  19 0006 84BD                  out 68-0x20,r24
  20 0008 17BC                  out 71-0x20,__zero_reg__
  21 000a 88E7                  ldi r24,lo8(120)
  22 000c 88BD                  out 72-0x20,r24
  23 000e 83EC                  ldi r24,lo8(-61)
  24 0010 8093 B000             sts 176,r24
  25 0014 86E0                  ldi r24,lo8(6)
  26 0016 8093 B100             sts 177,r24
  27 001a E0E7                  ldi r30,lo8(112)
  28 001c F0E0                  ldi r31,hi8(112)
  29 001e 8081                  ld r24,Z
  30 0020 8260                  ori r24,lo8(2)
  31 0022 8083                  st Z,r24
  32 0024 EEE6                  ldi r30,lo8(110)
  33 0026 F0E0                  ldi r31,hi8(110)
  34 0028 8081                  ld r24,Z
  35 002a 8160                  ori r24,lo8(1)
  36 002c 8083                  st Z,r24
  37 002e 8AE0                  ldi r24,lo8(10)
  38 0030 8093 B300             sts 179,r24
  39 0034 1092 B200             sts 178,__zero_reg__
  40                    /* epilogue: frame size=0 */
  41 0038 0895                  ret
  42                    /* epilogue end (size=1) */
  43                    /* function Timer_Init size 29 (28) */
  45                    .global SetDelay
  47                    SetDelay:
  48                    /* prologue: frame size=0 */
  49                    /* prologue end (size=0) */
  50 003a 2091 0000             lds r18,CountMilliseconds
  51 003e 3091 0000             lds r19,(CountMilliseconds)+1
  52 0042 2F5F                  subi r18,lo8(-(1))
  53 0044 3F4F                  sbci r19,hi8(-(1))
  54 0046 820F                  add r24,r18
  55 0048 931F                  adc r25,r19
  56                    /* epilogue: frame size=0 */
  57 004a 0895                  ret
  58                    /* epilogue end (size=1) */
  59                    /* function SetDelay size 9 (8) */
  61                    .global CheckDelay
  63                    CheckDelay:
  64                    /* prologue: frame size=0 */
  65                    /* prologue end (size=0) */
  66 004c 2091 0000             lds r18,CountMilliseconds
  67 0050 3091 0000             lds r19,(CountMilliseconds)+1
  68 0054 821B                  sub r24,r18
  69 0056 930B                  sbc r25,r19
  70 0058 892F                  mov r24,r25
  71 005a 9927                  clr r25
  72 005c 8695                  lsr r24
  73 005e 8074                  andi r24,lo8(64)
  74 0060 9927                  clr r25
  75                    /* epilogue: frame size=0 */
  76 0062 0895                  ret
  77                    /* epilogue end (size=1) */
  78                    /* function CheckDelay size 12 (11) */
  80                    .global __vector_9
  82                    __vector_9:
  83                    /* prologue: frame size=0 */
  84 0064 1F92                  push __zero_reg__
  85 0066 0F92                  push __tmp_reg__
  86 0068 0FB6                  in __tmp_reg__,__SREG__
  87 006a 0F92                  push __tmp_reg__
  88 006c 1124                  clr __zero_reg__
  89 006e EF92                  push r14
  90 0070 FF92                  push r15
  91 0072 0F93                  push r16
  92 0074 1F93                  push r17
  93 0076 2F93                  push r18
  94 0078 3F93                  push r19
  95 007a 4F93                  push r20
  96 007c 5F93                  push r21
  97 007e 6F93                  push r22
  98 0080 7F93                  push r23
  99 0082 8F93                  push r24
 100 0084 9F93                  push r25
 101 0086 AF93                  push r26
 102 0088 BF93                  push r27
 103 008a CF93                  push r28
 104 008c DF93                  push r29
 105 008e EF93                  push r30
 106 0090 FF93                  push r31
 107                    /* prologue end (size=23) */
 108 0092 8091 0000             lds r24,timer.2116
 109 0096 8150                  subi r24,lo8(-(-1))
 110 0098 8093 0000             sts timer.2116,r24
 111 009c 8F3F                  cpi r24,lo8(-1)
 112 009e 01F0                  breq .+2
 113 00a0 00C0                  rjmp .L8
 114 00a2 83E8                  ldi r24,lo8(-125)
 115 00a4 8093 B000             sts 176,r24
 116 00a8 8091 0000             lds r24,Parameter_ServoNickControl
 117 00ac C82F                  mov r28,r24
 118 00ae DD27                  clr r29
 119 00b0 D093 0000             sts (ServoValue)+1,r29
 120 00b4 C093 0000             sts ServoValue,r28
 121 00b8 8091 0000             lds r24,EE_Parameter+53
 122 00bc E090 0000             lds r14,EE_Parameter+34
 123 00c0 2091 0000             lds r18,IntegralNick
 124 00c4 3091 0000             lds r19,(IntegralNick)+1
 125 00c8 4091 0000             lds r20,(IntegralNick)+2
 126 00cc 5091 0000             lds r21,(IntegralNick)+3
 127 00d0 80FF                  sbrs r24,0
 128 00d2 00C0                  rjmp .L10
 129 00d4 FF24                  clr r15
 130 00d6 0027                  clr r16
 131 00d8 1127                  clr r17
 132 00da CA01                  movw r24,r20
 133 00dc B901                  movw r22,r18
 134 00de 20E8                  ldi r18,lo8(128)
 135 00e0 30E0                  ldi r19,hi8(128)
 136 00e2 40E0                  ldi r20,hlo8(128)
 137 00e4 50E0                  ldi r21,hhi8(128)
 138 00e6 0E94 0000             call __divmodsi4
 139 00ea C801                  movw r24,r16
 140 00ec B701                  movw r22,r14
 141 00ee 0E94 0000             call __mulsi3
 142 00f2 20E0                  ldi r18,lo8(512)
 143 00f4 32E0                  ldi r19,hi8(512)
 144 00f6 40E0                  ldi r20,hlo8(512)
 145 00f8 50E0                  ldi r21,hhi8(512)
 146 00fa 0E94 0000             call __divmodsi4
 147 00fe C20F                  add r28,r18
 148 0100 D31F                  adc r29,r19
 149 0102 00C0                  rjmp .L19
 150                    .L10:
 151 0104 FF24                  clr r15
 152 0106 0027                  clr r16
 153 0108 1127                  clr r17
 154 010a CA01                  movw r24,r20
 155 010c B901                  movw r22,r18
 156 010e 20E8                  ldi r18,lo8(128)
 157 0110 30E0                  ldi r19,hi8(128)
 158 0112 40E0                  ldi r20,hlo8(128)
 159 0114 50E0                  ldi r21,hhi8(128)
 160 0116 0E94 0000             call __divmodsi4
 161 011a C801                  movw r24,r16
 162 011c B701                  movw r22,r14
 163 011e 0E94 0000             call __mulsi3
 164 0122 20E0                  ldi r18,lo8(512)
 165 0124 32E0                  ldi r19,hi8(512)
 166 0126 40E0                  ldi r20,hlo8(512)
 167 0128 50E0                  ldi r21,hhi8(512)
 168 012a 0E94 0000             call __divmodsi4
 169 012e C21B                  sub r28,r18
 170 0130 D30B                  sbc r29,r19
 171                    .L19:
 172 0132 D093 0000             sts (ServoValue)+1,r29
 173 0136 C093 0000             sts ServoValue,r28
 174 013a 2091 0000             lds r18,ServoValue
 175 013e 3091 0000             lds r19,(ServoValue)+1
 176 0142 8091 0000             lds r24,EE_Parameter+35
 177 0146 9927                  clr r25
 178 0148 2817                  cp r18,r24
 179 014a 3907                  cpc r19,r25
 180 014c 04F0                  brlt .L20
 181 014e 8091 0000             lds r24,EE_Parameter+36
 182 0152 9927                  clr r25
 183 0154 8217                  cp r24,r18
 184 0156 9307                  cpc r25,r19
 185 0158 04F4                  brge .L15
 186                    .L20:
 187 015a 9093 0000             sts (ServoValue)+1,r25
 188 015e 8093 0000             sts ServoValue,r24
 189                    .L15:
 190 0162 8091 0000             lds r24,ServoValue
 191 0166 8093 B300             sts 179,r24
 192 016a 8091 0000             lds r24,EE_Parameter+37
 193 016e 8093 0000             sts timer.2116,r24
 194 0172 00C0                  rjmp .L18
 195                    .L8:
 196 0174 83E0                  ldi r24,lo8(3)
 197 0176 8093 B000             sts 176,r24
 198 017a 5F98                  cbi 43-0x20,7
 199                    .L18:
 200                    /* epilogue: frame size=0 */
 201 017c FF91                  pop r31
 202 017e EF91                  pop r30
 203 0180 DF91                  pop r29
 204 0182 CF91                  pop r28
 205 0184 BF91                  pop r27
 206 0186 AF91                  pop r26
 207 0188 9F91                  pop r25
 208 018a 8F91                  pop r24
 209 018c 7F91                  pop r23
 210 018e 6F91                  pop r22
 211 0190 5F91                  pop r21
 212 0192 4F91                  pop r20
 213 0194 3F91                  pop r19
 214 0196 2F91                  pop r18
 215 0198 1F91                  pop r17
 216 019a 0F91                  pop r16
 217 019c FF90                  pop r15
 218 019e EF90                  pop r14
 219 01a0 0F90                  pop __tmp_reg__
 220 01a2 0FBE                  out __SREG__,__tmp_reg__
 221 01a4 0F90                  pop __tmp_reg__
 222 01a6 1F90                  pop __zero_reg__
 223 01a8 1895                  reti
 224                    /* epilogue end (size=23) */
 225                    /* function __vector_9 size 163 (117) */
 227                    .global __vector_18
 229                    __vector_18:
 230                    /* prologue: frame size=0 */
 231 01aa 1F92                  push __zero_reg__
 232 01ac 0F92                  push __tmp_reg__
 233 01ae 0FB6                  in __tmp_reg__,__SREG__
 234 01b0 0F92                  push __tmp_reg__
 235 01b2 1124                  clr __zero_reg__
 236 01b4 2F93                  push r18
 237 01b6 3F93                  push r19
 238 01b8 4F93                  push r20
 239 01ba 5F93                  push r21
 240 01bc 6F93                  push r22
 241 01be 7F93                  push r23
 242 01c0 8F93                  push r24
 243 01c2 9F93                  push r25
 244 01c4 AF93                  push r26
 245 01c6 BF93                  push r27
 246 01c8 EF93                  push r30
 247 01ca FF93                  push r31
 248                    /* prologue end (size=17) */
 249 01cc 8091 0000             lds r24,cnt.2031
 250 01d0 8150                  subi r24,lo8(-(-1))
 251 01d2 8093 0000             sts cnt.2031,r24
 252 01d6 8F3F                  cpi r24,lo8(-1)
 253 01d8 01F4                  brne .L22
 254 01da 8AE0                  ldi r24,lo8(10)
 255 01dc 8093 0000             sts cnt.2031,r24
 256 01e0 8091 0000             lds r24,cnt_1ms.2030
 257 01e4 8F5F                  subi r24,lo8(-(1))
 258 01e6 8170                  andi r24,lo8(1)
 259 01e8 8093 0000             sts cnt_1ms.2030,r24
 260 01ec 8823                  tst r24
 261 01ee 01F4                  brne .L24
 262 01f0 81E0                  ldi r24,lo8(1)
 263 01f2 8093 0000             sts UpdateMotor,r24
 264                    .L24:
 265 01f6 8091 0000             lds r24,CountMilliseconds
 266 01fa 9091 0000             lds r25,(CountMilliseconds)+1
 267 01fe 0196                  adiw r24,1
 268 0200 9093 0000             sts (CountMilliseconds)+1,r25
 269 0204 8093 0000             sts CountMilliseconds,r24
 270                    .L22:
 271 0208 8091 0000             lds r24,beeptime
 272 020c 9091 0000             lds r25,(beeptime)+1
 273 0210 0297                  sbiw r24,2
 274 0212 00F0                  brlo .L26
 275 0214 8091 0000             lds r24,beeptime
 276 0218 9091 0000             lds r25,(beeptime)+1
 277 021c 0197                  sbiw r24,1
 278 021e 9093 0000             sts (beeptime)+1,r25
 279 0222 8093 0000             sts beeptime,r24
 280 0226 8091 0000             lds r24,beeptime
 281 022a 9091 0000             lds r25,(beeptime)+1
 282 022e 2091 0000             lds r18,BeepMuster
 283 0232 3091 0000             lds r19,(BeepMuster)+1
 284 0236 8223                  and r24,r18
 285 0238 9323                  and r25,r19
 286 023a 892B                  or r24,r25
 287 023c 01F4                  brne .L28
 288 023e 00C0                  rjmp .L29
 289                    .L26:
 290 0240 8FEF                  ldi r24,lo8(-1)
 291 0242 9FEF                  ldi r25,hi8(-1)
 292 0244 9093 0000             sts (BeepMuster)+1,r25
 293 0248 8093 0000             sts BeepMuster,r24
 294                    .L29:
 295 024c 8091 0000             lds r24,PlatinenVersion
 296 0250 8A30                  cpi r24,lo8(10)
 297 0252 01F4                  brne .L38
 298 0254 00C0                  rjmp .L30
 299                    .L32:
 300 0256 5A9A                  sbi 43-0x20,2
 301 0258 00C0                  rjmp .L33
 302                    .L39:
 303 025a 479A                  sbi 40-0x20,7
 304 025c 00C0                  rjmp .L33
 305                    .L30:
 306 025e 5A98                  cbi 43-0x20,2
 307 0260 00C0                  rjmp .L33
 308                    .L38:
 309 0262 4798                  cbi 40-0x20,7
 310                    .L33:
 311 0264 8091 0000             lds r24,EE_Parameter+8
 312 0268 83FF                  sbrs r24,3
 313 026a 00C0                  rjmp .L37
 314 026c 0E94 0000             call timer0_MM3
 315 0270 00C0                  rjmp .L37
 316                    .L28:
 317 0272 8091 0000             lds r24,PlatinenVersion
 318 0276 8A30                  cpi r24,lo8(10)
 319 0278 01F4                  brne .L39
 320 027a 00C0                  rjmp .L32
 321                    .L37:
 322                    /* epilogue: frame size=0 */
 323 027c FF91                  pop r31
 324 027e EF91                  pop r30
 325 0280 BF91                  pop r27
 326 0282 AF91                  pop r26
 327 0284 9F91                  pop r25
 328 0286 8F91                  pop r24
 329 0288 7F91                  pop r23
 330 028a 6F91                  pop r22
 331 028c 5F91                  pop r21
 332 028e 4F91                  pop r20
 333 0290 3F91                  pop r19
 334 0292 2F91                  pop r18
 335 0294 0F90                  pop __tmp_reg__
 336 0296 0FBE                  out __SREG__,__tmp_reg__
 337 0298 0F90                  pop __tmp_reg__
 338 029a 1F90                  pop __zero_reg__
 339 029c 1895                  reti
 340                    /* epilogue end (size=17) */
 341                    /* function __vector_18 size 123 (89) */
 343                    .global Delay_ms_Mess
 345                    Delay_ms_Mess:
 346                    /* prologue: frame size=0 */
 347                    /* prologue end (size=0) */
 348 029e 2091 0000             lds r18,CountMilliseconds
 349 02a2 3091 0000             lds r19,(CountMilliseconds)+1
 350 02a6 2F5F                  subi r18,lo8(-(1))
 351 02a8 3F4F                  sbci r19,hi8(-(1))
 352 02aa 280F                  add r18,r24
 353 02ac 391F                  adc r19,r25
 354 02ae 4FEE                  ldi r20,lo8(-17)
 355 02b0 00C0                  rjmp .L41
 356                    .L42:
 357 02b2 4093 7A00             sts 122,r20
 358                    .L41:
 359 02b6 8091 0000             lds r24,CountMilliseconds
 360 02ba 9091 0000             lds r25,(CountMilliseconds)+1
 361 02be B901                  movw r22,r18
 362 02c0 681B                  sub r22,r24
 363 02c2 790B                  sbc r23,r25
 364 02c4 77FF                  sbrs r23,7
 365 02c6 00C0                  rjmp .L42
 366                    /* epilogue: frame size=0 */
 367 02c8 0895                  ret
 368                    /* epilogue end (size=1) */
 369                    /* function Delay_ms_Mess size 22 (21) */
 371                    .global Delay_ms
 373                    Delay_ms:
 374                    /* prologue: frame size=0 */
 375                    /* prologue end (size=0) */
 376 02ca 2091 0000             lds r18,CountMilliseconds
 377 02ce 3091 0000             lds r19,(CountMilliseconds)+1
 378 02d2 2F5F                  subi r18,lo8(-(1))
 379 02d4 3F4F                  sbci r19,hi8(-(1))
 380 02d6 280F                  add r18,r24
 381 02d8 391F                  adc r19,r25
 382                    .L46:
 383 02da 8091 0000             lds r24,CountMilliseconds
 384 02de 9091 0000             lds r25,(CountMilliseconds)+1
 385 02e2 A901                  movw r20,r18
 386 02e4 481B                  sub r20,r24
 387 02e6 590B                  sbc r21,r25
 388 02e8 57FF                  sbrs r21,7
 389 02ea 00C0                  rjmp .L46
 390                    /* epilogue: frame size=0 */
 391 02ec 0895                  ret
 392                    /* epilogue end (size=1) */
 393                    /* function Delay_ms size 18 (17) */
 395                    .global CountMilliseconds
 396                    .global CountMilliseconds
 397                            .section .bss
 400                    CountMilliseconds:
 401 0000 0000                  .skip 2,0
 402                    .global UpdateMotor
 403                    .global UpdateMotor
 406                    UpdateMotor:
 407 0002 00                    .skip 1,0
 408                    .global beeptime
 409                    .global beeptime
 412                    beeptime:
 413 0003 0000                  .skip 2,0
 414                    .global BeepMuster
 415                            .data
 418                    BeepMuster:
 419 0000 FFFF                  .word   -1
 420                    .global ServoValue
 421                    .global ServoValue
 422                            .section .bss
 425                    ServoValue:
 426 0005 0000                  .skip 2,0
 427                            .data
 430                    timer.2116:
 431 0002 0A                    .byte   10
 432                            .lcomm cnt.2031,1
 435                    cnt_1ms.2030:
 436 0003 01                    .byte   1
 437                    /* File "timer0.c": code  376 = 0x0178 ( 291), prologues  40, epilogues  45 */
DEFINED SYMBOLS
                            *ABS*:00000000 timer0.c
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:3      *ABS*:0000003f __SREG__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:4      *ABS*:0000003e __SP_H__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:5      *ABS*:0000003d __SP_L__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:6      *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:7      *ABS*:00000001 __zero_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:13     .text:00000000 Timer_Init
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:47     .text:0000003a SetDelay
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:400    .bss:00000000 CountMilliseconds
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:63     .text:0000004c CheckDelay
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:82     .text:00000064 __vector_9
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:430    .data:00000002 timer.2116
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:425    .bss:00000005 ServoValue
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:229    .text:000001aa __vector_18
                             .bss:00000007 cnt.2031
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:435    .data:00000003 cnt_1ms.2030
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:406    .bss:00000002 UpdateMotor
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:412    .bss:00000003 beeptime
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:418    .data:00000000 BeepMuster
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:345    .text:0000029e Delay_ms_Mess
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:373    .text:000002ca Delay_ms

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
Parameter_ServoNickControl
EE_Parameter
IntegralNick
__divmodsi4
__mulsi3
PlatinenVersion
timer0_MM3