ostimer.lst 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. GAS LISTING /tmp/ccvSgVeZ.s page 1
  2. 1 .file "ostimer.c"
  3. 2 __SP_H__ = 0x3e
  4. 3 __SP_L__ = 0x3d
  5. 4 __SREG__ = 0x3f
  6. 5 __RAMPZ__ = 0x3b
  7. 6 __tmp_reg__ = 0
  8. 7 __zero_reg__ = 1
  9. 8 .section .text.NutRegisterTimer,"ax",@progbits
  10. 9 .global NutRegisterTimer
  11. 10 .type NutRegisterTimer, @function
  12. 11 NutRegisterTimer:
  13. 12 /* prologue: function */
  14. 13 /* frame size = 0 */
  15. 14 /* stack size = 0 */
  16. 15 .L__stack_usage = 0
  17. 16 0000 BC01 movw r22,r24
  18. 17 0002 80E0 ldi r24,0
  19. 18 0004 90E0 ldi r25,0
  20. 19 0006 A1EE ldi r26,lo8(-31)
  21. 20 0008 B0E0 ldi r27,0
  22. 21 000a 8093 0000 sts cpu_clock,r24
  23. 22 000e 9093 0000 sts cpu_clock+1,r25
  24. 23 0012 A093 0000 sts cpu_clock+2,r26
  25. 24 0016 B093 0000 sts cpu_clock+3,r27
  26. 25 001a E0E7 ldi r30,lo8(112)
  27. 26 001c F0E0 ldi r31,0
  28. 27 001e 9081 ld r25,Z
  29. 28 0020 9D7F andi r25,lo8(-3)
  30. 29 0022 9083 st Z,r25
  31. 30 0024 1092 B200 sts 178,__zero_reg__
  32. 31 0028 92E0 ldi r25,lo8(2)
  33. 32 002a 9093 B000 sts 176,r25
  34. 33 002e 85E0 ldi r24,lo8(5)
  35. 34 0030 8093 B100 sts 177,r24
  36. 35 0034 82E7 ldi r24,lo8(114)
  37. 36 0036 8093 B300 sts 179,r24
  38. 37 003a 95BB out 0x15,r25
  39. 38 003c 40E0 ldi r20,0
  40. 39 003e 50E0 ldi r21,0
  41. 40 0040 80E0 ldi r24,lo8(sig_OUTPUT_COMPARE2)
  42. 41 0042 90E0 ldi r25,hi8(sig_OUTPUT_COMPARE2)
  43. 42 0044 0C94 0000 jmp NutRegisterIrqHandler
  44. 43 .size NutRegisterTimer, .-NutRegisterTimer
  45. 44 .section .text.NutArchClockGet,"ax",@progbits
  46. 45 .global NutArchClockGet
  47. 46 .type NutArchClockGet, @function
  48. 47 NutArchClockGet:
  49. 48 /* prologue: function */
  50. 49 /* frame size = 0 */
  51. 50 /* stack size = 0 */
  52. 51 .L__stack_usage = 0
  53. 52 0000 6091 0000 lds r22,cpu_clock
  54. 53 0004 7091 0000 lds r23,cpu_clock+1
  55. 54 0008 8091 0000 lds r24,cpu_clock+2
  56. 55 000c 9091 0000 lds r25,cpu_clock+3
  57. 56 0010 0895 ret
  58. 57 .size NutArchClockGet, .-NutArchClockGet
  59. GAS LISTING /tmp/ccvSgVeZ.s page 2
  60. 58 .section .text.NutGetTickClock,"ax",@progbits
  61. 59 .global NutGetTickClock
  62. 60 .type NutGetTickClock, @function
  63. 61 NutGetTickClock:
  64. 62 /* prologue: function */
  65. 63 /* frame size = 0 */
  66. 64 /* stack size = 0 */
  67. 65 .L__stack_usage = 0
  68. 66 0000 6AEE ldi r22,lo8(-22)
  69. 67 0002 73E0 ldi r23,lo8(3)
  70. 68 0004 80E0 ldi r24,0
  71. 69 0006 90E0 ldi r25,0
  72. 70 0008 0895 ret
  73. 71 .size NutGetTickClock, .-NutGetTickClock
  74. 72 .section .text.NutTimerMillisToTicks,"ax",@progbits
  75. 73 .global NutTimerMillisToTicks
  76. 74 .type NutTimerMillisToTicks, @function
  77. 75 NutTimerMillisToTicks:
  78. 76 /* prologue: function */
  79. 77 /* frame size = 0 */
  80. 78 /* stack size = 0 */
  81. 79 .L__stack_usage = 0
  82. 80 0000 6115 cp r22,__zero_reg__
  83. 81 0002 20E8 ldi r18,-128
  84. 82 0004 7207 cpc r23,r18
  85. 83 0006 2EE3 ldi r18,62
  86. 84 0008 8207 cpc r24,r18
  87. 85 000a 9105 cpc r25,__zero_reg__
  88. 86 000c 00F0 brlo .L5
  89. 87 000e 28EE ldi r18,lo8(-24)
  90. 88 0010 33E0 ldi r19,lo8(3)
  91. 89 0012 40E0 ldi r20,0
  92. 90 0014 50E0 ldi r21,0
  93. 91 0016 0E94 0000 call __udivmodsi4
  94. 92 001a AAEE ldi r26,lo8(-22)
  95. 93 001c B3E0 ldi r27,lo8(3)
  96. 94 001e 0E94 0000 call __muluhisi3
  97. 95 0022 0895 ret
  98. 96 .L5:
  99. 97 0024 AAEE ldi r26,lo8(-22)
  100. 98 0026 B3E0 ldi r27,lo8(3)
  101. 99 0028 9B01 movw r18,r22
  102. 100 002a AC01 movw r20,r24
  103. 101 002c 0E94 0000 call __muluhisi3
  104. 102 0030 6951 subi r22,25
  105. 103 0032 7C4F sbci r23,-4
  106. 104 0034 8F4F sbci r24,-1
  107. 105 0036 9F4F sbci r25,-1
  108. 106 0038 28EE ldi r18,lo8(-24)
  109. 107 003a 33E0 ldi r19,lo8(3)
  110. 108 003c 40E0 ldi r20,0
  111. 109 003e 50E0 ldi r21,0
  112. 110 0040 0E94 0000 call __udivmodsi4
  113. 111 0044 CA01 movw r24,r20
  114. 112 0046 B901 movw r22,r18
  115. 113 0048 0895 ret
  116. 114 .size NutTimerMillisToTicks, .-NutTimerMillisToTicks
  117. GAS LISTING /tmp/ccvSgVeZ.s page 3
  118. 115 .local cpu_clock
  119. 116 .comm cpu_clock,4,1
  120. 117 .ident "GCC: (GNU) 5.3.0"
  121. 118 .global __do_clear_bss
  122. GAS LISTING /tmp/ccvSgVeZ.s page 4
  123. DEFINED SYMBOLS
  124. *ABS*:0000000000000000 ostimer.c
  125. /tmp/ccvSgVeZ.s:2 *ABS*:000000000000003e __SP_H__
  126. /tmp/ccvSgVeZ.s:3 *ABS*:000000000000003d __SP_L__
  127. /tmp/ccvSgVeZ.s:4 *ABS*:000000000000003f __SREG__
  128. /tmp/ccvSgVeZ.s:5 *ABS*:000000000000003b __RAMPZ__
  129. /tmp/ccvSgVeZ.s:6 *ABS*:0000000000000000 __tmp_reg__
  130. /tmp/ccvSgVeZ.s:7 *ABS*:0000000000000001 __zero_reg__
  131. /tmp/ccvSgVeZ.s:11 .text.NutRegisterTimer:0000000000000000 NutRegisterTimer
  132. .bss:0000000000000000 cpu_clock
  133. /tmp/ccvSgVeZ.s:47 .text.NutArchClockGet:0000000000000000 NutArchClockGet
  134. /tmp/ccvSgVeZ.s:61 .text.NutGetTickClock:0000000000000000 NutGetTickClock
  135. /tmp/ccvSgVeZ.s:75 .text.NutTimerMillisToTicks:0000000000000000 NutTimerMillisToTicks
  136. UNDEFINED SYMBOLS
  137. sig_OUTPUT_COMPARE2
  138. NutRegisterIrqHandler
  139. __udivmodsi4
  140. __muluhisi3
  141. __do_clear_bss