timer4.ls 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. 1 ; C Compiler for STM8 (COSMIC Software)
  2. 2 ; Parser V4.8.32 - 23 Mar 2010
  3. 3 ; Generator V4.3.4 - 23 Mar 2010
  4. 2468 ; 4 void TIM4_INIT(void)
  5. 2468 ; 5 {
  6. 2470 switch .text
  7. 2471 0000 _TIM4_INIT:
  8. 2475 ; 7 CLK_PCKENR1 |= 0x10;
  9. 2477 0000 721850c7 bset _CLK_PCKENR1,#4
  10. 2478 ; 10 TIM4_PSCR = 0x06;
  11. 2480 0004 35065347 mov _TIM4_PSCR,#6
  12. 2481 ; 13 TIM4_CR1 = 0x00;
  13. 2483 0008 725f5340 clr _TIM4_CR1
  14. 2484 ; 16 TIM4_ARR = 0x7C;
  15. 2486 000c 357c5348 mov _TIM4_ARR,#124
  16. 2487 ; 19 TIM4_EGR |= 0x01;
  17. 2489 0010 72105345 bset _TIM4_EGR,#0
  18. 2490 ; 22 TIM4_IER = 0x01;
  19. 2492 0014 35015343 mov _TIM4_IER,#1
  20. 2493 ; 25 TIM4_CR1 = 0x01;
  21. 2495 0018 35015340 mov _TIM4_CR1,#1
  22. 2496 ; 26 }
  23. 2499 001c 81 ret
  24. 2535 .const: section .text
  25. 2536 0000 L01:
  26. 2537 0000 0000ffff dc.l 65535
  27. 2538 ; 28 @far @interrupt void TIM4_UPD_IRQ(void)
  28. 2538 ; 29 {
  29. 2539 scross on
  30. 2540 switch .text
  31. 2541 001d f_TIM4_UPD_IRQ:
  32. 2543 00000001 OFST: set 1
  33. 2544 001d be02 ldw x,c_lreg+2
  34. 2545 001f 89 pushw x
  35. 2546 0020 be00 ldw x,c_lreg
  36. 2547 0022 89 pushw x
  37. 2548 0023 88 push a
  38. 2551 ; 31 TIM4_SR = 0x00;
  39. 2553 0024 725f5344 clr _TIM4_SR
  40. 2555 0028 a605 ld a,#5
  41. 2556 002a 6b01 ld (OFST+0,sp),a
  42. 2557 002c L3261:
  43. 2558 ; 32 UPDATETIMERS();
  44. 2560 002c 7b01 ld a,(OFST+0,sp)
  45. 2561 002e 5f clrw x
  46. 2562 002f 97 ld xl,a
  47. 2563 0030 58 sllw x
  48. 2564 0031 5a decw x
  49. 2565 0032 5a decw x
  50. 2566 0033 e601 ld a,(_timers+1,x)
  51. 2567 0035 ea00 or a,(_timers,x)
  52. 2568 0037 2725 jreq L1361
  53. 2570 0039 7b01 ld a,(OFST+0,sp)
  54. 2571 003b 5f clrw x
  55. 2572 003c 97 ld xl,a
  56. 2573 003d 58 sllw x
  57. 2574 003e 5a decw x
  58. 2575 003f 5a decw x
  59. 2576 0040 ee00 ldw x,(_timers,x)
  60. 2577 0042 cd0000 call c_uitolx
  61. 2579 0045 ae0000 ldw x,#L01
  62. 2580 0048 cd0000 call c_lcmp
  63. 2582 004b 2711 jreq L1361
  64. 2585 004d 7b01 ld a,(OFST+0,sp)
  65. 2586 004f 5f clrw x
  66. 2587 0050 97 ld xl,a
  67. 2588 0051 58 sllw x
  68. 2589 0052 5a decw x
  69. 2590 0053 5a decw x
  70. 2591 0054 9093 ldw y,x
  71. 2592 0056 ee00 ldw x,(_timers,x)
  72. 2593 0058 1d0001 subw x,#1
  73. 2594 005b 90ef00 ldw (_timers,y),x
  74. 2595 005e L1361:
  75. 2598 005e 0a01 dec (OFST+0,sp)
  76. 2601 0060 0d01 tnz (OFST+0,sp)
  77. 2602 0062 26c8 jrne L3261
  78. 2603 ; 33 }
  79. 2607 0064 84 pop a
  80. 2608 0065 85 popw x
  81. 2609 0066 bf00 ldw c_lreg,x
  82. 2610 0068 85 popw x
  83. 2611 0069 bf02 ldw c_lreg+2,x
  84. 2612 006b 80 iret
  85. 2624 xdef f_TIM4_UPD_IRQ
  86. 2625 xdef _TIM4_INIT
  87. 2626 xref.b _timers
  88. 2627 xref.b c_lreg
  89. 2646 xref c_lcmp
  90. 2647 xref c_uitolx
  91. 2648 end