usart.lst 65 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951
  1. GAS LISTING /tmp/ccPfx3IE.s page 1
  2. 1 .file "usart.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.UsartFlushOutput,"ax",@progbits
  10. 9 .type UsartFlushOutput, @function
  11. 10 UsartFlushOutput:
  12. 11 0000 AF92 push r10
  13. 12 0002 BF92 push r11
  14. 13 0004 CF92 push r12
  15. 14 0006 DF92 push r13
  16. 15 0008 EF92 push r14
  17. 16 000a FF92 push r15
  18. 17 000c 0F93 push r16
  19. 18 000e 1F93 push r17
  20. 19 0010 CF93 push r28
  21. 20 0012 DF93 push r29
  22. 21 /* prologue: function */
  23. 22 /* frame size = 0 */
  24. 23 /* stack size = 10 */
  25. 24 .L__stack_usage = 10
  26. 25 0014 EC01 movw r28,r24
  27. 26 0016 7A01 movw r14,r20
  28. 27 /* #APP */
  29. 28 ; 326 "../../nut/dev/usart.c" 1
  30. 29 0018 0FB6 in __tmp_reg__, __SREG__
  31. 30 001a F894 cli
  32. 31 001c 0F92 push __tmp_reg__
  33. 32
  34. 33 ; 0 "" 2
  35. 34 /* #NOAPP */
  36. 35 001e 8A8D ldd r24,Y+26
  37. 36 0020 9B8D ldd r25,Y+27
  38. 37 0022 680F add r22,r24
  39. 38 0024 791F adc r23,r25
  40. 39 0026 7B8F std Y+27,r23
  41. 40 0028 6A8F std Y+26,r22
  42. 41 002a 0A8D ldd r16,Y+26
  43. 42 002c 1B8D ldd r17,Y+27
  44. 43 /* #APP */
  45. 44 ; 329 "../../nut/dev/usart.c" 1
  46. 45 002e 0F90 pop __tmp_reg__
  47. 46 0030 0FBE out __SREG__, __tmp_reg__
  48. 47
  49. 48 ; 0 "" 2
  50. 49 /* #NOAPP */
  51. 50 0032 6E01 movw r12,r28
  52. 51 0034 85E4 ldi r24,69
  53. 52 0036 C80E add r12,r24
  54. 53 0038 D11C adc r13,__zero_reg__
  55. 54 003a 5E01 movw r10,r28
  56. 55 003c A0E2 ldi r26,32
  57. 56 003e AA0E add r10,r26
  58. 57 0040 B11C adc r11,__zero_reg__
  59. GAS LISTING /tmp/ccPfx3IE.s page 2
  60. 58 .L2:
  61. 59 0042 E016 cp r14,r16
  62. 60 0044 F106 cpc r15,r17
  63. 61 0046 00F4 brsh .L6
  64. 62 0048 D601 movw r26,r12
  65. 63 004a ED91 ld r30,X+
  66. 64 004c FC91 ld r31,X
  67. 65 004e 1995 eicall
  68. 66 0050 4C85 ldd r20,Y+12
  69. 67 0052 5D85 ldd r21,Y+13
  70. 68 0054 6E85 ldd r22,Y+14
  71. 69 0056 7F85 ldd r23,Y+15
  72. 70 0058 C501 movw r24,r10
  73. 71 005a 0E94 0000 call NutEventWait
  74. 72 005e 892B or r24,r25
  75. 73 0060 01F4 brne .L6
  76. 74 /* #APP */
  77. 75 ; 338 "../../nut/dev/usart.c" 1
  78. 76 0062 0FB6 in __tmp_reg__, __SREG__
  79. 77 0064 F894 cli
  80. 78 0066 0F92 push __tmp_reg__
  81. 79
  82. 80 ; 0 "" 2
  83. 81 /* #NOAPP */
  84. 82 0068 0A8D ldd r16,Y+26
  85. 83 006a 1B8D ldd r17,Y+27
  86. 84 /* #APP */
  87. 85 ; 340 "../../nut/dev/usart.c" 1
  88. 86 006c 0F90 pop __tmp_reg__
  89. 87 006e 0FBE out __SREG__, __tmp_reg__
  90. 88
  91. 89 ; 0 "" 2
  92. 90 /* #NOAPP */
  93. 91 0070 00C0 rjmp .L2
  94. 92 .L6:
  95. 93 0072 C801 movw r24,r16
  96. 94 /* epilogue start */
  97. 95 0074 DF91 pop r29
  98. 96 0076 CF91 pop r28
  99. 97 0078 1F91 pop r17
  100. 98 007a 0F91 pop r16
  101. 99 007c FF90 pop r15
  102. 100 007e EF90 pop r14
  103. 101 0080 DF90 pop r13
  104. 102 0082 CF90 pop r12
  105. 103 0084 BF90 pop r11
  106. 104 0086 AF90 pop r10
  107. 105 0088 0895 ret
  108. 106 .size UsartFlushOutput, .-UsartFlushOutput
  109. 107 .section .text.UsartResetBuffer,"ax",@progbits
  110. 108 .type UsartResetBuffer, @function
  111. 109 UsartResetBuffer:
  112. 110 0000 CF92 push r12
  113. 111 0002 DF92 push r13
  114. 112 0004 EF92 push r14
  115. 113 0006 FF92 push r15
  116. 114 0008 0F93 push r16
  117. GAS LISTING /tmp/ccPfx3IE.s page 3
  118. 115 000a 1F93 push r17
  119. 116 000c CF93 push r28
  120. 117 000e DF93 push r29
  121. 118 /* prologue: function */
  122. 119 /* frame size = 0 */
  123. 120 /* stack size = 8 */
  124. 121 .L__stack_usage = 8
  125. 122 0010 EC01 movw r28,r24
  126. 123 0012 8B01 movw r16,r22
  127. 124 0014 6A01 movw r12,r20
  128. 125 0016 7901 movw r14,r18
  129. 126 0018 8C81 ldd r24,Y+4
  130. 127 001a 9D81 ldd r25,Y+5
  131. 128 001c 2885 ldd r18,Y+8
  132. 129 001e 3985 ldd r19,Y+9
  133. 130 /* #APP */
  134. 131 ; 120 "../../nut/dev/usart.c" 1
  135. 132 0020 0FB6 in __tmp_reg__, __SREG__
  136. 133 0022 F894 cli
  137. 134 0024 0F92 push __tmp_reg__
  138. 135
  139. 136 ; 0 "" 2
  140. 137 /* #NOAPP */
  141. 138 0026 1986 std Y+9,__zero_reg__
  142. 139 0028 1886 std Y+8,__zero_reg__
  143. 140 /* #APP */
  144. 141 ; 122 "../../nut/dev/usart.c" 1
  145. 142 002a 0F90 pop __tmp_reg__
  146. 143 002c 0FBE out __SREG__, __tmp_reg__
  147. 144
  148. 145 ; 0 "" 2
  149. 146 /* #NOAPP */
  150. 147 002e 2617 cp r18,r22
  151. 148 0030 3707 cpc r19,r23
  152. 149 0032 01F0 breq .L9
  153. 150 0034 232B or r18,r19
  154. 151 0036 01F0 breq .L10
  155. 152 0038 0E94 0000 call free
  156. 153 .L10:
  157. 154 003c 0115 cp r16,__zero_reg__
  158. 155 003e 1105 cpc r17,__zero_reg__
  159. 156 0040 01F0 breq .L22
  160. 157 0042 C801 movw r24,r16
  161. 158 0044 0E94 0000 call malloc
  162. 159 0048 0097 sbiw r24,0
  163. 160 004a 01F4 brne .L13
  164. 161 004c 00C0 rjmp .L23
  165. 162 .L9:
  166. 163 004e 672B or r22,r23
  167. 164 0050 01F0 breq .L22
  168. 165 .L13:
  169. 166 0052 9D83 std Y+5,r25
  170. 167 0054 8C83 std Y+4,r24
  171. 168 0056 9983 std Y+1,r25
  172. 169 0058 8883 st Y,r24
  173. 170 005a 9B83 std Y+3,r25
  174. 171 005c 8A83 std Y+2,r24
  175. GAS LISTING /tmp/ccPfx3IE.s page 4
  176. 172 005e 800F add r24,r16
  177. 173 0060 911F adc r25,r17
  178. 174 0062 9F83 std Y+7,r25
  179. 175 0064 8E83 std Y+6,r24
  180. 176 0066 DD86 std Y+13,r13
  181. 177 0068 CC86 std Y+12,r12
  182. 178 006a FF86 std Y+15,r15
  183. 179 006c EE86 std Y+14,r14
  184. 180 006e 1B86 std Y+11,__zero_reg__
  185. 181 0070 1A86 std Y+10,__zero_reg__
  186. 182 /* #APP */
  187. 183 ; 148 "../../nut/dev/usart.c" 1
  188. 184 0072 0FB6 in __tmp_reg__, __SREG__
  189. 185 0074 F894 cli
  190. 186 0076 0F92 push __tmp_reg__
  191. 187
  192. 188 ; 0 "" 2
  193. 189 /* #NOAPP */
  194. 190 0078 1987 std Y+9,r17
  195. 191 007a 0887 std Y+8,r16
  196. 192 /* #APP */
  197. 193 ; 150 "../../nut/dev/usart.c" 1
  198. 194 007c 0F90 pop __tmp_reg__
  199. 195 007e 0FBE out __SREG__, __tmp_reg__
  200. 196
  201. 197 ; 0 "" 2
  202. 198 /* #NOAPP */
  203. 199 .L22:
  204. 200 0080 80E0 ldi r24,0
  205. 201 0082 90E0 ldi r25,0
  206. 202 0084 00C0 rjmp .L12
  207. 203 .L23:
  208. 204 0086 8FEF ldi r24,lo8(-1)
  209. 205 0088 9FEF ldi r25,lo8(-1)
  210. 206 .L12:
  211. 207 /* epilogue start */
  212. 208 008a DF91 pop r29
  213. 209 008c CF91 pop r28
  214. 210 008e 1F91 pop r17
  215. 211 0090 0F91 pop r16
  216. 212 0092 FF90 pop r15
  217. 213 0094 EF90 pop r14
  218. 214 0096 DF90 pop r13
  219. 215 0098 CF90 pop r12
  220. 216 009a 0895 ret
  221. 217 .size UsartResetBuffer, .-UsartResetBuffer
  222. 218 .section .text.UsartPut.isra.0,"ax",@progbits
  223. 219 .type UsartPut.isra.0, @function
  224. 220 UsartPut.isra.0:
  225. 221 0000 8F92 push r8
  226. 222 0002 9F92 push r9
  227. 223 0004 AF92 push r10
  228. 224 0006 BF92 push r11
  229. 225 0008 CF92 push r12
  230. 226 000a DF92 push r13
  231. 227 000c EF92 push r14
  232. 228 000e FF92 push r15
  233. GAS LISTING /tmp/ccPfx3IE.s page 5
  234. 229 0010 0F93 push r16
  235. 230 0012 1F93 push r17
  236. 231 0014 CF93 push r28
  237. 232 0016 DF93 push r29
  238. 233 /* prologue: function */
  239. 234 /* frame size = 0 */
  240. 235 /* stack size = 12 */
  241. 236 .L__stack_usage = 12
  242. 237 0018 EC01 movw r28,r24
  243. 238 001a 6B01 movw r12,r22
  244. 239 001c 5A01 movw r10,r20
  245. 240 001e 4901 movw r8,r18
  246. 241 0020 8881 ld r24,Y
  247. 242 0022 9981 ldd r25,Y+1
  248. 243 0024 AA81 ldd r26,Y+2
  249. 244 0026 BB81 ldd r27,Y+3
  250. 245 0028 94FF sbrs r25,4
  251. 246 002a 00C0 rjmp .L25
  252. 247 002c 7DA3 std Y+37,r23
  253. 248 002e 6CA3 std Y+36,r22
  254. 249 0030 5BA3 std Y+35,r21
  255. 250 0032 4AA3 std Y+34,r20
  256. 251 0034 FE01 movw r30,r28
  257. 252 0036 EB5B subi r30,-69
  258. 253 0038 FF4F sbci r31,-1
  259. 254 003a 0190 ld __tmp_reg__,Z+
  260. 255 003c F081 ld r31,Z
  261. 256 003e E02D mov r30,__tmp_reg__
  262. 257 0040 1995 eicall
  263. 258 0042 4C85 ldd r20,Y+12
  264. 259 0044 5D85 ldd r21,Y+13
  265. 260 0046 6E85 ldd r22,Y+14
  266. 261 0048 7F85 ldd r23,Y+15
  267. 262 004a CE01 movw r24,r28
  268. 263 004c 8096 adiw r24,32
  269. 264 004e 0E94 0000 call NutEventWaitNext
  270. 265 0052 0097 sbiw r24,0
  271. 266 0054 01F0 breq .+2
  272. 267 0056 00C0 rjmp .L26
  273. 268 0058 C501 movw r24,r10
  274. 269 005a 00C0 rjmp .L26
  275. 270 .L25:
  276. 271 005c 288D ldd r18,Y+24
  277. 272 005e 398D ldd r19,Y+25
  278. 273 0060 232B or r18,r19
  279. 274 0062 01F4 brne .+2
  280. 275 0064 00C0 rjmp .L38
  281. 276 0066 672B or r22,r23
  282. 277 0068 01F4 brne .L27
  283. 278 006a 40E0 ldi r20,0
  284. 279 006c 50E0 ldi r21,0
  285. 280 006e 60E0 ldi r22,0
  286. 281 0070 70E0 ldi r23,0
  287. 282 0072 CE01 movw r24,r28
  288. 283 /* epilogue start */
  289. 284 0074 DF91 pop r29
  290. 285 0076 CF91 pop r28
  291. GAS LISTING /tmp/ccPfx3IE.s page 6
  292. 286 0078 1F91 pop r17
  293. 287 007a 0F91 pop r16
  294. 288 007c FF90 pop r15
  295. 289 007e EF90 pop r14
  296. 290 0080 DF90 pop r13
  297. 291 0082 CF90 pop r12
  298. 292 0084 BF90 pop r11
  299. 293 0086 AF90 pop r10
  300. 294 0088 9F90 pop r9
  301. 295 008a 8F90 pop r8
  302. 296 008c 0C94 0000 jmp UsartFlushOutput
  303. 297 .L27:
  304. 298 0090 8C01 movw r16,r24
  305. 299 0092 9D01 movw r18,r26
  306. 300 0094 49E0 ldi r20,9
  307. 301 1:
  308. 302 0096 3695 lsr r19
  309. 303 0098 2795 ror r18
  310. 304 009a 1795 ror r17
  311. 305 009c 0795 ror r16
  312. 306 009e 4A95 dec r20
  313. 307 00a0 01F4 brne 1b
  314. 308 00a2 0170 andi r16,lo8(1)
  315. 309 00a4 57E0 ldi r21,7
  316. 310 1:
  317. 311 00a6 B695 lsr r27
  318. 312 00a8 A795 ror r26
  319. 313 00aa 9795 ror r25
  320. 314 00ac 8795 ror r24
  321. 315 00ae 5A95 dec r21
  322. 316 00b0 01F4 brne 1b
  323. 317 00b2 182F mov r17,r24
  324. 318 00b4 1170 andi r17,lo8(1)
  325. 319 /* #APP */
  326. 320 ; 412 "../../nut/dev/usart.c" 1
  327. 321 00b6 0FB6 in __tmp_reg__, __SREG__
  328. 322 00b8 F894 cli
  329. 323 00ba 0F92 push __tmp_reg__
  330. 324
  331. 325 ; 0 "" 2
  332. 326 /* #NOAPP */
  333. 327 00bc 8A8D ldd r24,Y+26
  334. 328 00be 9B8D ldd r25,Y+27
  335. 329 /* #APP */
  336. 330 ; 414 "../../nut/dev/usart.c" 1
  337. 331 00c0 0F90 pop __tmp_reg__
  338. 332 00c2 0FBE out __SREG__, __tmp_reg__
  339. 333
  340. 334 ; 0 "" 2
  341. 335 /* #NOAPP */
  342. 336 00c4 60E0 ldi r22,0
  343. 337 00c6 70E0 ldi r23,0
  344. 338 00c8 E12C mov r14,__zero_reg__
  345. 339 00ca F12C mov r15,__zero_reg__
  346. 340 .L28:
  347. 341 00cc EA14 cp r14,r10
  348. 342 00ce FB04 cpc r15,r11
  349. GAS LISTING /tmp/ccPfx3IE.s page 7
  350. 343 00d0 04F0 brlt .+2
  351. 344 00d2 00C0 rjmp .L43
  352. 345 00d4 4E8D ldd r20,Y+30
  353. 346 00d6 5F8D ldd r21,Y+31
  354. 347 00d8 9C01 movw r18,r24
  355. 348 00da 260F add r18,r22
  356. 349 00dc 371F adc r19,r23
  357. 350 00de 2417 cp r18,r20
  358. 351 00e0 3507 cpc r19,r21
  359. 352 00e2 00F0 brlo .L29
  360. 353 00e4 4C8D ldd r20,Y+28
  361. 354 00e6 5D8D ldd r21,Y+29
  362. 355 00e8 CE01 movw r24,r28
  363. 356 00ea 0E94 0000 call UsartFlushOutput
  364. 357 00ee 2C8D ldd r18,Y+28
  365. 358 00f0 3D8D ldd r19,Y+29
  366. 359 00f2 2817 cp r18,r24
  367. 360 00f4 3907 cpc r19,r25
  368. 361 00f6 00F4 brsh .+2
  369. 362 00f8 00C0 rjmp .L42
  370. 363 00fa 60E0 ldi r22,0
  371. 364 00fc 70E0 ldi r23,0
  372. 365 .L29:
  373. 366 00fe F601 movw r30,r12
  374. 367 0100 8114 cp r8,__zero_reg__
  375. 368 0102 9104 cpc r9,__zero_reg__
  376. 369 0104 01F0 breq .L30
  377. 370 /* #APP */
  378. 371 ; 439 "../../nut/dev/usart.c" 1
  379. 372 0106 4491 lpm r20, Z
  380. 373
  381. 374 ; 0 "" 2
  382. 375 /* #NOAPP */
  383. 376 0108 00C0 rjmp .L31
  384. 377 .L30:
  385. 378 010a 4081 ld r20,Z
  386. 379 .L31:
  387. 380 010c 1130 cpi r17,lo8(1)
  388. 381 010e 01F4 brne .L32
  389. 382 0110 4A30 cpi r20,lo8(10)
  390. 383 0112 01F4 brne .L33
  391. 384 0114 4DE0 ldi r20,lo8(13)
  392. 385 0116 12E0 ldi r17,lo8(2)
  393. 386 0118 0130 cpi r16,lo8(1)
  394. 387 011a 01F4 brne .L34
  395. 388 011c 02E0 ldi r16,lo8(2)
  396. 389 011e 00C0 rjmp .L34
  397. 390 .L32:
  398. 391 0120 1230 cpi r17,lo8(2)
  399. 392 0122 01F4 brne .L33
  400. 393 0124 11E0 ldi r17,lo8(1)
  401. 394 .L33:
  402. 395 0126 FFEF ldi r31,-1
  403. 396 0128 CF1A sub r12,r31
  404. 397 012a DF0A sbc r13,r31
  405. 398 012c 2FEF ldi r18,-1
  406. 399 012e E21A sub r14,r18
  407. GAS LISTING /tmp/ccPfx3IE.s page 8
  408. 400 0130 F20A sbc r15,r18
  409. 401 .L34:
  410. 402 0132 E889 ldd r30,Y+16
  411. 403 0134 F989 ldd r31,Y+17
  412. 404 0136 9F01 movw r18,r30
  413. 405 0138 2F5F subi r18,-1
  414. 406 013a 3F4F sbci r19,-1
  415. 407 013c 398B std Y+17,r19
  416. 408 013e 288B std Y+16,r18
  417. 409 0140 4083 st Z,r20
  418. 410 0142 4889 ldd r20,Y+16
  419. 411 0144 5989 ldd r21,Y+17
  420. 412 0146 2E89 ldd r18,Y+22
  421. 413 0148 3F89 ldd r19,Y+23
  422. 414 014a 4217 cp r20,r18
  423. 415 014c 5307 cpc r21,r19
  424. 416 014e 01F4 brne .L35
  425. 417 0150 2C89 ldd r18,Y+20
  426. 418 0152 3D89 ldd r19,Y+21
  427. 419 0154 398B std Y+17,r19
  428. 420 0156 288B std Y+16,r18
  429. 421 .L35:
  430. 422 0158 6F5F subi r22,-1
  431. 423 015a 7F4F sbci r23,-1
  432. 424 015c 00C0 rjmp .L28
  433. 425 .L43:
  434. 426 015e 6115 cp r22,__zero_reg__
  435. 427 0160 7105 cpc r23,__zero_reg__
  436. 428 0162 01F0 breq .L42
  437. 429 /* #APP */
  438. 430 ; 466 "../../nut/dev/usart.c" 1
  439. 431 0164 0FB6 in __tmp_reg__, __SREG__
  440. 432 0166 F894 cli
  441. 433 0168 0F92 push __tmp_reg__
  442. 434
  443. 435 ; 0 "" 2
  444. 436 /* #NOAPP */
  445. 437 016a 8A8D ldd r24,Y+26
  446. 438 016c 9B8D ldd r25,Y+27
  447. 439 016e 680F add r22,r24
  448. 440 0170 791F adc r23,r25
  449. 441 0172 7B8F std Y+27,r23
  450. 442 0174 6A8F std Y+26,r22
  451. 443 /* #APP */
  452. 444 ; 468 "../../nut/dev/usart.c" 1
  453. 445 0176 0F90 pop __tmp_reg__
  454. 446 0178 0FBE out __SREG__, __tmp_reg__
  455. 447
  456. 448 ; 0 "" 2
  457. 449 /* #NOAPP */
  458. 450 017a CB5B subi r28,-69
  459. 451 017c DF4F sbci r29,-1
  460. 452 017e E881 ld r30,Y
  461. 453 0180 F981 ldd r31,Y+1
  462. 454 0182 1995 eicall
  463. 455 0184 00C0 rjmp .L42
  464. 456 .L38:
  465. GAS LISTING /tmp/ccPfx3IE.s page 9
  466. 457 0186 8FEF ldi r24,lo8(-1)
  467. 458 0188 9FEF ldi r25,lo8(-1)
  468. 459 018a 00C0 rjmp .L26
  469. 460 .L42:
  470. 461 018c C701 movw r24,r14
  471. 462 .L26:
  472. 463 /* epilogue start */
  473. 464 018e DF91 pop r29
  474. 465 0190 CF91 pop r28
  475. 466 0192 1F91 pop r17
  476. 467 0194 0F91 pop r16
  477. 468 0196 FF90 pop r15
  478. 469 0198 EF90 pop r14
  479. 470 019a DF90 pop r13
  480. 471 019c CF90 pop r12
  481. 472 019e BF90 pop r11
  482. 473 01a0 AF90 pop r10
  483. 474 01a2 9F90 pop r9
  484. 475 01a4 8F90 pop r8
  485. 476 01a6 0895 ret
  486. 477 .size UsartPut.isra.0, .-UsartPut.isra.0
  487. 478 .section .text.UsartInit,"ax",@progbits
  488. 479 .global UsartInit
  489. 480 .type UsartInit, @function
  490. 481 UsartInit:
  491. 482 0000 0F93 push r16
  492. 483 0002 1F93 push r17
  493. 484 0004 CF93 push r28
  494. 485 0006 DF93 push r29
  495. 486 /* prologue: function */
  496. 487 /* frame size = 0 */
  497. 488 /* stack size = 4 */
  498. 489 .L__stack_usage = 4
  499. 490 0008 FC01 movw r30,r24
  500. 491 000a C189 ldd r28,Z+17
  501. 492 000c D289 ldd r29,Z+18
  502. 493 000e FE01 movw r30,r28
  503. 494 0010 EF5B subi r30,-65
  504. 495 0012 FF4F sbci r31,-1
  505. 496 0014 0190 ld __tmp_reg__,Z+
  506. 497 0016 F081 ld r31,Z
  507. 498 0018 E02D mov r30,__tmp_reg__
  508. 499 001a 1995 eicall
  509. 500 001c 8C01 movw r16,r24
  510. 501 001e 892B or r24,r25
  511. 502 0020 01F4 brne .L45
  512. 503 0022 C35B subi r28,-77
  513. 504 0024 DF4F sbci r29,-1
  514. 505 0026 E881 ld r30,Y
  515. 506 0028 F981 ldd r31,Y+1
  516. 507 002a 60E0 ldi r22,0
  517. 508 002c 72EC ldi r23,lo8(-62)
  518. 509 002e 81E0 ldi r24,lo8(1)
  519. 510 0030 90E0 ldi r25,0
  520. 511 0032 1995 eicall
  521. 512 .L45:
  522. 513 0034 C801 movw r24,r16
  523. GAS LISTING /tmp/ccPfx3IE.s page 10
  524. 514 /* epilogue start */
  525. 515 0036 DF91 pop r29
  526. 516 0038 CF91 pop r28
  527. 517 003a 1F91 pop r17
  528. 518 003c 0F91 pop r16
  529. 519 003e 0895 ret
  530. 520 .size UsartInit, .-UsartInit
  531. 521 .section .text.UsartRead,"ax",@progbits
  532. 522 .global UsartRead
  533. 523 .type UsartRead, @function
  534. 524 UsartRead:
  535. 525 0000 AF92 push r10
  536. 526 0002 BF92 push r11
  537. 527 0004 CF92 push r12
  538. 528 0006 DF92 push r13
  539. 529 0008 EF92 push r14
  540. 530 000a FF92 push r15
  541. 531 000c 0F93 push r16
  542. 532 000e 1F93 push r17
  543. 533 0010 CF93 push r28
  544. 534 0012 DF93 push r29
  545. 535 /* prologue: function */
  546. 536 /* frame size = 0 */
  547. 537 /* stack size = 10 */
  548. 538 .L__stack_usage = 10
  549. 539 0014 8B01 movw r16,r22
  550. 540 0016 6A01 movw r12,r20
  551. 541 0018 DC01 movw r26,r24
  552. 542 001a ED91 ld r30,X+
  553. 543 001c FC91 ld r31,X
  554. 544 001e C189 ldd r28,Z+17
  555. 545 0020 D289 ldd r29,Z+18
  556. 546 0022 8881 ld r24,Y
  557. 547 0024 9981 ldd r25,Y+1
  558. 548 0026 AA81 ldd r26,Y+2
  559. 549 0028 BB81 ldd r27,Y+3
  560. 550 002a 93FF sbrs r25,3
  561. 551 002c 00C0 rjmp .L47
  562. 552 002e 7DAF std Y+61,r23
  563. 553 0030 6CAF std Y+60,r22
  564. 554 0032 5BAF std Y+59,r21
  565. 555 0034 4AAF std Y+58,r20
  566. 556 0036 C95B subi r28,-71
  567. 557 0038 DF4F sbci r29,-1
  568. 558 003a E881 ld r30,Y
  569. 559 003c F981 ldd r31,Y+1
  570. 560 003e 1995 eicall
  571. 561 0040 C601 movw r24,r12
  572. 562 0042 00C0 rjmp .L48
  573. 563 .L47:
  574. 564 0044 68A9 ldd r22,Y+48
  575. 565 0046 79A9 ldd r23,Y+49
  576. 566 0048 6115 cp r22,__zero_reg__
  577. 567 004a 7105 cpc r23,__zero_reg__
  578. 568 004c 01F4 brne .L49
  579. 569 .L52:
  580. 570 004e 8FEF ldi r24,lo8(-1)
  581. GAS LISTING /tmp/ccPfx3IE.s page 11
  582. 571 0050 9FEF ldi r25,lo8(-1)
  583. 572 0052 00C0 rjmp .L48
  584. 573 .L49:
  585. 574 0054 0115 cp r16,__zero_reg__
  586. 575 0056 1105 cpc r17,__zero_reg__
  587. 576 0058 01F4 brne .L50
  588. 577 005a 2EA9 ldd r18,Y+54
  589. 578 005c 3FA9 ldd r19,Y+55
  590. 579 005e 4CA9 ldd r20,Y+52
  591. 580 0060 5DA9 ldd r21,Y+53
  592. 581 0062 CE01 movw r24,r28
  593. 582 0064 8896 adiw r24,40
  594. 583 0066 0E94 0000 call UsartResetBuffer
  595. 584 006a C95B subi r28,-71
  596. 585 006c DF4F sbci r29,-1
  597. 586 006e E881 ld r30,Y
  598. 587 0070 F981 ldd r31,Y+1
  599. 588 0072 1995 eicall
  600. 589 0074 00C0 rjmp .L69
  601. 590 .L50:
  602. 591 0076 7E01 movw r14,r28
  603. 592 0078 B7E4 ldi r27,71
  604. 593 007a EB0E add r14,r27
  605. 594 007c F11C adc r15,__zero_reg__
  606. 595 007e 5E01 movw r10,r28
  607. 596 0080 28E3 ldi r18,56
  608. 597 0082 A20E add r10,r18
  609. 598 0084 B11C adc r11,__zero_reg__
  610. 599 .L80:
  611. 600 /* #APP */
  612. 601 ; 227 "../../nut/dev/usart.c" 1
  613. 602 0086 0FB6 in __tmp_reg__, __SREG__
  614. 603 0088 F894 cli
  615. 604 008a 0F92 push __tmp_reg__
  616. 605
  617. 606 ; 0 "" 2
  618. 607 /* #NOAPP */
  619. 608 008c 4AA9 ldd r20,Y+50
  620. 609 008e 5BA9 ldd r21,Y+51
  621. 610 /* #APP */
  622. 611 ; 229 "../../nut/dev/usart.c" 1
  623. 612 0090 0F90 pop __tmp_reg__
  624. 613 0092 0FBE out __SREG__, __tmp_reg__
  625. 614
  626. 615 ; 0 "" 2
  627. 616 /* #NOAPP */
  628. 617 0094 4115 cp r20,__zero_reg__
  629. 618 0096 5105 cpc r21,__zero_reg__
  630. 619 0098 01F4 brne .L51
  631. 620 009a D701 movw r26,r14
  632. 621 009c ED91 ld r30,X+
  633. 622 009e FC91 ld r31,X
  634. 623 00a0 1995 eicall
  635. 624 00a2 4885 ldd r20,Y+8
  636. 625 00a4 5985 ldd r21,Y+9
  637. 626 00a6 6A85 ldd r22,Y+10
  638. 627 00a8 7B85 ldd r23,Y+11
  639. GAS LISTING /tmp/ccPfx3IE.s page 12
  640. 628 00aa C501 movw r24,r10
  641. 629 00ac 0E94 0000 call NutEventWait
  642. 630 00b0 892B or r24,r25
  643. 631 00b2 01F0 breq .+2
  644. 632 00b4 00C0 rjmp .L69
  645. 633 00b6 88A9 ldd r24,Y+48
  646. 634 00b8 99A9 ldd r25,Y+49
  647. 635 00ba 892B or r24,r25
  648. 636 00bc 01F4 brne .L80
  649. 637 00be 00C0 rjmp .L52
  650. 638 .L51:
  651. 639 00c0 8881 ld r24,Y
  652. 640 00c2 87FF sbrs r24,7
  653. 641 00c4 00C0 rjmp .L53
  654. 642 00c6 80E0 ldi r24,0
  655. 643 00c8 90E0 ldi r25,0
  656. 644 00ca E12C mov r14,__zero_reg__
  657. 645 00cc F12C mov r15,__zero_reg__
  658. 646 00ce FE01 movw r30,r28
  659. 647 00d0 E05C subi r30,-64
  660. 648 00d2 FF4F sbci r31,-1
  661. 649 00d4 6AE0 ldi r22,lo8(10)
  662. 650 .L54:
  663. 651 00d6 EC14 cp r14,r12
  664. 652 00d8 FD04 cpc r15,r13
  665. 653 00da 00F0 brlo .+2
  666. 654 00dc 00C0 rjmp .L62
  667. 655 00de 8417 cp r24,r20
  668. 656 00e0 9507 cpc r25,r21
  669. 657 00e2 01F4 brne .+2
  670. 658 00e4 00C0 rjmp .L55
  671. 659 00e6 AAA5 ldd r26,Y+42
  672. 660 00e8 BBA5 ldd r27,Y+43
  673. 661 00ea 9D01 movw r18,r26
  674. 662 00ec 2F5F subi r18,-1
  675. 663 00ee 3F4F sbci r19,-1
  676. 664 00f0 3BA7 std Y+43,r19
  677. 665 00f2 2AA7 std Y+42,r18
  678. 666 00f4 2C91 ld r18,X
  679. 667 00f6 AAA4 ldd r10,Y+42
  680. 668 00f8 BBA4 ldd r11,Y+43
  681. 669 00fa AEA5 ldd r26,Y+46
  682. 670 00fc BFA5 ldd r27,Y+47
  683. 671 00fe AA16 cp r10,r26
  684. 672 0100 BB06 cpc r11,r27
  685. 673 0102 01F4 brne .L56
  686. 674 0104 ACA5 ldd r26,Y+44
  687. 675 0106 BDA5 ldd r27,Y+45
  688. 676 0108 BBA7 std Y+43,r27
  689. 677 010a AAA7 std Y+42,r26
  690. 678 .L56:
  691. 679 010c 0196 adiw r24,1
  692. 680 010e 2D30 cpi r18,lo8(13)
  693. 681 0110 01F0 breq .L57
  694. 682 0112 2A30 cpi r18,lo8(10)
  695. 683 0114 01F4 brne .L58
  696. 684 .L57:
  697. GAS LISTING /tmp/ccPfx3IE.s page 13
  698. 685 0116 3081 ld r19,Z
  699. 686 0118 3323 tst r19
  700. 687 011a 01F0 breq .L59
  701. 688 011c 2313 cpse r18,r19
  702. 689 011e 00C0 rjmp .L54
  703. 690 .L59:
  704. 691 0120 2083 st Z,r18
  705. 692 0122 D801 movw r26,r16
  706. 693 0124 6C93 st X,r22
  707. 694 0126 00C0 rjmp .L81
  708. 695 .L58:
  709. 696 0128 1082 st Z,__zero_reg__
  710. 697 012a D801 movw r26,r16
  711. 698 012c 2C93 st X,r18
  712. 699 .L81:
  713. 700 012e BFEF ldi r27,-1
  714. 701 0130 EB1A sub r14,r27
  715. 702 0132 FB0A sbc r15,r27
  716. 703 0134 0F5F subi r16,-1
  717. 704 0136 1F4F sbci r17,-1
  718. 705 0138 00C0 rjmp .L54
  719. 706 .L53:
  720. 707 013a 7A01 movw r14,r20
  721. 708 013c C416 cp r12,r20
  722. 709 013e D506 cpc r13,r21
  723. 710 0140 00F4 brsh .L63
  724. 711 0142 7601 movw r14,r12
  725. 712 .L63:
  726. 713 0144 F801 movw r30,r16
  727. 714 0146 C801 movw r24,r16
  728. 715 0148 8E0D add r24,r14
  729. 716 014a 9F1D adc r25,r15
  730. 717 .L64:
  731. 718 014c E817 cp r30,r24
  732. 719 014e F907 cpc r31,r25
  733. 720 0150 01F0 breq .L82
  734. 721 0152 AAA5 ldd r26,Y+42
  735. 722 0154 BBA5 ldd r27,Y+43
  736. 723 0156 9D01 movw r18,r26
  737. 724 0158 2F5F subi r18,-1
  738. 725 015a 3F4F sbci r19,-1
  739. 726 015c 3BA7 std Y+43,r19
  740. 727 015e 2AA7 std Y+42,r18
  741. 728 0160 2C91 ld r18,X
  742. 729 0162 2193 st Z+,r18
  743. 730 0164 4AA5 ldd r20,Y+42
  744. 731 0166 5BA5 ldd r21,Y+43
  745. 732 0168 2EA5 ldd r18,Y+46
  746. 733 016a 3FA5 ldd r19,Y+47
  747. 734 016c 4217 cp r20,r18
  748. 735 016e 5307 cpc r21,r19
  749. 736 0170 01F4 brne .L64
  750. 737 0172 2CA5 ldd r18,Y+44
  751. 738 0174 3DA5 ldd r19,Y+45
  752. 739 0176 3BA7 std Y+43,r19
  753. 740 0178 2AA7 std Y+42,r18
  754. 741 017a 00C0 rjmp .L64
  755. GAS LISTING /tmp/ccPfx3IE.s page 14
  756. 742 .L82:
  757. 743 017c C701 movw r24,r14
  758. 744 .L62:
  759. 745 017e 0097 sbiw r24,0
  760. 746 0180 01F0 breq .L67
  761. 747 .L55:
  762. 748 /* #APP */
  763. 749 ; 291 "../../nut/dev/usart.c" 1
  764. 750 0182 0FB6 in __tmp_reg__, __SREG__
  765. 751 0184 F894 cli
  766. 752 0186 0F92 push __tmp_reg__
  767. 753
  768. 754 ; 0 "" 2
  769. 755 /* #NOAPP */
  770. 756 0188 2AA9 ldd r18,Y+50
  771. 757 018a 3BA9 ldd r19,Y+51
  772. 758 018c A901 movw r20,r18
  773. 759 018e 481B sub r20,r24
  774. 760 0190 590B sbc r21,r25
  775. 761 0192 5BAB std Y+51,r21
  776. 762 0194 4AAB std Y+50,r20
  777. 763 /* #APP */
  778. 764 ; 293 "../../nut/dev/usart.c" 1
  779. 765 0196 0F90 pop __tmp_reg__
  780. 766 0198 0FBE out __SREG__, __tmp_reg__
  781. 767
  782. 768 ; 0 "" 2
  783. 769 /* #NOAPP */
  784. 770 019a 2AA9 ldd r18,Y+50
  785. 771 019c 3BA9 ldd r19,Y+51
  786. 772 019e 8CA9 ldd r24,Y+52
  787. 773 01a0 9DA9 ldd r25,Y+53
  788. 774 01a2 2817 cp r18,r24
  789. 775 01a4 3907 cpc r19,r25
  790. 776 01a6 00F4 brsh .L67
  791. 777 01a8 C95B subi r28,-71
  792. 778 01aa DF4F sbci r29,-1
  793. 779 01ac E881 ld r30,Y
  794. 780 01ae F981 ldd r31,Y+1
  795. 781 01b0 1995 eicall
  796. 782 .L67:
  797. 783 01b2 C701 movw r24,r14
  798. 784 01b4 00C0 rjmp .L48
  799. 785 .L69:
  800. 786 01b6 80E0 ldi r24,0
  801. 787 01b8 90E0 ldi r25,0
  802. 788 .L48:
  803. 789 /* epilogue start */
  804. 790 01ba DF91 pop r29
  805. 791 01bc CF91 pop r28
  806. 792 01be 1F91 pop r17
  807. 793 01c0 0F91 pop r16
  808. 794 01c2 FF90 pop r15
  809. 795 01c4 EF90 pop r14
  810. 796 01c6 DF90 pop r13
  811. 797 01c8 CF90 pop r12
  812. 798 01ca BF90 pop r11
  813. GAS LISTING /tmp/ccPfx3IE.s page 15
  814. 799 01cc AF90 pop r10
  815. 800 01ce 0895 ret
  816. 801 .size UsartRead, .-UsartRead
  817. 802 .section .text.UsartWrite,"ax",@progbits
  818. 803 .global UsartWrite
  819. 804 .type UsartWrite, @function
  820. 805 UsartWrite:
  821. 806 /* prologue: function */
  822. 807 /* frame size = 0 */
  823. 808 /* stack size = 0 */
  824. 809 .L__stack_usage = 0
  825. 810 0000 DC01 movw r26,r24
  826. 811 0002 ED91 ld r30,X+
  827. 812 0004 FC91 ld r31,X
  828. 813 0006 20E0 ldi r18,0
  829. 814 0008 30E0 ldi r19,0
  830. 815 000a 8189 ldd r24,Z+17
  831. 816 000c 9289 ldd r25,Z+18
  832. 817 000e 0C94 0000 jmp UsartPut.isra.0
  833. 818 .size UsartWrite, .-UsartWrite
  834. 819 .section .text.UsartWrite_P,"ax",@progbits
  835. 820 .global UsartWrite_P
  836. 821 .type UsartWrite_P, @function
  837. 822 UsartWrite_P:
  838. 823 /* prologue: function */
  839. 824 /* frame size = 0 */
  840. 825 /* stack size = 0 */
  841. 826 .L__stack_usage = 0
  842. 827 0000 DC01 movw r26,r24
  843. 828 0002 ED91 ld r30,X+
  844. 829 0004 FC91 ld r31,X
  845. 830 0006 21E0 ldi r18,lo8(1)
  846. 831 0008 30E0 ldi r19,0
  847. 832 000a 8189 ldd r24,Z+17
  848. 833 000c 9289 ldd r25,Z+18
  849. 834 000e 0C94 0000 jmp UsartPut.isra.0
  850. 835 .size UsartWrite_P, .-UsartWrite_P
  851. 836 .section .text.UsartClose,"ax",@progbits
  852. 837 .global UsartClose
  853. 838 .type UsartClose, @function
  854. 839 UsartClose:
  855. 840 0000 EF92 push r14
  856. 841 0002 FF92 push r15
  857. 842 0004 0F93 push r16
  858. 843 0006 1F93 push r17
  859. 844 0008 CF93 push r28
  860. 845 000a DF93 push r29
  861. 846 /* prologue: function */
  862. 847 /* frame size = 0 */
  863. 848 /* stack size = 6 */
  864. 849 .L__stack_usage = 6
  865. 850 000c 8C01 movw r16,r24
  866. 851 000e DC01 movw r26,r24
  867. 852 0010 ED91 ld r30,X+
  868. 853 0012 FC91 ld r31,X
  869. 854 0014 C189 ldd r28,Z+17
  870. 855 0016 D289 ldd r29,Z+18
  871. GAS LISTING /tmp/ccPfx3IE.s page 16
  872. 856 0018 40E0 ldi r20,0
  873. 857 001a 50E0 ldi r21,0
  874. 858 001c 60E0 ldi r22,0
  875. 859 001e 70E0 ldi r23,0
  876. 860 0020 CE01 movw r24,r28
  877. 861 0022 0E94 0000 call UsartFlushOutput
  878. 862 0026 7C01 movw r14,r24
  879. 863 0028 FE01 movw r30,r28
  880. 864 002a E35A subi r30,-93
  881. 865 002c FF4F sbci r31,-1
  882. 866 002e 0190 ld __tmp_reg__,Z+
  883. 867 0030 F081 ld r31,Z
  884. 868 0032 E02D mov r30,__tmp_reg__
  885. 869 0034 60E0 ldi r22,0
  886. 870 0036 72E0 ldi r23,lo8(2)
  887. 871 0038 80E0 ldi r24,0
  888. 872 003a 90E0 ldi r25,0
  889. 873 003c 1995 eicall
  890. 874 003e C801 movw r24,r16
  891. 875 0040 0E94 0000 call free
  892. 876 0044 20E0 ldi r18,0
  893. 877 0046 30E0 ldi r19,0
  894. 878 0048 40E0 ldi r20,0
  895. 879 004a 50E0 ldi r21,0
  896. 880 004c 60E0 ldi r22,0
  897. 881 004e 70E0 ldi r23,0
  898. 882 0050 CE01 movw r24,r28
  899. 883 0052 4096 adiw r24,16
  900. 884 0054 0E94 0000 call UsartResetBuffer
  901. 885 0058 20E0 ldi r18,0
  902. 886 005a 30E0 ldi r19,0
  903. 887 005c 40E0 ldi r20,0
  904. 888 005e 50E0 ldi r21,0
  905. 889 0060 60E0 ldi r22,0
  906. 890 0062 70E0 ldi r23,0
  907. 891 0064 CE01 movw r24,r28
  908. 892 0066 8896 adiw r24,40
  909. 893 0068 0E94 0000 call UsartResetBuffer
  910. 894 006c CE01 movw r24,r28
  911. 895 006e C896 adiw r24,56
  912. 896 0070 0E94 0000 call NutEventBroadcast
  913. 897 0074 61E0 ldi r22,lo8(1)
  914. 898 0076 8EAD ldd r24,Y+62
  915. 899 0078 9FAD ldd r25,Y+63
  916. 900 007a 0E94 0000 call NutSelectWakeup
  917. 901 007e 62E0 ldi r22,lo8(2)
  918. 902 0080 8EA1 ldd r24,Y+38
  919. 903 0082 9FA1 ldd r25,Y+39
  920. 904 0084 0E94 0000 call NutSelectWakeup
  921. 905 0088 81E0 ldi r24,lo8(1)
  922. 906 008a 90E0 ldi r25,0
  923. 907 008c EF28 or r14,r15
  924. 908 008e 01F4 brne .L86
  925. 909 0090 80E0 ldi r24,0
  926. 910 0092 90E0 ldi r25,0
  927. 911 .L86:
  928. 912 0094 9195 neg r25
  929. GAS LISTING /tmp/ccPfx3IE.s page 17
  930. 913 0096 8195 neg r24
  931. 914 0098 9109 sbc r25,__zero_reg__
  932. 915 /* epilogue start */
  933. 916 009a DF91 pop r29
  934. 917 009c CF91 pop r28
  935. 918 009e 1F91 pop r17
  936. 919 00a0 0F91 pop r16
  937. 920 00a2 FF90 pop r15
  938. 921 00a4 EF90 pop r14
  939. 922 00a6 0895 ret
  940. 923 .size UsartClose, .-UsartClose
  941. 924 .section .text.UsartOpen,"ax",@progbits
  942. 925 .global UsartOpen
  943. 926 .type UsartOpen, @function
  944. 927 UsartOpen:
  945. 928 0000 AF92 push r10
  946. 929 0002 BF92 push r11
  947. 930 0004 CF92 push r12
  948. 931 0006 DF92 push r13
  949. 932 0008 EF92 push r14
  950. 933 000a FF92 push r15
  951. 934 000c 0F93 push r16
  952. 935 000e 1F93 push r17
  953. 936 0010 CF93 push r28
  954. 937 0012 DF93 push r29
  955. 938 /* prologue: function */
  956. 939 /* frame size = 0 */
  957. 940 /* stack size = 10 */
  958. 941 .L__stack_usage = 10
  959. 942 0014 6C01 movw r12,r24
  960. 943 0016 5A01 movw r10,r20
  961. 944 0018 FC01 movw r30,r24
  962. 945 001a C189 ldd r28,Z+17
  963. 946 001c D289 ldd r29,Z+18
  964. 947 001e 7A01 movw r14,r20
  965. 948 0020 F3E0 ldi r31,3
  966. 949 0022 EF22 and r14,r31
  967. 950 0024 FF24 clr r15
  968. 951 0026 E114 cp r14,__zero_reg__
  969. 952 0028 F104 cpc r15,__zero_reg__
  970. 953 002a 01F4 brne .L88
  971. 954 .L92:
  972. 955 002c 20EF ldi r18,lo8(-16)
  973. 956 002e 30E0 ldi r19,0
  974. 957 0030 40ED ldi r20,lo8(-48)
  975. 958 0032 50E0 ldi r21,0
  976. 959 0034 60E0 ldi r22,0
  977. 960 0036 71E0 ldi r23,lo8(1)
  978. 961 0038 CE01 movw r24,r28
  979. 962 003a 8896 adiw r24,40
  980. 963 003c 0E94 0000 call UsartResetBuffer
  981. 964 0040 892B or r24,r25
  982. 965 0042 01F0 breq .L90
  983. 966 0044 8C89 ldd r24,Y+20
  984. 967 0046 9D89 ldd r25,Y+21
  985. 968 0048 00C0 rjmp .L99
  986. 969 .L88:
  987. GAS LISTING /tmp/ccPfx3IE.s page 18
  988. 970 004a 28E3 ldi r18,lo8(56)
  989. 971 004c 30E0 ldi r19,0
  990. 972 004e 48E2 ldi r20,lo8(40)
  991. 973 0050 50E0 ldi r21,0
  992. 974 0052 60E4 ldi r22,lo8(64)
  993. 975 0054 70E0 ldi r23,0
  994. 976 0056 CE01 movw r24,r28
  995. 977 0058 4096 adiw r24,16
  996. 978 005a 0E94 0000 call UsartResetBuffer
  997. 979 005e 892B or r24,r25
  998. 980 0060 01F4 brne .L96
  999. 981 0062 21E0 ldi r18,1
  1000. 982 0064 E216 cp r14,r18
  1001. 983 0066 F104 cpc r15,__zero_reg__
  1002. 984 0068 01F4 brne .L92
  1003. 985 .L90:
  1004. 986 006a 84E0 ldi r24,lo8(4)
  1005. 987 006c 90E0 ldi r25,0
  1006. 988 006e 0E94 0000 call malloc
  1007. 989 0072 8C01 movw r16,r24
  1008. 990 0074 892B or r24,r25
  1009. 991 0076 01F4 brne .L93
  1010. 992 0078 8C89 ldd r24,Y+20
  1011. 993 007a 9D89 ldd r25,Y+21
  1012. 994 007c 0E94 0000 call free
  1013. 995 0080 8CA5 ldd r24,Y+44
  1014. 996 0082 9DA5 ldd r25,Y+45
  1015. 997 .L99:
  1016. 998 0084 0E94 0000 call free
  1017. 999 0088 00C0 rjmp .L96
  1018. 1000 .L93:
  1019. 1001 008a AA24 clr r10
  1020. 1002 008c 80EC ldi r24,192
  1021. 1003 008e B822 and r11,r24
  1022. 1004 0090 8881 ld r24,Y
  1023. 1005 0092 9981 ldd r25,Y+1
  1024. 1006 0094 AA81 ldd r26,Y+2
  1025. 1007 0096 BB81 ldd r27,Y+3
  1026. 1008 0098 A114 cp r10,__zero_reg__
  1027. 1009 009a E0E8 ldi r30,-128
  1028. 1010 009c BE06 cpc r11,r30
  1029. 1011 009e 01F4 brne .L94
  1030. 1012 00a0 8F77 andi r24,127
  1031. 1013 00a2 00C0 rjmp .L98
  1032. 1014 .L94:
  1033. 1015 00a4 8068 ori r24,128
  1034. 1016 .L98:
  1035. 1017 00a6 8883 st Y,r24
  1036. 1018 00a8 9983 std Y+1,r25
  1037. 1019 00aa AA83 std Y+2,r26
  1038. 1020 00ac BB83 std Y+3,r27
  1039. 1021 00ae F801 movw r30,r16
  1040. 1022 00b0 D182 std Z+1,r13
  1041. 1023 00b2 C082 st Z,r12
  1042. 1024 00b4 1382 std Z+3,__zero_reg__
  1043. 1025 00b6 1282 std Z+2,__zero_reg__
  1044. 1026 00b8 EA94 dec r14
  1045. GAS LISTING /tmp/ccPfx3IE.s page 19
  1046. 1027 00ba EF28 or r14,r15
  1047. 1028 00bc 01F0 breq .L97
  1048. 1029 00be C95B subi r28,-71
  1049. 1030 00c0 DF4F sbci r29,-1
  1050. 1031 00c2 E881 ld r30,Y
  1051. 1032 00c4 F981 ldd r31,Y+1
  1052. 1033 00c6 1995 eicall
  1053. 1034 00c8 00C0 rjmp .L97
  1054. 1035 .L96:
  1055. 1036 00ca 8FEF ldi r24,lo8(-1)
  1056. 1037 00cc 9FEF ldi r25,lo8(-1)
  1057. 1038 00ce 00C0 rjmp .L91
  1058. 1039 .L97:
  1059. 1040 00d0 C801 movw r24,r16
  1060. 1041 .L91:
  1061. 1042 /* epilogue start */
  1062. 1043 00d2 DF91 pop r29
  1063. 1044 00d4 CF91 pop r28
  1064. 1045 00d6 1F91 pop r17
  1065. 1046 00d8 0F91 pop r16
  1066. 1047 00da FF90 pop r15
  1067. 1048 00dc EF90 pop r14
  1068. 1049 00de DF90 pop r13
  1069. 1050 00e0 CF90 pop r12
  1070. 1051 00e2 BF90 pop r11
  1071. 1052 00e4 AF90 pop r10
  1072. 1053 00e6 0895 ret
  1073. 1054 .size UsartOpen, .-UsartOpen
  1074. 1055 .section .text.UsartIOCtl,"ax",@progbits
  1075. 1056 .global UsartIOCtl
  1076. 1057 .type UsartIOCtl, @function
  1077. 1058 UsartIOCtl:
  1078. 1059 0000 AF92 push r10
  1079. 1060 0002 BF92 push r11
  1080. 1061 0004 CF92 push r12
  1081. 1062 0006 DF92 push r13
  1082. 1063 0008 EF92 push r14
  1083. 1064 000a FF92 push r15
  1084. 1065 000c 0F93 push r16
  1085. 1066 000e 1F93 push r17
  1086. 1067 0010 CF93 push r28
  1087. 1068 0012 DF93 push r29
  1088. 1069 0014 1F92 push __zero_reg__
  1089. 1070 0016 1F92 push __zero_reg__
  1090. 1071 0018 CDB7 in r28,__SP_L__
  1091. 1072 001a DEB7 in r29,__SP_H__
  1092. 1073 /* prologue: function */
  1093. 1074 /* frame size = 2 */
  1094. 1075 /* stack size = 12 */
  1095. 1076 .L__stack_usage = 12
  1096. 1077 001c 8A01 movw r16,r20
  1097. 1078 001e FA01 movw r30,r20
  1098. 1079 0020 C080 ld r12,Z
  1099. 1080 0022 D180 ldd r13,Z+1
  1100. 1081 0024 E280 ldd r14,Z+2
  1101. 1082 0026 F380 ldd r15,Z+3
  1102. 1083 0028 2C2D mov r18,r12
  1103. GAS LISTING /tmp/ccPfx3IE.s page 20
  1104. 1084 002a FC01 movw r30,r24
  1105. 1085 002c A188 ldd r10,Z+17
  1106. 1086 002e B288 ldd r11,Z+18
  1107. 1087 0030 FB01 movw r30,r22
  1108. 1088 0032 E150 subi r30,1
  1109. 1089 0034 F140 sbci r31,1
  1110. 1090 0036 E333 cpi r30,51
  1111. 1091 0038 F105 cpc r31,__zero_reg__
  1112. 1092 003a 00F0 brlo .+2
  1113. 1093 003c 00C0 rjmp .L161
  1114. 1094 003e 8827 clr r24
  1115. 1095 0040 E050 subi r30,pm_lo8(-(.L103))
  1116. 1096 0042 F040 sbci r31,pm_hi8(-(.L103))
  1117. 1097 0044 8040 sbci r24,pm_hh8(-(.L103))
  1118. 1098 0046 0C94 0000 jmp __tablejump2__
  1119. 1099 .section .progmem.gcc_sw_table.UsartIOCtl,"a",@progbits
  1120. 1100 .p2align 1
  1121. 1101 .L103:
  1122. 1102 0000 0000 .word gs(.L102)
  1123. 1103 0002 0000 .word gs(.L104)
  1124. 1104 0004 0000 .word gs(.L105)
  1125. 1105 0006 0000 .word gs(.L106)
  1126. 1106 0008 0000 .word gs(.L107)
  1127. 1107 000a 0000 .word gs(.L108)
  1128. 1108 000c 0000 .word gs(.L109)
  1129. 1109 000e 0000 .word gs(.L110)
  1130. 1110 0010 0000 .word gs(.L111)
  1131. 1111 0012 0000 .word gs(.L112)
  1132. 1112 0014 0000 .word gs(.L113)
  1133. 1113 0016 0000 .word gs(.L114)
  1134. 1114 0018 0000 .word gs(.L115)
  1135. 1115 001a 0000 .word gs(.L116)
  1136. 1116 001c 0000 .word gs(.L117)
  1137. 1117 001e 0000 .word gs(.L118)
  1138. 1118 0020 0000 .word gs(.L119)
  1139. 1119 0022 0000 .word gs(.L140)
  1140. 1120 0024 0000 .word gs(.L121)
  1141. 1121 0026 0000 .word gs(.L122)
  1142. 1122 0028 0000 .word gs(.L161)
  1143. 1123 002a 0000 .word gs(.L161)
  1144. 1124 002c 0000 .word gs(.L161)
  1145. 1125 002e 0000 .word gs(.L161)
  1146. 1126 0030 0000 .word gs(.L123)
  1147. 1127 0032 0000 .word gs(.L124)
  1148. 1128 0034 0000 .word gs(.L125)
  1149. 1129 0036 0000 .word gs(.L126)
  1150. 1130 0038 0000 .word gs(.L127)
  1151. 1131 003a 0000 .word gs(.L128)
  1152. 1132 003c 0000 .word gs(.L161)
  1153. 1133 003e 0000 .word gs(.L129)
  1154. 1134 0040 0000 .word gs(.L130)
  1155. 1135 0042 0000 .word gs(.L131)
  1156. 1136 0044 0000 .word gs(.L132)
  1157. 1137 0046 0000 .word gs(.L133)
  1158. 1138 0048 0000 .word gs(.L134)
  1159. 1139 004a 0000 .word gs(.L135)
  1160. 1140 004c 0000 .word gs(.L136)
  1161. GAS LISTING /tmp/ccPfx3IE.s page 21
  1162. 1141 004e 0000 .word gs(.L137)
  1163. 1142 0050 0000 .word gs(.L140)
  1164. 1143 0052 0000 .word gs(.L139)
  1165. 1144 0054 0000 .word gs(.L140)
  1166. 1145 0056 0000 .word gs(.L161)
  1167. 1146 0058 0000 .word gs(.L161)
  1168. 1147 005a 0000 .word gs(.L161)
  1169. 1148 005c 0000 .word gs(.L161)
  1170. 1149 005e 0000 .word gs(.L141)
  1171. 1150 0060 0000 .word gs(.L142)
  1172. 1151 0062 0000 .word gs(.L143)
  1173. 1152 0064 0000 .word gs(.L144)
  1174. 1153 .section .text.UsartIOCtl
  1175. 1154 .L102:
  1176. 1155 004a F501 movw r30,r10
  1177. 1156 004c E35B subi r30,-77
  1178. 1157 004e FF4F sbci r31,-1
  1179. 1158 0050 0190 ld __tmp_reg__,Z+
  1180. 1159 0052 F081 ld r31,Z
  1181. 1160 0054 E02D mov r30,__tmp_reg__
  1182. 1161 0056 C701 movw r24,r14
  1183. 1162 0058 B601 movw r22,r12
  1184. 1163 005a 00C0 rjmp .L173
  1185. 1164 .L104:
  1186. 1165 005c F501 movw r30,r10
  1187. 1166 005e E15B subi r30,-79
  1188. 1167 0060 FF4F sbci r31,-1
  1189. 1168 0062 00C0 rjmp .L186
  1190. 1169 .L105:
  1191. 1170 0064 F501 movw r30,r10
  1192. 1171 0066 EF5A subi r30,-81
  1193. 1172 0068 FF4F sbci r31,-1
  1194. 1173 006a 00C0 rjmp .L174
  1195. 1174 .L106:
  1196. 1175 006c F501 movw r30,r10
  1197. 1176 006e ED5A subi r30,-83
  1198. 1177 0070 FF4F sbci r31,-1
  1199. 1178 0072 00C0 rjmp .L188
  1200. 1179 .L107:
  1201. 1180 0074 F501 movw r30,r10
  1202. 1181 0076 EB5A subi r30,-85
  1203. 1182 0078 FF4F sbci r31,-1
  1204. 1183 .L174:
  1205. 1184 007a 0190 ld __tmp_reg__,Z+
  1206. 1185 007c F081 ld r31,Z
  1207. 1186 007e E02D mov r30,__tmp_reg__
  1208. 1187 0080 8C2D mov r24,r12
  1209. 1188 /* epilogue start */
  1210. 1189 0082 0F90 pop __tmp_reg__
  1211. 1190 0084 0F90 pop __tmp_reg__
  1212. 1191 0086 DF91 pop r29
  1213. 1192 0088 CF91 pop r28
  1214. 1193 008a 1F91 pop r17
  1215. 1194 008c 0F91 pop r16
  1216. 1195 008e FF90 pop r15
  1217. 1196 0090 EF90 pop r14
  1218. 1197 0092 DF90 pop r13
  1219. GAS LISTING /tmp/ccPfx3IE.s page 22
  1220. 1198 0094 CF90 pop r12
  1221. 1199 0096 BF90 pop r11
  1222. 1200 0098 AF90 pop r10
  1223. 1201 009a 1994 eijmp
  1224. 1202 .L108:
  1225. 1203 009c F501 movw r30,r10
  1226. 1204 009e E95A subi r30,-87
  1227. 1205 00a0 FF4F sbci r31,-1
  1228. 1206 .L188:
  1229. 1207 00a2 0190 ld __tmp_reg__,Z+
  1230. 1208 00a4 F081 ld r31,Z
  1231. 1209 00a6 E02D mov r30,__tmp_reg__
  1232. 1210 00a8 1995 eicall
  1233. 1211 00aa 90E0 ldi r25,0
  1234. 1212 00ac 00C0 rjmp .L185
  1235. 1213 .L109:
  1236. 1214 00ae F501 movw r30,r10
  1237. 1215 00b0 E75A subi r30,-89
  1238. 1216 00b2 FF4F sbci r31,-1
  1239. 1217 00b4 00C0 rjmp .L174
  1240. 1218 .L110:
  1241. 1219 00b6 F501 movw r30,r10
  1242. 1220 00b8 E55A subi r30,-91
  1243. 1221 00ba FF4F sbci r31,-1
  1244. 1222 00bc 00C0 rjmp .L188
  1245. 1223 .L111:
  1246. 1224 00be C6FE sbrs r12,6
  1247. 1225 00c0 00C0 rjmp .L145
  1248. 1226 00c2 F501 movw r30,r10
  1249. 1227 00c4 26A9 ldd r18,Z+54
  1250. 1228 00c6 37A9 ldd r19,Z+55
  1251. 1229 00c8 44A9 ldd r20,Z+52
  1252. 1230 00ca 55A9 ldd r21,Z+53
  1253. 1231 00cc 60A9 ldd r22,Z+48
  1254. 1232 00ce 71A9 ldd r23,Z+49
  1255. 1233 00d0 C501 movw r24,r10
  1256. 1234 00d2 8896 adiw r24,40
  1257. 1235 00d4 0E94 0000 call UsartResetBuffer
  1258. 1236 00d8 F501 movw r30,r10
  1259. 1237 00da E95B subi r30,-71
  1260. 1238 00dc FF4F sbci r31,-1
  1261. 1239 00de 0190 ld __tmp_reg__,Z+
  1262. 1240 00e0 F081 ld r31,Z
  1263. 1241 00e2 E02D mov r30,__tmp_reg__
  1264. 1242 00e4 1995 eicall
  1265. 1243 .L145:
  1266. 1244 00e6 C7FE sbrs r12,7
  1267. 1245 00e8 00C0 rjmp .L146
  1268. 1246 00ea F501 movw r30,r10
  1269. 1247 00ec 268D ldd r18,Z+30
  1270. 1248 00ee 378D ldd r19,Z+31
  1271. 1249 00f0 448D ldd r20,Z+28
  1272. 1250 00f2 558D ldd r21,Z+29
  1273. 1251 00f4 608D ldd r22,Z+24
  1274. 1252 00f6 718D ldd r23,Z+25
  1275. 1253 00f8 C501 movw r24,r10
  1276. 1254 00fa 4096 adiw r24,16
  1277. GAS LISTING /tmp/ccPfx3IE.s page 23
  1278. 1255 00fc 0E94 0000 call UsartResetBuffer
  1279. 1256 .L146:
  1280. 1257 0100 C701 movw r24,r14
  1281. 1258 0102 B601 movw r22,r12
  1282. 1259 0104 6F73 andi r22,63
  1283. 1260 0106 F501 movw r30,r10
  1284. 1261 0108 E35A subi r30,-93
  1285. 1262 010a FF4F sbci r31,-1
  1286. 1263 010c 0190 ld __tmp_reg__,Z+
  1287. 1264 010e F081 ld r31,Z
  1288. 1265 0110 E02D mov r30,__tmp_reg__
  1289. 1266 .L173:
  1290. 1267 /* epilogue start */
  1291. 1268 0112 0F90 pop __tmp_reg__
  1292. 1269 0114 0F90 pop __tmp_reg__
  1293. 1270 0116 DF91 pop r29
  1294. 1271 0118 CF91 pop r28
  1295. 1272 011a 1F91 pop r17
  1296. 1273 011c 0F91 pop r16
  1297. 1274 011e FF90 pop r15
  1298. 1275 0120 EF90 pop r14
  1299. 1276 0122 DF90 pop r13
  1300. 1277 0124 CF90 pop r12
  1301. 1278 0126 BF90 pop r11
  1302. 1279 0128 AF90 pop r10
  1303. 1280 012a 1994 eijmp
  1304. 1281 .L112:
  1305. 1282 012c F501 movw r30,r10
  1306. 1283 012e E15A subi r30,-95
  1307. 1284 0130 FF4F sbci r31,-1
  1308. 1285 0132 0190 ld __tmp_reg__,Z+
  1309. 1286 0134 F081 ld r31,Z
  1310. 1287 0136 E02D mov r30,__tmp_reg__
  1311. 1288 0138 1995 eicall
  1312. 1289 013a F801 movw r30,r16
  1313. 1290 013c 6083 st Z,r22
  1314. 1291 013e 7183 std Z+1,r23
  1315. 1292 0140 8283 std Z+2,r24
  1316. 1293 0142 9383 std Z+3,r25
  1317. 1294 0144 F501 movw r30,r10
  1318. 1295 0146 22A9 ldd r18,Z+50
  1319. 1296 0148 33A9 ldd r19,Z+51
  1320. 1297 014a 232B or r18,r19
  1321. 1298 014c 01F4 brne .L147
  1322. 1299 014e DC01 movw r26,r24
  1323. 1300 0150 CB01 movw r24,r22
  1324. 1301 0152 8064 ori r24,64
  1325. 1302 0154 F801 movw r30,r16
  1326. 1303 0156 8083 st Z,r24
  1327. 1304 0158 9183 std Z+1,r25
  1328. 1305 015a A283 std Z+2,r26
  1329. 1306 015c B383 std Z+3,r27
  1330. 1307 .L147:
  1331. 1308 015e F501 movw r30,r10
  1332. 1309 0160 828D ldd r24,Z+26
  1333. 1310 0162 938D ldd r25,Z+27
  1334. 1311 0164 892B or r24,r25
  1335. GAS LISTING /tmp/ccPfx3IE.s page 24
  1336. 1312 0166 01F0 breq .+2
  1337. 1313 0168 00C0 rjmp .L162
  1338. 1314 016a F801 movw r30,r16
  1339. 1315 016c 8081 ld r24,Z
  1340. 1316 016e 9181 ldd r25,Z+1
  1341. 1317 0170 A281 ldd r26,Z+2
  1342. 1318 0172 B381 ldd r27,Z+3
  1343. 1319 0174 00C0 rjmp .L189
  1344. 1320 .L113:
  1345. 1321 0176 F501 movw r30,r10
  1346. 1322 0178 C086 std Z+8,r12
  1347. 1323 017a D186 std Z+9,r13
  1348. 1324 017c E286 std Z+10,r14
  1349. 1325 017e F386 std Z+11,r15
  1350. 1326 0180 00C0 rjmp .L162
  1351. 1327 .L114:
  1352. 1328 0182 F501 movw r30,r10
  1353. 1329 0184 8085 ldd r24,Z+8
  1354. 1330 0186 9185 ldd r25,Z+9
  1355. 1331 0188 A285 ldd r26,Z+10
  1356. 1332 018a B385 ldd r27,Z+11
  1357. 1333 018c 00C0 rjmp .L182
  1358. 1334 .L115:
  1359. 1335 018e F501 movw r30,r10
  1360. 1336 0190 C486 std Z+12,r12
  1361. 1337 0192 D586 std Z+13,r13
  1362. 1338 0194 E686 std Z+14,r14
  1363. 1339 0196 F786 std Z+15,r15
  1364. 1340 0198 00C0 rjmp .L162
  1365. 1341 .L116:
  1366. 1342 019a F501 movw r30,r10
  1367. 1343 019c 8485 ldd r24,Z+12
  1368. 1344 019e 9585 ldd r25,Z+13
  1369. 1345 01a0 A685 ldd r26,Z+14
  1370. 1346 01a2 B785 ldd r27,Z+15
  1371. 1347 01a4 00C0 rjmp .L182
  1372. 1348 .L117:
  1373. 1349 01a6 F501 movw r30,r10
  1374. 1350 01a8 C080 ld r12,Z
  1375. 1351 01aa D180 ldd r13,Z+1
  1376. 1352 01ac E280 ldd r14,Z+2
  1377. 1353 01ae F380 ldd r15,Z+3
  1378. 1354 01b0 2223 tst r18
  1379. 1355 01b2 01F0 breq .L148
  1380. 1356 01b4 6894 set
  1381. 1357 01b6 C6F8 bld r12,6
  1382. 1358 01b8 00C0 rjmp .L160
  1383. 1359 .L148:
  1384. 1360 01ba E894 clt
  1385. 1361 01bc C6F8 bld r12,6
  1386. 1362 01be 00C0 rjmp .L160
  1387. 1363 .L118:
  1388. 1364 01c0 F501 movw r30,r10
  1389. 1365 01c2 8081 ld r24,Z
  1390. 1366 01c4 86FF sbrs r24,6
  1391. 1367 01c6 00C0 rjmp .L150
  1392. 1368 .L156:
  1393. GAS LISTING /tmp/ccPfx3IE.s page 25
  1394. 1369 01c8 81E0 ldi r24,lo8(1)
  1395. 1370 01ca 90E0 ldi r25,0
  1396. 1371 01cc A0E0 ldi r26,0
  1397. 1372 01ce B0E0 ldi r27,0
  1398. 1373 01d0 00C0 rjmp .L182
  1399. 1374 .L122:
  1400. 1375 01d2 F501 movw r30,r10
  1401. 1376 01d4 8081 ld r24,Z
  1402. 1377 01d6 87FD sbrc r24,7
  1403. 1378 01d8 00C0 rjmp .L156
  1404. 1379 .L150:
  1405. 1380 01da F801 movw r30,r16
  1406. 1381 01dc 1082 st Z,__zero_reg__
  1407. 1382 01de 1182 std Z+1,__zero_reg__
  1408. 1383 01e0 1282 std Z+2,__zero_reg__
  1409. 1384 01e2 1382 std Z+3,__zero_reg__
  1410. 1385 01e4 00C0 rjmp .L162
  1411. 1386 .L119:
  1412. 1387 01e6 F501 movw r30,r10
  1413. 1388 01e8 C080 ld r12,Z
  1414. 1389 01ea D180 ldd r13,Z+1
  1415. 1390 01ec E280 ldd r14,Z+2
  1416. 1391 01ee F380 ldd r15,Z+3
  1417. 1392 01f0 00C0 rjmp .L180
  1418. 1393 .L137:
  1419. 1394 01f2 F501 movw r30,r10
  1420. 1395 01f4 C080 ld r12,Z
  1421. 1396 01f6 D180 ldd r13,Z+1
  1422. 1397 01f8 E280 ldd r14,Z+2
  1423. 1398 01fa F380 ldd r15,Z+3
  1424. 1399 01fc 2223 tst r18
  1425. 1400 01fe 01F0 breq .L151
  1426. 1401 0200 6894 set
  1427. 1402 0202 D3F8 bld r13,3
  1428. 1403 0204 00C0 rjmp .L160
  1429. 1404 .L151:
  1430. 1405 0206 E894 clt
  1431. 1406 0208 D3F8 bld r13,3
  1432. 1407 020a 00C0 rjmp .L160
  1433. 1408 .L139:
  1434. 1409 020c F501 movw r30,r10
  1435. 1410 020e C080 ld r12,Z
  1436. 1411 0210 D180 ldd r13,Z+1
  1437. 1412 0212 E280 ldd r14,Z+2
  1438. 1413 0214 F380 ldd r15,Z+3
  1439. 1414 0216 2223 tst r18
  1440. 1415 0218 01F0 breq .L153
  1441. 1416 021a 6894 set
  1442. 1417 021c D4F8 bld r13,4
  1443. 1418 021e 00C0 rjmp .L160
  1444. 1419 .L153:
  1445. 1420 0220 E894 clt
  1446. 1421 0222 D4F8 bld r13,4
  1447. 1422 0224 00C0 rjmp .L160
  1448. 1423 .L140:
  1449. 1424 0226 F501 movw r30,r10
  1450. 1425 0228 E55B subi r30,-75
  1451. GAS LISTING /tmp/ccPfx3IE.s page 26
  1452. 1426 022a FF4F sbci r31,-1
  1453. 1427 .L186:
  1454. 1428 022c 0190 ld __tmp_reg__,Z+
  1455. 1429 022e F081 ld r31,Z
  1456. 1430 0230 E02D mov r30,__tmp_reg__
  1457. 1431 0232 1995 eicall
  1458. 1432 0234 F801 movw r30,r16
  1459. 1433 0236 6083 st Z,r22
  1460. 1434 0238 7183 std Z+1,r23
  1461. 1435 023a 8283 std Z+2,r24
  1462. 1436 023c 9383 std Z+3,r25
  1463. 1437 023e 00C0 rjmp .L162
  1464. 1438 .L121:
  1465. 1439 0240 F501 movw r30,r10
  1466. 1440 0242 8081 ld r24,Z
  1467. 1441 0244 9181 ldd r25,Z+1
  1468. 1442 0246 A281 ldd r26,Z+2
  1469. 1443 0248 B381 ldd r27,Z+3
  1470. 1444 024a CC20 tst r12
  1471. 1445 024c 01F0 breq .L155
  1472. 1446 .L189:
  1473. 1447 024e 8068 ori r24,128
  1474. 1448 0250 00C0 rjmp .L184
  1475. 1449 .L155:
  1476. 1450 0252 8F77 andi r24,127
  1477. 1451 0254 F501 movw r30,r10
  1478. 1452 0256 00C0 rjmp .L184
  1479. 1453 .L141:
  1480. 1454 0258 F501 movw r30,r10
  1481. 1455 025a C080 ld r12,Z
  1482. 1456 025c D180 ldd r13,Z+1
  1483. 1457 025e E280 ldd r14,Z+2
  1484. 1458 0260 F380 ldd r15,Z+3
  1485. 1459 0262 2223 tst r18
  1486. 1460 0264 01F0 breq .L157
  1487. 1461 0266 6894 set
  1488. 1462 0268 D2F8 bld r13,2
  1489. 1463 026a 00C0 rjmp .L160
  1490. 1464 .L157:
  1491. 1465 026c E894 clt
  1492. 1466 026e D2F8 bld r13,2
  1493. 1467 0270 00C0 rjmp .L160
  1494. 1468 .L142:
  1495. 1469 0272 F501 movw r30,r10
  1496. 1470 0274 8081 ld r24,Z
  1497. 1471 0276 9181 ldd r25,Z+1
  1498. 1472 0278 A281 ldd r26,Z+2
  1499. 1473 027a B381 ldd r27,Z+3
  1500. 1474 027c 92FD sbrc r25,2
  1501. 1475 027e 00C0 rjmp .L156
  1502. 1476 0280 00C0 rjmp .L150
  1503. 1477 .L143:
  1504. 1478 0282 F501 movw r30,r10
  1505. 1479 0284 C080 ld r12,Z
  1506. 1480 0286 D180 ldd r13,Z+1
  1507. 1481 0288 E280 ldd r14,Z+2
  1508. 1482 028a F380 ldd r15,Z+3
  1509. GAS LISTING /tmp/ccPfx3IE.s page 27
  1510. 1483 028c 2223 tst r18
  1511. 1484 028e 01F0 breq .L159
  1512. 1485 0290 6894 set
  1513. 1486 0292 D5F8 bld r13,5
  1514. 1487 0294 00C0 rjmp .L160
  1515. 1488 .L159:
  1516. 1489 0296 E894 clt
  1517. 1490 0298 D5F8 bld r13,5
  1518. 1491 .L160:
  1519. 1492 029a F501 movw r30,r10
  1520. 1493 .L180:
  1521. 1494 029c E75B subi r30,-73
  1522. 1495 029e FF4F sbci r31,-1
  1523. 1496 02a0 0190 ld __tmp_reg__,Z+
  1524. 1497 02a2 F081 ld r31,Z
  1525. 1498 02a4 E02D mov r30,__tmp_reg__
  1526. 1499 02a6 C701 movw r24,r14
  1527. 1500 02a8 B601 movw r22,r12
  1528. 1501 02aa 1995 eicall
  1529. 1502 02ac 0097 sbiw r24,0
  1530. 1503 02ae 01F0 breq .+2
  1531. 1504 02b0 00C0 rjmp .L101
  1532. 1505 02b2 F501 movw r30,r10
  1533. 1506 02b4 C082 st Z,r12
  1534. 1507 02b6 D182 std Z+1,r13
  1535. 1508 02b8 E282 std Z+2,r14
  1536. 1509 02ba F382 std Z+3,r15
  1537. 1510 02bc 00C0 rjmp .L101
  1538. 1511 .L144:
  1539. 1512 02be F501 movw r30,r10
  1540. 1513 02c0 8081 ld r24,Z
  1541. 1514 02c2 9181 ldd r25,Z+1
  1542. 1515 02c4 A281 ldd r26,Z+2
  1543. 1516 02c6 B381 ldd r27,Z+3
  1544. 1517 02c8 95FD sbrc r25,5
  1545. 1518 02ca 00C0 rjmp .L156
  1546. 1519 02cc 00C0 rjmp .L150
  1547. 1520 .L123:
  1548. 1521 02ce F501 movw r30,r10
  1549. 1522 02d0 EF59 subi r30,-97
  1550. 1523 02d2 FF4F sbci r31,-1
  1551. 1524 02d4 00C0 rjmp .L174
  1552. 1525 .L124:
  1553. 1526 02d6 F501 movw r30,r10
  1554. 1527 02d8 ED59 subi r30,-99
  1555. 1528 02da FF4F sbci r31,-1
  1556. 1529 02dc 00C0 rjmp .L188
  1557. 1530 .L125:
  1558. 1531 02de F501 movw r30,r10
  1559. 1532 02e0 268D ldd r18,Z+30
  1560. 1533 02e2 378D ldd r19,Z+31
  1561. 1534 02e4 448D ldd r20,Z+28
  1562. 1535 02e6 558D ldd r21,Z+29
  1563. 1536 02e8 B601 movw r22,r12
  1564. 1537 02ea C501 movw r24,r10
  1565. 1538 02ec 4096 adiw r24,16
  1566. 1539 02ee 0E94 0000 call UsartResetBuffer
  1567. GAS LISTING /tmp/ccPfx3IE.s page 28
  1568. 1540 02f2 0097 sbiw r24,0
  1569. 1541 02f4 01F0 breq .+2
  1570. 1542 02f6 00C0 rjmp .L101
  1571. 1543 02f8 F501 movw r30,r10
  1572. 1544 02fa E95B subi r30,-71
  1573. 1545 02fc FF4F sbci r31,-1
  1574. 1546 02fe 0190 ld __tmp_reg__,Z+
  1575. 1547 0300 F081 ld r31,Z
  1576. 1548 0302 E02D mov r30,__tmp_reg__
  1577. 1549 0304 8983 std Y+1,r24
  1578. 1550 0306 9A83 std Y+2,r25
  1579. 1551 0308 1995 eicall
  1580. 1552 030a 8981 ldd r24,Y+1
  1581. 1553 030c 9A81 ldd r25,Y+2
  1582. 1554 030e 00C0 rjmp .L101
  1583. 1555 .L126:
  1584. 1556 0310 F501 movw r30,r10
  1585. 1557 0312 808D ldd r24,Z+24
  1586. 1558 0314 918D ldd r25,Z+25
  1587. 1559 0316 00C0 rjmp .L185
  1588. 1560 .L127:
  1589. 1561 0318 F501 movw r30,r10
  1590. 1562 031a 26A9 ldd r18,Z+54
  1591. 1563 031c 37A9 ldd r19,Z+55
  1592. 1564 031e 44A9 ldd r20,Z+52
  1593. 1565 0320 55A9 ldd r21,Z+53
  1594. 1566 0322 B601 movw r22,r12
  1595. 1567 0324 C501 movw r24,r10
  1596. 1568 0326 8896 adiw r24,40
  1597. 1569 /* epilogue start */
  1598. 1570 0328 0F90 pop __tmp_reg__
  1599. 1571 032a 0F90 pop __tmp_reg__
  1600. 1572 032c DF91 pop r29
  1601. 1573 032e CF91 pop r28
  1602. 1574 0330 1F91 pop r17
  1603. 1575 0332 0F91 pop r16
  1604. 1576 0334 FF90 pop r15
  1605. 1577 0336 EF90 pop r14
  1606. 1578 0338 DF90 pop r13
  1607. 1579 033a CF90 pop r12
  1608. 1580 033c BF90 pop r11
  1609. 1581 033e AF90 pop r10
  1610. 1582 0340 0C94 0000 jmp UsartResetBuffer
  1611. 1583 .L128:
  1612. 1584 0344 F501 movw r30,r10
  1613. 1585 0346 80A9 ldd r24,Z+48
  1614. 1586 0348 91A9 ldd r25,Z+49
  1615. 1587 034a 00C0 rjmp .L185
  1616. 1588 .L129:
  1617. 1589 /* #APP */
  1618. 1590 ; 942 "../../nut/dev/usart.c" 1
  1619. 1591 034c 0FB6 in __tmp_reg__, __SREG__
  1620. 1592 034e F894 cli
  1621. 1593 0350 0F92 push __tmp_reg__
  1622. 1594
  1623. 1595 ; 0 "" 2
  1624. 1596 /* #NOAPP */
  1625. GAS LISTING /tmp/ccPfx3IE.s page 29
  1626. 1597 0352 F501 movw r30,r10
  1627. 1598 0354 D58E std Z+29,r13
  1628. 1599 0356 C48E std Z+28,r12
  1629. 1600 0358 00C0 rjmp .L183
  1630. 1601 .L130:
  1631. 1602 035a F501 movw r30,r10
  1632. 1603 035c 848D ldd r24,Z+28
  1633. 1604 035e 958D ldd r25,Z+29
  1634. 1605 0360 00C0 rjmp .L185
  1635. 1606 .L131:
  1636. 1607 /* #APP */
  1637. 1608 ; 951 "../../nut/dev/usart.c" 1
  1638. 1609 0362 0FB6 in __tmp_reg__, __SREG__
  1639. 1610 0364 F894 cli
  1640. 1611 0366 0F92 push __tmp_reg__
  1641. 1612
  1642. 1613 ; 0 "" 2
  1643. 1614 /* #NOAPP */
  1644. 1615 0368 F501 movw r30,r10
  1645. 1616 036a D78E std Z+31,r13
  1646. 1617 036c C68E std Z+30,r12
  1647. 1618 036e 00C0 rjmp .L183
  1648. 1619 .L132:
  1649. 1620 0370 F501 movw r30,r10
  1650. 1621 0372 868D ldd r24,Z+30
  1651. 1622 0374 978D ldd r25,Z+31
  1652. 1623 0376 00C0 rjmp .L185
  1653. 1624 .L133:
  1654. 1625 /* #APP */
  1655. 1626 ; 960 "../../nut/dev/usart.c" 1
  1656. 1627 0378 0FB6 in __tmp_reg__, __SREG__
  1657. 1628 037a F894 cli
  1658. 1629 037c 0F92 push __tmp_reg__
  1659. 1630
  1660. 1631 ; 0 "" 2
  1661. 1632 /* #NOAPP */
  1662. 1633 037e F501 movw r30,r10
  1663. 1634 0380 D5AA std Z+53,r13
  1664. 1635 0382 C4AA std Z+52,r12
  1665. 1636 0384 00C0 rjmp .L183
  1666. 1637 .L134:
  1667. 1638 0386 F501 movw r30,r10
  1668. 1639 0388 84A9 ldd r24,Z+52
  1669. 1640 038a 95A9 ldd r25,Z+53
  1670. 1641 038c 00C0 rjmp .L185
  1671. 1642 .L135:
  1672. 1643 /* #APP */
  1673. 1644 ; 969 "../../nut/dev/usart.c" 1
  1674. 1645 038e 0FB6 in __tmp_reg__, __SREG__
  1675. 1646 0390 F894 cli
  1676. 1647 0392 0F92 push __tmp_reg__
  1677. 1648
  1678. 1649 ; 0 "" 2
  1679. 1650 /* #NOAPP */
  1680. 1651 0394 F501 movw r30,r10
  1681. 1652 0396 D7AA std Z+55,r13
  1682. 1653 0398 C6AA std Z+54,r12
  1683. GAS LISTING /tmp/ccPfx3IE.s page 30
  1684. 1654 .L183:
  1685. 1655 /* #APP */
  1686. 1656 ; 971 "../../nut/dev/usart.c" 1
  1687. 1657 039a 0F90 pop __tmp_reg__
  1688. 1658 039c 0FBE out __SREG__, __tmp_reg__
  1689. 1659
  1690. 1660 ; 0 "" 2
  1691. 1661 /* #NOAPP */
  1692. 1662 039e 00C0 rjmp .L162
  1693. 1663 .L136:
  1694. 1664 03a0 F501 movw r30,r10
  1695. 1665 03a2 86A9 ldd r24,Z+54
  1696. 1666 03a4 97A9 ldd r25,Z+55
  1697. 1667 .L185:
  1698. 1668 03a6 A0E0 ldi r26,0
  1699. 1669 03a8 B0E0 ldi r27,0
  1700. 1670 .L182:
  1701. 1671 03aa F801 movw r30,r16
  1702. 1672 .L184:
  1703. 1673 03ac 8083 st Z,r24
  1704. 1674 03ae 9183 std Z+1,r25
  1705. 1675 03b0 A283 std Z+2,r26
  1706. 1676 03b2 B383 std Z+3,r27
  1707. 1677 03b4 00C0 rjmp .L162
  1708. 1678 .L161:
  1709. 1679 03b6 8FEF ldi r24,lo8(-1)
  1710. 1680 03b8 9FEF ldi r25,lo8(-1)
  1711. 1681 03ba 00C0 rjmp .L101
  1712. 1682 .L162:
  1713. 1683 03bc 80E0 ldi r24,0
  1714. 1684 03be 90E0 ldi r25,0
  1715. 1685 .L101:
  1716. 1686 /* epilogue start */
  1717. 1687 03c0 0F90 pop __tmp_reg__
  1718. 1688 03c2 0F90 pop __tmp_reg__
  1719. 1689 03c4 DF91 pop r29
  1720. 1690 03c6 CF91 pop r28
  1721. 1691 03c8 1F91 pop r17
  1722. 1692 03ca 0F91 pop r16
  1723. 1693 03cc FF90 pop r15
  1724. 1694 03ce EF90 pop r14
  1725. 1695 03d0 DF90 pop r13
  1726. 1696 03d2 CF90 pop r12
  1727. 1697 03d4 BF90 pop r11
  1728. 1698 03d6 AF90 pop r10
  1729. 1699 03d8 0895 ret
  1730. 1700 .size UsartIOCtl, .-UsartIOCtl
  1731. 1701 .section .text.UsartSize,"ax",@progbits
  1732. 1702 .global UsartSize
  1733. 1703 .type UsartSize, @function
  1734. 1704 UsartSize:
  1735. 1705 /* prologue: function */
  1736. 1706 /* frame size = 0 */
  1737. 1707 /* stack size = 0 */
  1738. 1708 .L__stack_usage = 0
  1739. 1709 0000 DC01 movw r26,r24
  1740. 1710 0002 ED91 ld r30,X+
  1741. GAS LISTING /tmp/ccPfx3IE.s page 31
  1742. 1711 0004 FC91 ld r31,X
  1743. 1712 0006 0188 ldd __tmp_reg__,Z+17
  1744. 1713 0008 F289 ldd r31,Z+18
  1745. 1714 000a E02D mov r30,__tmp_reg__
  1746. 1715 /* #APP */
  1747. 1716 ; 1015 "../../nut/dev/usart.c" 1
  1748. 1717 000c 0FB6 in __tmp_reg__, __SREG__
  1749. 1718 000e F894 cli
  1750. 1719 0010 0F92 push __tmp_reg__
  1751. 1720
  1752. 1721 ; 0 "" 2
  1753. 1722 /* #NOAPP */
  1754. 1723 0012 62A9 ldd r22,Z+50
  1755. 1724 0014 73A9 ldd r23,Z+51
  1756. 1725 /* #APP */
  1757. 1726 ; 1017 "../../nut/dev/usart.c" 1
  1758. 1727 0016 0F90 pop __tmp_reg__
  1759. 1728 0018 0FBE out __SREG__, __tmp_reg__
  1760. 1729
  1761. 1730 ; 0 "" 2
  1762. 1731 /* #NOAPP */
  1763. 1732 001a 80E0 ldi r24,0
  1764. 1733 001c 90E0 ldi r25,0
  1765. 1734 001e 0895 ret
  1766. 1735 .size UsartSize, .-UsartSize
  1767. 1736 .section .text.UsartSelect,"ax",@progbits
  1768. 1737 .global UsartSelect
  1769. 1738 .type UsartSelect, @function
  1770. 1739 UsartSelect:
  1771. 1740 0000 CF92 push r12
  1772. 1741 0002 DF92 push r13
  1773. 1742 0004 EF92 push r14
  1774. 1743 0006 FF92 push r15
  1775. 1744 0008 0F93 push r16
  1776. 1745 000a 1F93 push r17
  1777. 1746 000c CF93 push r28
  1778. 1747 000e DF93 push r29
  1779. 1748 /* prologue: function */
  1780. 1749 /* frame size = 0 */
  1781. 1750 /* stack size = 8 */
  1782. 1751 .L__stack_usage = 8
  1783. 1752 0010 8B01 movw r16,r22
  1784. 1753 0012 7A01 movw r14,r20
  1785. 1754 0014 6901 movw r12,r18
  1786. 1755 0016 DC01 movw r26,r24
  1787. 1756 0018 ED91 ld r30,X+
  1788. 1757 001a FC91 ld r31,X
  1789. 1758 001c C189 ldd r28,Z+17
  1790. 1759 001e D289 ldd r29,Z+18
  1791. 1760 0020 AB01 movw r20,r22
  1792. 1761 0022 4170 andi r20,1
  1793. 1762 0024 5527 clr r21
  1794. 1763 0026 B701 movw r22,r14
  1795. 1764 0028 CE01 movw r24,r28
  1796. 1765 002a CE96 adiw r24,62
  1797. 1766 002c 0E94 0000 call NutSelectManageWq
  1798. 1767 0030 A801 movw r20,r16
  1799. GAS LISTING /tmp/ccPfx3IE.s page 32
  1800. 1768 0032 4270 andi r20,2
  1801. 1769 0034 5527 clr r21
  1802. 1770 0036 9601 movw r18,r12
  1803. 1771 0038 B701 movw r22,r14
  1804. 1772 003a CE01 movw r24,r28
  1805. 1773 003c 8696 adiw r24,38
  1806. 1774 003e 0E94 0000 call NutSelectManageWq
  1807. 1775 /* #APP */
  1808. 1776 ; 1063 "../../nut/dev/usart.c" 1
  1809. 1777 0042 0FB6 in __tmp_reg__, __SREG__
  1810. 1778 0044 F894 cli
  1811. 1779 0046 0F92 push __tmp_reg__
  1812. 1780
  1813. 1781 ; 0 "" 2
  1814. 1782 /* #NOAPP */
  1815. 1783 0048 8AA9 ldd r24,Y+50
  1816. 1784 004a 9BA9 ldd r25,Y+51
  1817. 1785 004c 31E0 ldi r19,lo8(1)
  1818. 1786 004e 20E0 ldi r18,0
  1819. 1787 0050 892B or r24,r25
  1820. 1788 0052 01F4 brne .L192
  1821. 1789 0054 30E0 ldi r19,0
  1822. 1790 .L192:
  1823. 1791 0056 832F mov r24,r19
  1824. 1792 0058 922F mov r25,r18
  1825. 1793 005a 4A8D ldd r20,Y+26
  1826. 1794 005c 5B8D ldd r21,Y+27
  1827. 1795 005e 288D ldd r18,Y+24
  1828. 1796 0060 398D ldd r19,Y+25
  1829. 1797 0062 4217 cp r20,r18
  1830. 1798 0064 5307 cpc r21,r19
  1831. 1799 0066 00F4 brsh .L193
  1832. 1800 0068 8260 ori r24,2
  1833. 1801 .L193:
  1834. 1802 /* #APP */
  1835. 1803 ; 1070 "../../nut/dev/usart.c" 1
  1836. 1804 006a 0F90 pop __tmp_reg__
  1837. 1805 006c 0FBE out __SREG__, __tmp_reg__
  1838. 1806
  1839. 1807 ; 0 "" 2
  1840. 1808 /* #NOAPP */
  1841. 1809 006e 8023 and r24,r16
  1842. 1810 0070 9123 and r25,r17
  1843. 1811 /* epilogue start */
  1844. 1812 0072 DF91 pop r29
  1845. 1813 0074 CF91 pop r28
  1846. 1814 0076 1F91 pop r17
  1847. 1815 0078 0F91 pop r16
  1848. 1816 007a FF90 pop r15
  1849. 1817 007c EF90 pop r14
  1850. 1818 007e DF90 pop r13
  1851. 1819 0080 CF90 pop r12
  1852. 1820 0082 0895 ret
  1853. 1821 .size UsartSelect, .-UsartSelect
  1854. 1822 .ident "GCC: (GNU) 5.3.0"
  1855. GAS LISTING /tmp/ccPfx3IE.s page 33
  1856. DEFINED SYMBOLS
  1857. *ABS*:0000000000000000 usart.c
  1858. /tmp/ccPfx3IE.s:2 *ABS*:000000000000003e __SP_H__
  1859. /tmp/ccPfx3IE.s:3 *ABS*:000000000000003d __SP_L__
  1860. /tmp/ccPfx3IE.s:4 *ABS*:000000000000003f __SREG__
  1861. /tmp/ccPfx3IE.s:5 *ABS*:000000000000003b __RAMPZ__
  1862. /tmp/ccPfx3IE.s:6 *ABS*:0000000000000000 __tmp_reg__
  1863. /tmp/ccPfx3IE.s:7 *ABS*:0000000000000001 __zero_reg__
  1864. /tmp/ccPfx3IE.s:10 .text.UsartFlushOutput:0000000000000000 UsartFlushOutput
  1865. /tmp/ccPfx3IE.s:109 .text.UsartResetBuffer:0000000000000000 UsartResetBuffer
  1866. /tmp/ccPfx3IE.s:220 .text.UsartPut.isra.0:0000000000000000 UsartPut.isra.0
  1867. /tmp/ccPfx3IE.s:481 .text.UsartInit:0000000000000000 UsartInit
  1868. /tmp/ccPfx3IE.s:524 .text.UsartRead:0000000000000000 UsartRead
  1869. /tmp/ccPfx3IE.s:805 .text.UsartWrite:0000000000000000 UsartWrite
  1870. /tmp/ccPfx3IE.s:822 .text.UsartWrite_P:0000000000000000 UsartWrite_P
  1871. /tmp/ccPfx3IE.s:839 .text.UsartClose:0000000000000000 UsartClose
  1872. /tmp/ccPfx3IE.s:927 .text.UsartOpen:0000000000000000 UsartOpen
  1873. /tmp/ccPfx3IE.s:1058 .text.UsartIOCtl:0000000000000000 UsartIOCtl
  1874. /tmp/ccPfx3IE.s:1704 .text.UsartSize:0000000000000000 UsartSize
  1875. /tmp/ccPfx3IE.s:1739 .text.UsartSelect:0000000000000000 UsartSelect
  1876. UNDEFINED SYMBOLS
  1877. NutEventWait
  1878. free
  1879. malloc
  1880. NutEventWaitNext
  1881. NutEventBroadcast
  1882. NutSelectWakeup
  1883. __tablejump2__
  1884. NutSelectManageWq