irsony.lst 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  1. GAS LISTING /tmp/ccyomdRo.s page 1
  2. 1 .file "irsony.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.__vector_15,"ax",@progbits
  10. 9 .global __vector_15
  11. 10 .type __vector_15, @function
  12. 11 __vector_15:
  13. 12 0000 1F92 push r1
  14. 13 0002 0F92 push r0
  15. 14 0004 0FB6 in r0,__SREG__
  16. 15 0006 0F92 push r0
  17. 16 0008 1124 clr __zero_reg__
  18. 17 000a 8F93 push r24
  19. 18 000c 9F93 push r25
  20. 19 /* prologue: Signal */
  21. 20 /* frame size = 0 */
  22. 21 /* stack size = 5 */
  23. 22 .L__stack_usage = 5
  24. 23 000e 80EF ldi r24,lo8(-16)
  25. 24 0010 8093 B200 sts 178,r24
  26. 25 0014 8091 0000 lds r24,irticks
  27. 26 0018 9091 0000 lds r25,irticks+1
  28. 27 001c 0196 adiw r24,1
  29. 28 001e 9093 0000 sts irticks+1,r25
  30. 29 0022 8093 0000 sts irticks,r24
  31. 30 0026 892B or r24,r25
  32. 31 0028 01F4 brne .L1
  33. 32 002a 1092 0000 sts irbitnum,__zero_reg__
  34. 33 002e 8091 6E00 lds r24,110
  35. 34 0032 8F7B andi r24,lo8(-65)
  36. 35 0034 8093 6E00 sts 110,r24
  37. 36 .L1:
  38. 37 /* epilogue start */
  39. 38 0038 9F91 pop r25
  40. 39 003a 8F91 pop r24
  41. 40 003c 0F90 pop r0
  42. 41 003e 0FBE out __SREG__,r0
  43. 42 0040 0F90 pop r0
  44. 43 0042 1F90 pop r1
  45. 44 0044 1895 reti
  46. 45 .size __vector_15, .-__vector_15
  47. 46 .section .text.__vector_5,"ax",@progbits
  48. 47 .global __vector_5
  49. 48 .type __vector_5, @function
  50. 49 __vector_5:
  51. 50 0000 1F92 push r1
  52. 51 0002 0F92 push r0
  53. 52 0004 0FB6 in r0,__SREG__
  54. 53 0006 0F92 push r0
  55. 54 0008 1124 clr __zero_reg__
  56. 55 000a 0BB6 in r0,__RAMPZ__
  57. 56 000c 0F92 push r0
  58. 57 000e 2F93 push r18
  59. GAS LISTING /tmp/ccyomdRo.s page 2
  60. 58 0010 3F93 push r19
  61. 59 0012 4F93 push r20
  62. 60 0014 5F93 push r21
  63. 61 0016 6F93 push r22
  64. 62 0018 7F93 push r23
  65. 63 001a 8F93 push r24
  66. 64 001c 9F93 push r25
  67. 65 001e AF93 push r26
  68. 66 0020 BF93 push r27
  69. 67 0022 EF93 push r30
  70. 68 0024 FF93 push r31
  71. 69 /* prologue: Signal */
  72. 70 /* frame size = 0 */
  73. 71 /* stack size = 16 */
  74. 72 .L__stack_usage = 16
  75. 73 0026 4091 0000 lds r20,irticks
  76. 74 002a 5091 0000 lds r21,irticks+1
  77. 75 002e 1092 0000 sts irticks+1,__zero_reg__
  78. 76 0032 1092 0000 sts irticks,__zero_reg__
  79. 77 0036 9091 0000 lds r25,irbitnum
  80. 78 003a 649B sbis 0xc,4
  81. 79 003c 00C0 rjmp .L5
  82. 80 003e 21E0 ldi r18,lo8(1)
  83. 81 0040 290F add r18,r25
  84. 82 0042 2093 0000 sts irbitnum,r18
  85. 83 0046 9111 cpse r25,__zero_reg__
  86. 84 0048 00C0 rjmp .L6
  87. 85 004a 1092 0000 sts ccode.2136+1,__zero_reg__
  88. 86 004e 1092 0000 sts ccode.2136,__zero_reg__
  89. 87 0052 CA01 movw r24,r20
  90. 88 0054 63E0 ldi r22,lo8(3)
  91. 89 0056 70E0 ldi r23,0
  92. 90 0058 0E94 0000 call __udivmodhi4
  93. 91 005c 7093 0000 sts minset.2135+1,r23
  94. 92 0060 6093 0000 sts minset.2135,r22
  95. 93 0064 00C0 rjmp .L4
  96. 94 .L6:
  97. 95 0066 8091 0000 lds r24,minset.2135
  98. 96 006a 9091 0000 lds r25,minset.2135+1
  99. 97 006e 4817 cp r20,r24
  100. 98 0070 5907 cpc r21,r25
  101. 99 0072 00F0 brlo .L8
  102. 100 0074 8091 0000 lds r24,ccode.2136
  103. 101 0078 9091 0000 lds r25,ccode.2136+1
  104. 102 007c 9061 ori r25,16
  105. 103 007e 9093 0000 sts ccode.2136+1,r25
  106. 104 0082 8093 0000 sts ccode.2136,r24
  107. 105 .L8:
  108. 106 0086 8091 0000 lds r24,ccode.2136
  109. 107 008a 9091 0000 lds r25,ccode.2136+1
  110. 108 008e 9695 lsr r25
  111. 109 0090 8795 ror r24
  112. 110 0092 9093 0000 sts ccode.2136+1,r25
  113. 111 0096 8093 0000 sts ccode.2136,r24
  114. 112 009a 2D30 cpi r18,lo8(13)
  115. 113 009c 00F4 brsh .+2
  116. 114 009e 00C0 rjmp .L4
  117. GAS LISTING /tmp/ccyomdRo.s page 3
  118. 115 00a0 8091 6E00 lds r24,110
  119. 116 00a4 8F7B andi r24,lo8(-65)
  120. 117 00a6 8093 6E00 sts 110,r24
  121. 118 00aa 1092 0000 sts irbitnum,__zero_reg__
  122. 119 00ae 8091 0000 lds r24,ncode.2138
  123. 120 00b2 41E0 ldi r20,lo8(1)
  124. 121 00b4 480F add r20,r24
  125. 122 00b6 4093 0000 sts ncode.2138,r20
  126. 123 00ba 2091 0000 lds r18,ccode.2136
  127. 124 00be 3091 0000 lds r19,ccode.2136+1
  128. 125 00c2 8823 tst r24
  129. 126 00c4 01F0 breq .L10
  130. 127 00c6 8091 0000 lds r24,lcode.2137
  131. 128 00ca 9091 0000 lds r25,lcode.2137+1
  132. 129 00ce 8217 cp r24,r18
  133. 130 00d0 9307 cpc r25,r19
  134. 131 00d2 01F0 breq .L11
  135. 132 00d4 1092 0000 sts ncode.2138,__zero_reg__
  136. 133 00d8 00C0 rjmp .L4
  137. 134 .L11:
  138. 135 00da 4230 cpi r20,lo8(2)
  139. 136 00dc 00F0 brlo .L4
  140. 137 00de 1092 0000 sts ncode.2138,__zero_reg__
  141. 138 00e2 A0E0 ldi r26,0
  142. 139 00e4 B0E0 ldi r27,0
  143. 140 00e6 8093 0000 sts nut_ircode,r24
  144. 141 00ea 9093 0000 sts nut_ircode+1,r25
  145. 142 00ee A093 0000 sts nut_ircode+2,r26
  146. 143 00f2 B093 0000 sts nut_ircode+3,r27
  147. 144 00f6 E091 0000 lds r30,nut_irqueue
  148. 145 00fa F091 0000 lds r31,nut_irqueue+1
  149. 146 00fe 3097 sbiw r30,0
  150. 147 0100 01F4 brne .L13
  151. 148 0102 8FEF ldi r24,lo8(-1)
  152. 149 0104 9FEF ldi r25,lo8(-1)
  153. 150 0106 9093 0000 sts nut_irqueue+1,r25
  154. 151 010a 8093 0000 sts nut_irqueue,r24
  155. 152 010e 00C0 rjmp .L4
  156. 153 .L13:
  157. 154 0110 EF3F cpi r30,-1
  158. 155 0112 8FEF ldi r24,-1
  159. 156 0114 F807 cpc r31,r24
  160. 157 0116 01F0 breq .L4
  161. 158 0118 8481 ldd r24,Z+4
  162. 159 011a 9581 ldd r25,Z+5
  163. 160 011c 0196 adiw r24,1
  164. 161 011e 9583 std Z+5,r25
  165. 162 0120 8483 std Z+4,r24
  166. 163 0122 00C0 rjmp .L4
  167. 164 .L10:
  168. 165 0124 3093 0000 sts lcode.2137+1,r19
  169. 166 0128 2093 0000 sts lcode.2137,r18
  170. 167 012c 00C0 rjmp .L4
  171. 168 .L5:
  172. 169 012e 9111 cpse r25,__zero_reg__
  173. 170 0130 00C0 rjmp .L4
  174. 171 0132 8091 6E00 lds r24,110
  175. GAS LISTING /tmp/ccyomdRo.s page 4
  176. 172 0136 8064 ori r24,lo8(64)
  177. 173 0138 8093 6E00 sts 110,r24
  178. 174 .L4:
  179. 175 /* epilogue start */
  180. 176 013c FF91 pop r31
  181. 177 013e EF91 pop r30
  182. 178 0140 BF91 pop r27
  183. 179 0142 AF91 pop r26
  184. 180 0144 9F91 pop r25
  185. 181 0146 8F91 pop r24
  186. 182 0148 7F91 pop r23
  187. 183 014a 6F91 pop r22
  188. 184 014c 5F91 pop r21
  189. 185 014e 4F91 pop r20
  190. 186 0150 3F91 pop r19
  191. 187 0152 2F91 pop r18
  192. 188 0154 0F90 pop r0
  193. 189 0156 0BBE out __RAMPZ__,r0
  194. 190 0158 0F90 pop r0
  195. 191 015a 0FBE out __SREG__,r0
  196. 192 015c 0F90 pop r0
  197. 193 015e 1F90 pop r1
  198. 194 0160 1895 reti
  199. 195 .size __vector_5, .-__vector_5
  200. 196 .section .text.NutIrInitSony,"ax",@progbits
  201. 197 .global NutIrInitSony
  202. 198 .type NutIrInitSony, @function
  203. 199 NutIrInitSony:
  204. 200 /* prologue: function */
  205. 201 /* frame size = 0 */
  206. 202 /* stack size = 0 */
  207. 203 .L__stack_usage = 0
  208. 204 /* #APP */
  209. 205 ; 160 "../../nut/arch/avr/dev/irsony.c" 1
  210. 206 0000 0FB6 in __tmp_reg__, __SREG__
  211. 207 0002 F894 cli
  212. 208 0004 0F92 push __tmp_reg__
  213. 209
  214. 210 ; 0 "" 2
  215. 211 /* #NOAPP */
  216. 212 0006 80EF ldi r24,lo8(-16)
  217. 213 0008 8093 B200 sts 178,r24
  218. 214 000c 81E0 ldi r24,lo8(1)
  219. 215 000e 8093 B000 sts 176,r24
  220. 216 0012 EEE6 ldi r30,lo8(110)
  221. 217 0014 F0E0 ldi r31,0
  222. 218 0016 8081 ld r24,Z
  223. 219 0018 8064 ori r24,lo8(64)
  224. 220 001a 8083 st Z,r24
  225. 221 001c 6C98 cbi 0xd,4
  226. 222 001e EAE6 ldi r30,lo8(106)
  227. 223 0020 F0E0 ldi r31,0
  228. 224 0022 8081 ld r24,Z
  229. 225 0024 8160 ori r24,lo8(1)
  230. 226 0026 8083 st Z,r24
  231. 227 0028 8081 ld r24,Z
  232. 228 002a 8D7F andi r24,lo8(-3)
  233. GAS LISTING /tmp/ccyomdRo.s page 5
  234. 229 002c 8083 st Z,r24
  235. 230 002e EC9A sbi 0x1d,4
  236. 231 /* #APP */
  237. 232 ; 176 "../../nut/arch/avr/dev/irsony.c" 1
  238. 233 0030 0F90 pop __tmp_reg__
  239. 234 0032 0FBE out __SREG__, __tmp_reg__
  240. 235
  241. 236 ; 0 "" 2
  242. 237 /* #NOAPP */
  243. 238 0034 80E0 ldi r24,0
  244. 239 0036 90E0 ldi r25,0
  245. 240 0038 0895 ret
  246. 241 .size NutIrInitSony, .-NutIrInitSony
  247. 242 .local lcode.2137
  248. 243 .comm lcode.2137,2,1
  249. 244 .local ncode.2138
  250. 245 .comm ncode.2138,1,1
  251. 246 .local minset.2135
  252. 247 .comm minset.2135,2,1
  253. 248 .local ccode.2136
  254. 249 .comm ccode.2136,2,1
  255. 250 .local irbitnum
  256. 251 .comm irbitnum,1,1
  257. 252 .local irticks
  258. 253 .comm irticks,2,1
  259. 254 .comm nut_irqueue,2,1
  260. 255 .comm nut_ircode,4,1
  261. 256 .ident "GCC: (GNU) 5.3.0"
  262. 257 .global __do_clear_bss
  263. GAS LISTING /tmp/ccyomdRo.s page 6
  264. DEFINED SYMBOLS
  265. *ABS*:0000000000000000 irsony.c
  266. /tmp/ccyomdRo.s:2 *ABS*:000000000000003e __SP_H__
  267. /tmp/ccyomdRo.s:3 *ABS*:000000000000003d __SP_L__
  268. /tmp/ccyomdRo.s:4 *ABS*:000000000000003f __SREG__
  269. /tmp/ccyomdRo.s:5 *ABS*:000000000000003b __RAMPZ__
  270. /tmp/ccyomdRo.s:6 *ABS*:0000000000000000 __tmp_reg__
  271. /tmp/ccyomdRo.s:7 *ABS*:0000000000000001 __zero_reg__
  272. /tmp/ccyomdRo.s:11 .text.__vector_15:0000000000000000 __vector_15
  273. /tmp/ccyomdRo.s:251 .bss:0000000000000008 irticks
  274. /tmp/ccyomdRo.s:249 .bss:0000000000000007 irbitnum
  275. /tmp/ccyomdRo.s:49 .text.__vector_5:0000000000000000 __vector_5
  276. /tmp/ccyomdRo.s:247 .bss:0000000000000005 ccode.2136
  277. /tmp/ccyomdRo.s:245 .bss:0000000000000003 minset.2135
  278. /tmp/ccyomdRo.s:243 .bss:0000000000000002 ncode.2138
  279. .bss:0000000000000000 lcode.2137
  280. *COM*:0000000000000004 nut_ircode
  281. *COM*:0000000000000002 nut_irqueue
  282. /tmp/ccyomdRo.s:199 .text.NutIrInitSony:0000000000000000 NutIrInitSony
  283. UNDEFINED SYMBOLS
  284. __udivmodhi4
  285. __do_clear_bss