event.lst 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603
  1. GAS LISTING /tmp/ccQLIKGP.s page 1
  2. 1 .file "event.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.NutEventTimeout,"ax",@progbits
  10. 9 .global NutEventTimeout
  11. 10 .type NutEventTimeout, @function
  12. 11 NutEventTimeout:
  13. 12 0000 CF93 push r28
  14. 13 0002 DF93 push r29
  15. 14 /* prologue: function */
  16. 15 /* frame size = 0 */
  17. 16 /* stack size = 2 */
  18. 17 .L__stack_usage = 2
  19. 18 0004 FB01 movw r30,r22
  20. 19 /* #APP */
  21. 20 ; 204 "../../nut/os/event.c" 1
  22. 21 0006 0FB6 in __tmp_reg__, __SREG__
  23. 22 0008 F894 cli
  24. 23 000a 0F92 push __tmp_reg__
  25. 24
  26. 25 ; 0 "" 2
  27. 26 /* #NOAPP */
  28. 27 000c C081 ld r28,Z
  29. 28 000e D181 ldd r29,Z+1
  30. 29 /* #APP */
  31. 30 ; 206 "../../nut/os/event.c" 1
  32. 31 0010 0F90 pop __tmp_reg__
  33. 32 0012 0FBE out __SREG__, __tmp_reg__
  34. 33
  35. 34 ; 0 "" 2
  36. 35 /* #NOAPP */
  37. 36 0014 CF3F cpi r28,-1
  38. 37 0016 2FEF ldi r18,-1
  39. 38 0018 D207 cpc r29,r18
  40. 39 001a 01F0 breq .L1
  41. 40 .L3:
  42. 41 001c 2097 sbiw r28,0
  43. 42 001e 01F0 breq .L1
  44. 43 0020 4D89 ldd r20,Y+21
  45. 44 0022 5E89 ldd r21,Y+22
  46. 45 0024 2A81 ldd r18,Y+2
  47. 46 0026 3B81 ldd r19,Y+3
  48. 47 0028 4817 cp r20,r24
  49. 48 002a 5907 cpc r21,r25
  50. 49 002c 01F4 brne .L4
  51. 50 /* #APP */
  52. 51 ; 223 "../../nut/os/event.c" 1
  53. 52 002e 0FB6 in __tmp_reg__, __SREG__
  54. 53 0030 F894 cli
  55. 54 0032 0F92 push __tmp_reg__
  56. 55
  57. 56 ; 0 "" 2
  58. 57 /* #NOAPP */
  59. GAS LISTING /tmp/ccQLIKGP.s page 2
  60. 58 0034 3183 std Z+1,r19
  61. 59 0036 2083 st Z,r18
  62. 60 0038 8C81 ldd r24,Y+4
  63. 61 003a 9D81 ldd r25,Y+5
  64. 62 003c 892B or r24,r25
  65. 63 003e 01F0 breq .L5
  66. 64 0040 AA81 ldd r26,Y+2
  67. 65 0042 BB81 ldd r27,Y+3
  68. 66 0044 1097 sbiw r26,0
  69. 67 0046 01F0 breq .L6
  70. 68 0048 8C81 ldd r24,Y+4
  71. 69 004a 9D81 ldd r25,Y+5
  72. 70 004c 1596 adiw r26,4+1
  73. 71 004e 9C93 st X,r25
  74. 72 0050 8E93 st -X,r24
  75. 73 0052 1497 sbiw r26,4
  76. 74 0054 00C0 rjmp .L7
  77. 75 .L6:
  78. 76 0056 8FEF ldi r24,lo8(-1)
  79. 77 0058 9FEF ldi r25,lo8(-1)
  80. 78 005a 9183 std Z+1,r25
  81. 79 005c 8083 st Z,r24
  82. 80 .L7:
  83. 81 005e 1D82 std Y+5,__zero_reg__
  84. 82 0060 1C82 std Y+4,__zero_reg__
  85. 83 .L5:
  86. 84 /* #APP */
  87. 85 ; 234 "../../nut/os/event.c" 1
  88. 86 0062 0F90 pop __tmp_reg__
  89. 87 0064 0FBE out __SREG__, __tmp_reg__
  90. 88
  91. 89 ; 0 "" 2
  92. 90 /* #NOAPP */
  93. 91 0066 82E0 ldi r24,lo8(2)
  94. 92 0068 8F87 std Y+15,r24
  95. 93 006a 60E0 ldi r22,lo8(runQueue)
  96. 94 006c 70E0 ldi r23,hi8(runQueue)
  97. 95 006e CE01 movw r24,r28
  98. 96 0070 0E94 0000 call NutThreadAddPriQueue
  99. 97 0074 8FEF ldi r24,lo8(-1)
  100. 98 0076 9FEF ldi r25,lo8(-1)
  101. 99 0078 9E8B std Y+22,r25
  102. 100 007a 8D8B std Y+21,r24
  103. 101 007c 00C0 rjmp .L1
  104. 102 .L4:
  105. 103 007e FE01 movw r30,r28
  106. 104 0080 3296 adiw r30,2
  107. 105 0082 E901 movw r28,r18
  108. 106 0084 00C0 rjmp .L3
  109. 107 .L1:
  110. 108 /* epilogue start */
  111. 109 0086 DF91 pop r29
  112. 110 0088 CF91 pop r28
  113. 111 008a 0895 ret
  114. 112 .size NutEventTimeout, .-NutEventTimeout
  115. 113 .section .text.NutEventWait,"ax",@progbits
  116. 114 .global NutEventWait
  117. GAS LISTING /tmp/ccQLIKGP.s page 3
  118. 115 .type NutEventWait, @function
  119. 116 NutEventWait:
  120. 117 0000 8F92 push r8
  121. 118 0002 9F92 push r9
  122. 119 0004 AF92 push r10
  123. 120 0006 BF92 push r11
  124. 121 0008 EF92 push r14
  125. 122 000a FF92 push r15
  126. 123 000c 0F93 push r16
  127. 124 000e CF93 push r28
  128. 125 0010 DF93 push r29
  129. 126 /* prologue: function */
  130. 127 /* frame size = 0 */
  131. 128 /* stack size = 9 */
  132. 129 .L__stack_usage = 9
  133. 130 0012 EC01 movw r28,r24
  134. 131 0014 4A01 movw r8,r20
  135. 132 0016 5B01 movw r10,r22
  136. 133 /* #APP */
  137. 134 ; 278 "../../nut/os/event.c" 1
  138. 135 0018 0FB6 in __tmp_reg__, __SREG__
  139. 136 001a F894 cli
  140. 137 001c 0F92 push __tmp_reg__
  141. 138
  142. 139 ; 0 "" 2
  143. 140 /* #NOAPP */
  144. 141 001e 8881 ld r24,Y
  145. 142 0020 9981 ldd r25,Y+1
  146. 143 /* #APP */
  147. 144 ; 280 "../../nut/os/event.c" 1
  148. 145 0022 0F90 pop __tmp_reg__
  149. 146 0024 0FBE out __SREG__, __tmp_reg__
  150. 147
  151. 148 ; 0 "" 2
  152. 149 /* #NOAPP */
  153. 150 0026 0196 adiw r24,1
  154. 151 0028 01F4 brne .L17
  155. 152 /* #APP */
  156. 153 ; 287 "../../nut/os/event.c" 1
  157. 154 002a 0FB6 in __tmp_reg__, __SREG__
  158. 155 002c F894 cli
  159. 156 002e 0F92 push __tmp_reg__
  160. 157
  161. 158 ; 0 "" 2
  162. 159 /* #NOAPP */
  163. 160 0030 1982 std Y+1,__zero_reg__
  164. 161 0032 1882 st Y,__zero_reg__
  165. 162 /* #APP */
  166. 163 ; 289 "../../nut/os/event.c" 1
  167. 164 0034 0F90 pop __tmp_reg__
  168. 165 0036 0FBE out __SREG__, __tmp_reg__
  169. 166
  170. 167 ; 0 "" 2
  171. 168 /* #NOAPP */
  172. 169 0038 0E94 0000 call NutThreadYield
  173. 170 003c 00C0 rjmp .L21
  174. 171 .L17:
  175. GAS LISTING /tmp/ccQLIKGP.s page 4
  176. 172 003e 60E0 ldi r22,lo8(runQueue)
  177. 173 0040 70E0 ldi r23,hi8(runQueue)
  178. 174 0042 8091 0000 lds r24,runningThread
  179. 175 0046 9091 0000 lds r25,runningThread+1
  180. 176 004a 0E94 0000 call NutThreadRemoveQueue
  181. 177 004e BE01 movw r22,r28
  182. 178 0050 8091 0000 lds r24,runningThread
  183. 179 0054 9091 0000 lds r25,runningThread+1
  184. 180 0058 0E94 0000 call NutThreadAddPriQueue
  185. 181 005c E090 0000 lds r14,runningThread
  186. 182 0060 F090 0000 lds r15,runningThread+1
  187. 183 0064 83E0 ldi r24,lo8(3)
  188. 184 0066 F701 movw r30,r14
  189. 185 0068 8787 std Z+15,r24
  190. 186 006a 8114 cp r8,__zero_reg__
  191. 187 006c 9104 cpc r9,__zero_reg__
  192. 188 006e A104 cpc r10,__zero_reg__
  193. 189 0070 B104 cpc r11,__zero_reg__
  194. 190 0072 01F0 breq .L19
  195. 191 0074 01E0 ldi r16,lo8(1)
  196. 192 0076 9E01 movw r18,r28
  197. 193 0078 40E0 ldi r20,lo8(gs(NutEventTimeout))
  198. 194 007a 50E0 ldi r21,hi8(gs(NutEventTimeout))
  199. 195 007c C501 movw r24,r10
  200. 196 007e B401 movw r22,r8
  201. 197 0080 0E94 0000 call NutTimerStart
  202. 198 0084 F701 movw r30,r14
  203. 199 0086 968B std Z+22,r25
  204. 200 0088 858B std Z+21,r24
  205. 201 008a 00C0 rjmp .L20
  206. 202 .L19:
  207. 203 008c F701 movw r30,r14
  208. 204 008e 168A std Z+22,__zero_reg__
  209. 205 0090 158A std Z+21,__zero_reg__
  210. 206 .L20:
  211. 207 0092 0E94 0000 call NutThreadResume
  212. 208 0096 E091 0000 lds r30,runningThread
  213. 209 009a F091 0000 lds r31,runningThread+1
  214. 210 009e 8589 ldd r24,Z+21
  215. 211 00a0 9689 ldd r25,Z+22
  216. 212 00a2 0196 adiw r24,1
  217. 213 00a4 01F4 brne .L21
  218. 214 00a6 168A std Z+22,__zero_reg__
  219. 215 00a8 158A std Z+21,__zero_reg__
  220. 216 00aa 8FEF ldi r24,lo8(-1)
  221. 217 00ac 9FEF ldi r25,lo8(-1)
  222. 218 00ae 00C0 rjmp .L18
  223. 219 .L21:
  224. 220 00b0 80E0 ldi r24,0
  225. 221 00b2 90E0 ldi r25,0
  226. 222 .L18:
  227. 223 /* epilogue start */
  228. 224 00b4 DF91 pop r29
  229. 225 00b6 CF91 pop r28
  230. 226 00b8 0F91 pop r16
  231. 227 00ba FF90 pop r15
  232. 228 00bc EF90 pop r14
  233. GAS LISTING /tmp/ccQLIKGP.s page 5
  234. 229 00be BF90 pop r11
  235. 230 00c0 AF90 pop r10
  236. 231 00c2 9F90 pop r9
  237. 232 00c4 8F90 pop r8
  238. 233 00c6 0895 ret
  239. 234 .size NutEventWait, .-NutEventWait
  240. 235 .section .text.NutEventWaitNext,"ax",@progbits
  241. 236 .global NutEventWaitNext
  242. 237 .type NutEventWaitNext, @function
  243. 238 NutEventWaitNext:
  244. 239 /* prologue: function */
  245. 240 /* frame size = 0 */
  246. 241 /* stack size = 0 */
  247. 242 .L__stack_usage = 0
  248. 243 /* #APP */
  249. 244 ; 357 "../../nut/os/event.c" 1
  250. 245 0000 0FB6 in __tmp_reg__, __SREG__
  251. 246 0002 F894 cli
  252. 247 0004 0F92 push __tmp_reg__
  253. 248
  254. 249 ; 0 "" 2
  255. 250 /* #NOAPP */
  256. 251 0006 FC01 movw r30,r24
  257. 252 0008 2081 ld r18,Z
  258. 253 000a 3181 ldd r19,Z+1
  259. 254 000c 2F3F cpi r18,-1
  260. 255 000e 3F4F sbci r19,-1
  261. 256 0010 01F4 brne .L23
  262. 257 0012 FC01 movw r30,r24
  263. 258 0014 1182 std Z+1,__zero_reg__
  264. 259 0016 1082 st Z,__zero_reg__
  265. 260 .L23:
  266. 261 /* #APP */
  267. 262 ; 360 "../../nut/os/event.c" 1
  268. 263 0018 0F90 pop __tmp_reg__
  269. 264 001a 0FBE out __SREG__, __tmp_reg__
  270. 265
  271. 266 ; 0 "" 2
  272. 267 /* #NOAPP */
  273. 268 001c 0C94 0000 jmp NutEventWait
  274. 269 .size NutEventWaitNext, .-NutEventWaitNext
  275. 270 .section .text.NutEventPostAsync,"ax",@progbits
  276. 271 .global NutEventPostAsync
  277. 272 .type NutEventPostAsync, @function
  278. 273 NutEventPostAsync:
  279. 274 0000 CF93 push r28
  280. 275 0002 DF93 push r29
  281. 276 /* prologue: function */
  282. 277 /* frame size = 0 */
  283. 278 /* stack size = 2 */
  284. 279 .L__stack_usage = 2
  285. 280 0004 FC01 movw r30,r24
  286. 281 /* #APP */
  287. 282 ; 390 "../../nut/os/event.c" 1
  288. 283 0006 0FB6 in __tmp_reg__, __SREG__
  289. 284 0008 F894 cli
  290. 285 000a 0F92 push __tmp_reg__
  291. GAS LISTING /tmp/ccQLIKGP.s page 6
  292. 286
  293. 287 ; 0 "" 2
  294. 288 /* #NOAPP */
  295. 289 000c C081 ld r28,Z
  296. 290 000e D181 ldd r29,Z+1
  297. 291 /* #APP */
  298. 292 ; 392 "../../nut/os/event.c" 1
  299. 293 0010 0F90 pop __tmp_reg__
  300. 294 0012 0FBE out __SREG__, __tmp_reg__
  301. 295
  302. 296 ; 0 "" 2
  303. 297 /* #NOAPP */
  304. 298 0014 CF3F cpi r28,-1
  305. 299 0016 8FEF ldi r24,-1
  306. 300 0018 D807 cpc r29,r24
  307. 301 001a 01F4 brne .+2
  308. 302 001c 00C0 rjmp .L31
  309. 303 001e 2097 sbiw r28,0
  310. 304 0020 01F0 breq .L26
  311. 305 /* #APP */
  312. 306 ; 400 "../../nut/os/event.c" 1
  313. 307 0022 0FB6 in __tmp_reg__, __SREG__
  314. 308 0024 F894 cli
  315. 309 0026 0F92 push __tmp_reg__
  316. 310
  317. 311 ; 0 "" 2
  318. 312 /* #NOAPP */
  319. 313 0028 8A81 ldd r24,Y+2
  320. 314 002a 9B81 ldd r25,Y+3
  321. 315 002c 9183 std Z+1,r25
  322. 316 002e 8083 st Z,r24
  323. 317 0030 8C81 ldd r24,Y+4
  324. 318 0032 9D81 ldd r25,Y+5
  325. 319 0034 892B or r24,r25
  326. 320 0036 01F0 breq .L27
  327. 321 0038 AA81 ldd r26,Y+2
  328. 322 003a BB81 ldd r27,Y+3
  329. 323 003c 1097 sbiw r26,0
  330. 324 003e 01F0 breq .L28
  331. 325 0040 8C81 ldd r24,Y+4
  332. 326 0042 9D81 ldd r25,Y+5
  333. 327 0044 1596 adiw r26,4+1
  334. 328 0046 9C93 st X,r25
  335. 329 0048 8E93 st -X,r24
  336. 330 004a 1497 sbiw r26,4
  337. 331 004c 00C0 rjmp .L29
  338. 332 .L28:
  339. 333 004e 8FEF ldi r24,lo8(-1)
  340. 334 0050 9FEF ldi r25,lo8(-1)
  341. 335 0052 9183 std Z+1,r25
  342. 336 0054 8083 st Z,r24
  343. 337 .L29:
  344. 338 0056 1D82 std Y+5,__zero_reg__
  345. 339 0058 1C82 std Y+4,__zero_reg__
  346. 340 .L27:
  347. 341 /* #APP */
  348. 342 ; 411 "../../nut/os/event.c" 1
  349. GAS LISTING /tmp/ccQLIKGP.s page 7
  350. 343 005a 0F90 pop __tmp_reg__
  351. 344 005c 0FBE out __SREG__, __tmp_reg__
  352. 345
  353. 346 ; 0 "" 2
  354. 347 /* #NOAPP */
  355. 348 005e 8D89 ldd r24,Y+21
  356. 349 0060 9E89 ldd r25,Y+22
  357. 350 0062 0097 sbiw r24,0
  358. 351 0064 01F0 breq .L30
  359. 352 0066 0E94 0000 call NutTimerStop
  360. 353 006a 1E8A std Y+22,__zero_reg__
  361. 354 006c 1D8A std Y+21,__zero_reg__
  362. 355 .L30:
  363. 356 006e 82E0 ldi r24,lo8(2)
  364. 357 0070 8F87 std Y+15,r24
  365. 358 0072 60E0 ldi r22,lo8(runQueue)
  366. 359 0074 70E0 ldi r23,hi8(runQueue)
  367. 360 0076 CE01 movw r24,r28
  368. 361 0078 0E94 0000 call NutThreadAddPriQueue
  369. 362 007c 81E0 ldi r24,lo8(1)
  370. 363 007e 90E0 ldi r25,0
  371. 364 0080 00C0 rjmp .L25
  372. 365 .L26:
  373. 366 /* #APP */
  374. 367 ; 427 "../../nut/os/event.c" 1
  375. 368 0082 0FB6 in __tmp_reg__, __SREG__
  376. 369 0084 F894 cli
  377. 370 0086 0F92 push __tmp_reg__
  378. 371
  379. 372 ; 0 "" 2
  380. 373 /* #NOAPP */
  381. 374 0088 8FEF ldi r24,lo8(-1)
  382. 375 008a 9FEF ldi r25,lo8(-1)
  383. 376 008c 9183 std Z+1,r25
  384. 377 008e 8083 st Z,r24
  385. 378 /* #APP */
  386. 379 ; 429 "../../nut/os/event.c" 1
  387. 380 0090 0F90 pop __tmp_reg__
  388. 381 0092 0FBE out __SREG__, __tmp_reg__
  389. 382
  390. 383 ; 0 "" 2
  391. 384 /* #NOAPP */
  392. 385 .L31:
  393. 386 0094 80E0 ldi r24,0
  394. 387 0096 90E0 ldi r25,0
  395. 388 .L25:
  396. 389 /* epilogue start */
  397. 390 0098 DF91 pop r29
  398. 391 009a CF91 pop r28
  399. 392 009c 0895 ret
  400. 393 .size NutEventPostAsync, .-NutEventPostAsync
  401. 394 .section .text.NutEventPost,"ax",@progbits
  402. 395 .global NutEventPost
  403. 396 .type NutEventPost, @function
  404. 397 NutEventPost:
  405. 398 0000 CF93 push r28
  406. 399 0002 DF93 push r29
  407. GAS LISTING /tmp/ccQLIKGP.s page 8
  408. 400 0004 1F92 push __zero_reg__
  409. 401 0006 1F92 push __zero_reg__
  410. 402 0008 CDB7 in r28,__SP_L__
  411. 403 000a DEB7 in r29,__SP_H__
  412. 404 /* prologue: function */
  413. 405 /* frame size = 2 */
  414. 406 /* stack size = 4 */
  415. 407 .L__stack_usage = 4
  416. 408 000c 0E94 0000 call NutEventPostAsync
  417. 409 0010 8983 std Y+1,r24
  418. 410 0012 9A83 std Y+2,r25
  419. 411 0014 0E94 0000 call NutThreadYield
  420. 412 0018 8981 ldd r24,Y+1
  421. 413 001a 9A81 ldd r25,Y+2
  422. 414 /* epilogue start */
  423. 415 001c 0F90 pop __tmp_reg__
  424. 416 001e 0F90 pop __tmp_reg__
  425. 417 0020 DF91 pop r29
  426. 418 0022 CF91 pop r28
  427. 419 0024 0895 ret
  428. 420 .size NutEventPost, .-NutEventPost
  429. 421 .section .text.NutEventBroadcastAsync,"ax",@progbits
  430. 422 .global NutEventBroadcastAsync
  431. 423 .type NutEventBroadcastAsync, @function
  432. 424 NutEventBroadcastAsync:
  433. 425 0000 0F93 push r16
  434. 426 0002 1F93 push r17
  435. 427 0004 CF93 push r28
  436. 428 0006 DF93 push r29
  437. 429 /* prologue: function */
  438. 430 /* frame size = 0 */
  439. 431 /* stack size = 4 */
  440. 432 .L__stack_usage = 4
  441. 433 0008 8C01 movw r16,r24
  442. 434 /* #APP */
  443. 435 ; 494 "../../nut/os/event.c" 1
  444. 436 000a 0FB6 in __tmp_reg__, __SREG__
  445. 437 000c F894 cli
  446. 438 000e 0F92 push __tmp_reg__
  447. 439
  448. 440 ; 0 "" 2
  449. 441 /* #NOAPP */
  450. 442 0010 FC01 movw r30,r24
  451. 443 0012 8081 ld r24,Z
  452. 444 0014 9181 ldd r25,Z+1
  453. 445 /* #APP */
  454. 446 ; 496 "../../nut/os/event.c" 1
  455. 447 0016 0F90 pop __tmp_reg__
  456. 448 0018 0FBE out __SREG__, __tmp_reg__
  457. 449
  458. 450 ; 0 "" 2
  459. 451 /* #NOAPP */
  460. 452 001a 8F3F cpi r24,-1
  461. 453 001c FFEF ldi r31,-1
  462. 454 001e 9F07 cpc r25,r31
  463. 455 0020 01F4 brne .L40
  464. 456 /* #APP */
  465. GAS LISTING /tmp/ccQLIKGP.s page 9
  466. 457 ; 499 "../../nut/os/event.c" 1
  467. 458 0022 0FB6 in __tmp_reg__, __SREG__
  468. 459 0024 F894 cli
  469. 460 0026 0F92 push __tmp_reg__
  470. 461
  471. 462 ; 0 "" 2
  472. 463 /* #NOAPP */
  473. 464 0028 F801 movw r30,r16
  474. 465 002a 1182 std Z+1,__zero_reg__
  475. 466 002c 1082 st Z,__zero_reg__
  476. 467 /* #APP */
  477. 468 ; 501 "../../nut/os/event.c" 1
  478. 469 002e 0F90 pop __tmp_reg__
  479. 470 0030 0FBE out __SREG__, __tmp_reg__
  480. 471
  481. 472 ; 0 "" 2
  482. 473 /* #NOAPP */
  483. 474 0032 C0E0 ldi r28,0
  484. 475 0034 D0E0 ldi r29,0
  485. 476 0036 00C0 rjmp .L41
  486. 477 .L40:
  487. 478 0038 C0E0 ldi r28,0
  488. 479 003a D0E0 ldi r29,0
  489. 480 003c 892B or r24,r25
  490. 481 003e 01F0 breq .L41
  491. 482 .L42:
  492. 483 0040 C801 movw r24,r16
  493. 484 0042 0E94 0000 call NutEventPostAsync
  494. 485 0046 C80F add r28,r24
  495. 486 0048 D91F adc r29,r25
  496. 487 /* #APP */
  497. 488 ; 507 "../../nut/os/event.c" 1
  498. 489 004a 0FB6 in __tmp_reg__, __SREG__
  499. 490 004c F894 cli
  500. 491 004e 0F92 push __tmp_reg__
  501. 492
  502. 493 ; 0 "" 2
  503. 494 /* #NOAPP */
  504. 495 0050 F801 movw r30,r16
  505. 496 0052 8081 ld r24,Z
  506. 497 0054 9181 ldd r25,Z+1
  507. 498 /* #APP */
  508. 499 ; 509 "../../nut/os/event.c" 1
  509. 500 0056 0F90 pop __tmp_reg__
  510. 501 0058 0FBE out __SREG__, __tmp_reg__
  511. 502
  512. 503 ; 0 "" 2
  513. 504 /* #NOAPP */
  514. 505 005a 0197 sbiw r24,1
  515. 506 005c 8E3F cpi r24,-2
  516. 507 005e 9F4F sbci r25,-1
  517. 508 0060 00F0 brlo .L42
  518. 509 .L41:
  519. 510 0062 CE01 movw r24,r28
  520. 511 /* epilogue start */
  521. 512 0064 DF91 pop r29
  522. 513 0066 CF91 pop r28
  523. GAS LISTING /tmp/ccQLIKGP.s page 10
  524. 514 0068 1F91 pop r17
  525. 515 006a 0F91 pop r16
  526. 516 006c 0895 ret
  527. 517 .size NutEventBroadcastAsync, .-NutEventBroadcastAsync
  528. 518 .section .text.NutEventBroadcast,"ax",@progbits
  529. 519 .global NutEventBroadcast
  530. 520 .type NutEventBroadcast, @function
  531. 521 NutEventBroadcast:
  532. 522 0000 CF93 push r28
  533. 523 0002 DF93 push r29
  534. 524 0004 1F92 push __zero_reg__
  535. 525 0006 1F92 push __zero_reg__
  536. 526 0008 CDB7 in r28,__SP_L__
  537. 527 000a DEB7 in r29,__SP_H__
  538. 528 /* prologue: function */
  539. 529 /* frame size = 2 */
  540. 530 /* stack size = 4 */
  541. 531 .L__stack_usage = 4
  542. 532 000c 0E94 0000 call NutEventBroadcastAsync
  543. 533 0010 8983 std Y+1,r24
  544. 534 0012 9A83 std Y+2,r25
  545. 535 0014 0E94 0000 call NutThreadYield
  546. 536 0018 8981 ldd r24,Y+1
  547. 537 001a 9A81 ldd r25,Y+2
  548. 538 /* epilogue start */
  549. 539 001c 0F90 pop __tmp_reg__
  550. 540 001e 0F90 pop __tmp_reg__
  551. 541 0020 DF91 pop r29
  552. 542 0022 CF91 pop r28
  553. 543 0024 0895 ret
  554. 544 .size NutEventBroadcast, .-NutEventBroadcast
  555. 545 .ident "GCC: (GNU) 5.3.0"
  556. GAS LISTING /tmp/ccQLIKGP.s page 11
  557. DEFINED SYMBOLS
  558. *ABS*:0000000000000000 event.c
  559. /tmp/ccQLIKGP.s:2 *ABS*:000000000000003e __SP_H__
  560. /tmp/ccQLIKGP.s:3 *ABS*:000000000000003d __SP_L__
  561. /tmp/ccQLIKGP.s:4 *ABS*:000000000000003f __SREG__
  562. /tmp/ccQLIKGP.s:5 *ABS*:000000000000003b __RAMPZ__
  563. /tmp/ccQLIKGP.s:6 *ABS*:0000000000000000 __tmp_reg__
  564. /tmp/ccQLIKGP.s:7 *ABS*:0000000000000001 __zero_reg__
  565. /tmp/ccQLIKGP.s:11 .text.NutEventTimeout:0000000000000000 NutEventTimeout
  566. /tmp/ccQLIKGP.s:116 .text.NutEventWait:0000000000000000 NutEventWait
  567. /tmp/ccQLIKGP.s:238 .text.NutEventWaitNext:0000000000000000 NutEventWaitNext
  568. /tmp/ccQLIKGP.s:273 .text.NutEventPostAsync:0000000000000000 NutEventPostAsync
  569. /tmp/ccQLIKGP.s:397 .text.NutEventPost:0000000000000000 NutEventPost
  570. /tmp/ccQLIKGP.s:424 .text.NutEventBroadcastAsync:0000000000000000 NutEventBroadcastAsync
  571. /tmp/ccQLIKGP.s:521 .text.NutEventBroadcast:0000000000000000 NutEventBroadcast
  572. UNDEFINED SYMBOLS
  573. runQueue
  574. NutThreadAddPriQueue
  575. NutThreadYield
  576. runningThread
  577. NutThreadRemoveQueue
  578. NutTimerStart
  579. NutThreadResume
  580. NutTimerStop