term.lst 51 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542
  1. GAS LISTING /tmp/ccLyalLZ.s page 1
  2. 1 .file "term.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.TermRefreshLineEnd,"ax",@progbits
  10. 9 .type TermRefreshLineEnd, @function
  11. 10 TermRefreshLineEnd:
  12. 11 0000 CF92 push r12
  13. 12 0002 DF92 push r13
  14. 13 0004 EF92 push r14
  15. 14 0006 FF92 push r15
  16. 15 0008 0F93 push r16
  17. 16 000a 1F93 push r17
  18. 17 000c CF93 push r28
  19. 18 000e DF93 push r29
  20. 19 0010 1F92 push __zero_reg__
  21. 20 0012 CDB7 in r28,__SP_L__
  22. 21 0014 DEB7 in r29,__SP_H__
  23. 22 /* prologue: function */
  24. 23 /* frame size = 1 */
  25. 24 /* stack size = 9 */
  26. 25 .L__stack_usage = 9
  27. 26 0016 6C01 movw r12,r24
  28. 27 0018 142F mov r17,r20
  29. 28 001a DC01 movw r26,r24
  30. 29 001c 5996 adiw r26,25
  31. 30 001e 8C91 ld r24,X
  32. 31 0020 5997 sbiw r26,25
  33. 32 0022 E42E mov r14,r20
  34. 33 0024 F12C mov r15,__zero_reg__
  35. 34 0026 689F mul r22,r24
  36. 35 0028 E00C add r14,r0
  37. 36 002a F11C adc r15,r1
  38. 37 002c 1124 clr __zero_reg__
  39. 38 002e 5C96 adiw r26,28
  40. 39 0030 8D91 ld r24,X+
  41. 40 0032 9C91 ld r25,X
  42. 41 0034 5D97 sbiw r26,28+1
  43. 42 0036 E80E add r14,r24
  44. 43 0038 F91E adc r15,r25
  45. 44 003a 5296 adiw r26,18
  46. 45 003c 8C91 ld r24,X
  47. 46 003e 5297 sbiw r26,18
  48. 47 0040 80FF sbrs r24,0
  49. 48 0042 00C0 rjmp .L2
  50. 49 0044 5096 adiw r26,16
  51. 50 0046 ED91 ld r30,X+
  52. 51 0048 FC91 ld r31,X
  53. 52 004a 5197 sbiw r26,16+1
  54. 53 004c 80E0 ldi r24,0
  55. 54 004e 6983 std Y+1,r22
  56. 55 0050 1995 eicall
  57. 56 0052 6981 ldd r22,Y+1
  58. 57 .L2:
  59. GAS LISTING /tmp/ccLyalLZ.s page 2
  60. 58 0054 F601 movw r30,r12
  61. 59 0056 808D ldd r24,Z+24
  62. 60 0058 0084 ldd __tmp_reg__,Z+8
  63. 61 005a F185 ldd r31,Z+9
  64. 62 005c E02D mov r30,__tmp_reg__
  65. 63 005e 912F mov r25,r17
  66. 64 0060 689F mul r22,r24
  67. 65 0062 900D add r25,r0
  68. 66 0064 1124 clr __zero_reg__
  69. 67 0066 892F mov r24,r25
  70. 68 0068 1995 eicall
  71. 69 .L4:
  72. 70 006a 01E0 ldi r16,lo8(1)
  73. 71 006c 010F add r16,r17
  74. 72 006e D601 movw r26,r12
  75. 73 0070 5996 adiw r26,25
  76. 74 0072 8C91 ld r24,X
  77. 75 0074 5997 sbiw r26,25
  78. 76 0076 1817 cp r17,r24
  79. 77 0078 00F4 brsh .L3
  80. 78 007a 1296 adiw r26,2
  81. 79 007c ED91 ld r30,X+
  82. 80 007e FC91 ld r31,X
  83. 81 0080 1397 sbiw r26,2+1
  84. 82 0082 D701 movw r26,r14
  85. 83 0084 8D91 ld r24,X+
  86. 84 0086 7D01 movw r14,r26
  87. 85 0088 1995 eicall
  88. 86 008a 102F mov r17,r16
  89. 87 008c 00C0 rjmp .L4
  90. 88 .L3:
  91. 89 008e F601 movw r30,r12
  92. 90 0090 8289 ldd r24,Z+18
  93. 91 0092 80FF sbrs r24,0
  94. 92 0094 00C0 rjmp .L1
  95. 93 0096 0088 ldd __tmp_reg__,Z+16
  96. 94 0098 F189 ldd r31,Z+17
  97. 95 009a E02D mov r30,__tmp_reg__
  98. 96 009c 81E0 ldi r24,lo8(1)
  99. 97 /* epilogue start */
  100. 98 009e 0F90 pop __tmp_reg__
  101. 99 00a0 DF91 pop r29
  102. 100 00a2 CF91 pop r28
  103. 101 00a4 1F91 pop r17
  104. 102 00a6 0F91 pop r16
  105. 103 00a8 FF90 pop r15
  106. 104 00aa EF90 pop r14
  107. 105 00ac DF90 pop r13
  108. 106 00ae CF90 pop r12
  109. 107 00b0 1994 eijmp
  110. 108 .L1:
  111. 109 /* epilogue start */
  112. 110 00b2 0F90 pop __tmp_reg__
  113. 111 00b4 DF91 pop r29
  114. 112 00b6 CF91 pop r28
  115. 113 00b8 1F91 pop r17
  116. 114 00ba 0F91 pop r16
  117. GAS LISTING /tmp/ccLyalLZ.s page 3
  118. 115 00bc FF90 pop r15
  119. 116 00be EF90 pop r14
  120. 117 00c0 DF90 pop r13
  121. 118 00c2 CF90 pop r12
  122. 119 00c4 0895 ret
  123. 120 .size TermRefreshLineEnd, .-TermRefreshLineEnd
  124. 121 .section .text.TermClear,"ax",@progbits
  125. 122 .type TermClear, @function
  126. 123 TermClear:
  127. 124 0000 CF93 push r28
  128. 125 0002 DF93 push r29
  129. 126 /* prologue: function */
  130. 127 /* frame size = 0 */
  131. 128 /* stack size = 2 */
  132. 129 .L__stack_usage = 2
  133. 130 0004 EC01 movw r28,r24
  134. 131 0006 898D ldd r24,Y+25
  135. 132 0008 4F89 ldd r20,Y+23
  136. 133 000a 849F mul r24,r20
  137. 134 000c A001 movw r20,r0
  138. 135 000e 1124 clr __zero_reg__
  139. 136 0010 60E2 ldi r22,lo8(32)
  140. 137 0012 70E0 ldi r23,0
  141. 138 0014 8C8D ldd r24,Y+28
  142. 139 0016 9D8D ldd r25,Y+29
  143. 140 0018 0E94 0000 call memset
  144. 141 001c 1B8E std Y+27,__zero_reg__
  145. 142 001e 1A8E std Y+26,__zero_reg__
  146. 143 0020 EE81 ldd r30,Y+6
  147. 144 0022 FF81 ldd r31,Y+7
  148. 145 /* epilogue start */
  149. 146 0024 DF91 pop r29
  150. 147 0026 CF91 pop r28
  151. 148 0028 1994 eijmp
  152. 149 .size TermClear, .-TermClear
  153. 150 .section .text.TermRefresh,"ax",@progbits
  154. 151 .global TermRefresh
  155. 152 .type TermRefresh, @function
  156. 153 TermRefresh:
  157. 154 0000 1F93 push r17
  158. 155 0002 CF93 push r28
  159. 156 0004 DF93 push r29
  160. 157 /* prologue: function */
  161. 158 /* frame size = 0 */
  162. 159 /* stack size = 3 */
  163. 160 .L__stack_usage = 3
  164. 161 0006 EC01 movw r28,r24
  165. 162 0008 10E0 ldi r17,0
  166. 163 .L12:
  167. 164 000a 8F89 ldd r24,Y+23
  168. 165 000c 1817 cp r17,r24
  169. 166 000e 00F4 brsh .L14
  170. 167 0010 40E0 ldi r20,0
  171. 168 0012 612F mov r22,r17
  172. 169 0014 CE01 movw r24,r28
  173. 170 0016 0E94 0000 call TermRefreshLineEnd
  174. 171 001a 1F5F subi r17,lo8(-(1))
  175. GAS LISTING /tmp/ccLyalLZ.s page 4
  176. 172 001c 00C0 rjmp .L12
  177. 173 .L14:
  178. 174 001e 2A8D ldd r18,Y+26
  179. 175 0020 988D ldd r25,Y+24
  180. 176 0022 8B8D ldd r24,Y+27
  181. 177 0024 E885 ldd r30,Y+8
  182. 178 0026 F985 ldd r31,Y+9
  183. 179 0028 299F mul r18,r25
  184. 180 002a 800D add r24,r0
  185. 181 002c 1124 clr __zero_reg__
  186. 182 /* epilogue start */
  187. 183 002e DF91 pop r29
  188. 184 0030 CF91 pop r28
  189. 185 0032 1F91 pop r17
  190. 186 0034 1994 eijmp
  191. 187 .size TermRefresh, .-TermRefresh
  192. 188 .section .text.TermInsertLine,"ax",@progbits
  193. 189 .type TermInsertLine, @function
  194. 190 TermInsertLine:
  195. 191 0000 0F93 push r16
  196. 192 0002 1F93 push r17
  197. 193 0004 CF93 push r28
  198. 194 0006 DF93 push r29
  199. 195 /* prologue: function */
  200. 196 /* frame size = 0 */
  201. 197 /* stack size = 4 */
  202. 198 .L__stack_usage = 4
  203. 199 0008 8C01 movw r16,r24
  204. 200 000a D62F mov r29,r22
  205. 201 000c FC01 movw r30,r24
  206. 202 000e C789 ldd r28,Z+23
  207. 203 .L18:
  208. 204 0010 C150 subi r28,lo8(-(-1))
  209. 205 0012 F801 movw r30,r16
  210. 206 0014 918D ldd r25,Z+25
  211. 207 0016 248D ldd r18,Z+28
  212. 208 0018 358D ldd r19,Z+29
  213. 209 001a DC17 cp r29,r28
  214. 210 001c 00F4 brsh .L19
  215. 211 001e C99F mul r28,r25
  216. 212 0020 200D add r18,r0
  217. 213 0022 311D adc r19,r1
  218. 214 0024 1124 clr __zero_reg__
  219. 215 0026 492F mov r20,r25
  220. 216 0028 50E0 ldi r21,0
  221. 217 002a B901 movw r22,r18
  222. 218 002c 641B sub r22,r20
  223. 219 002e 750B sbc r23,r21
  224. 220 0030 C901 movw r24,r18
  225. 221 0032 0E94 0000 call memcpy
  226. 222 0036 00C0 rjmp .L18
  227. 223 .L19:
  228. 224 0038 492F mov r20,r25
  229. 225 003a 50E0 ldi r21,0
  230. 226 003c 60E2 ldi r22,lo8(32)
  231. 227 003e 70E0 ldi r23,0
  232. 228 0040 F901 movw r30,r18
  233. GAS LISTING /tmp/ccLyalLZ.s page 5
  234. 229 0042 D99F mul r29,r25
  235. 230 0044 E00D add r30,r0
  236. 231 0046 F11D adc r31,r1
  237. 232 0048 1124 clr __zero_reg__
  238. 233 004a CF01 movw r24,r30
  239. 234 004c 0E94 0000 call memset
  240. 235 0050 C801 movw r24,r16
  241. 236 /* epilogue start */
  242. 237 0052 DF91 pop r29
  243. 238 0054 CF91 pop r28
  244. 239 0056 1F91 pop r17
  245. 240 0058 0F91 pop r16
  246. 241 005a 0C94 0000 jmp TermRefresh
  247. 242 .size TermInsertLine, .-TermInsertLine
  248. 243 .section .text.TermDeleteLine,"ax",@progbits
  249. 244 .type TermDeleteLine, @function
  250. 245 TermDeleteLine:
  251. 246 0000 1F93 push r17
  252. 247 0002 CF93 push r28
  253. 248 0004 DF93 push r29
  254. 249 /* prologue: function */
  255. 250 /* frame size = 0 */
  256. 251 /* stack size = 3 */
  257. 252 .L__stack_usage = 3
  258. 253 0006 EC01 movw r28,r24
  259. 254 0008 162F mov r17,r22
  260. 255 .L21:
  261. 256 000a 2F89 ldd r18,Y+23
  262. 257 000c 30E0 ldi r19,0
  263. 258 000e 2150 subi r18,1
  264. 259 0010 3109 sbc r19,__zero_reg__
  265. 260 0012 612F mov r22,r17
  266. 261 0014 70E0 ldi r23,0
  267. 262 0016 498D ldd r20,Y+25
  268. 263 0018 8C8D ldd r24,Y+28
  269. 264 001a 9D8D ldd r25,Y+29
  270. 265 001c 6217 cp r22,r18
  271. 266 001e 7307 cpc r23,r19
  272. 267 0020 04F4 brge .L23
  273. 268 0022 149F mul r17,r20
  274. 269 0024 800D add r24,r0
  275. 270 0026 911D adc r25,r1
  276. 271 0028 1124 clr __zero_reg__
  277. 272 002a 50E0 ldi r21,0
  278. 273 002c BC01 movw r22,r24
  279. 274 002e 640F add r22,r20
  280. 275 0030 751F adc r23,r21
  281. 276 0032 0E94 0000 call memcpy
  282. 277 0036 1F5F subi r17,lo8(-(1))
  283. 278 0038 00C0 rjmp .L21
  284. 279 .L23:
  285. 280 003a 50E0 ldi r21,0
  286. 281 003c 429F mul r20,r18
  287. 282 003e F001 movw r30,r0
  288. 283 0040 439F mul r20,r19
  289. 284 0042 F00D add r31,r0
  290. 285 0044 529F mul r21,r18
  291. GAS LISTING /tmp/ccLyalLZ.s page 6
  292. 286 0046 F00D add r31,r0
  293. 287 0048 1124 clr r1
  294. 288 004a 60E2 ldi r22,lo8(32)
  295. 289 004c 70E0 ldi r23,0
  296. 290 004e 8E0F add r24,r30
  297. 291 0050 9F1F adc r25,r31
  298. 292 0052 0E94 0000 call memset
  299. 293 0056 CE01 movw r24,r28
  300. 294 /* epilogue start */
  301. 295 0058 DF91 pop r29
  302. 296 005a CF91 pop r28
  303. 297 005c 1F91 pop r17
  304. 298 005e 0C94 0000 jmp TermRefresh
  305. 299 .size TermDeleteLine, .-TermDeleteLine
  306. 300 .section .text.TermDeleteChar,"ax",@progbits
  307. 301 .type TermDeleteChar, @function
  308. 302 TermDeleteChar:
  309. 303 0000 CF93 push r28
  310. 304 0002 DF93 push r29
  311. 305 /* prologue: function */
  312. 306 /* frame size = 0 */
  313. 307 /* stack size = 2 */
  314. 308 .L__stack_usage = 2
  315. 309 0004 DC01 movw r26,r24
  316. 310 0006 5A96 adiw r26,26
  317. 311 0008 3C91 ld r19,X
  318. 312 000a 5A97 sbiw r26,26
  319. 313 000c 5996 adiw r26,25
  320. 314 000e 2C91 ld r18,X
  321. 315 0010 5997 sbiw r26,25
  322. 316 0012 E62F mov r30,r22
  323. 317 0014 F0E0 ldi r31,0
  324. 318 0016 329F mul r19,r18
  325. 319 0018 E00D add r30,r0
  326. 320 001a F11D adc r31,r1
  327. 321 001c 1124 clr __zero_reg__
  328. 322 001e 5C96 adiw r26,28
  329. 323 0020 2D91 ld r18,X+
  330. 324 0022 3C91 ld r19,X
  331. 325 0024 5D97 sbiw r26,28+1
  332. 326 0026 E20F add r30,r18
  333. 327 0028 F31F adc r31,r19
  334. 328 002a DF01 movw r26,r30
  335. 329 002c 1196 adiw r26,1
  336. 330 .L25:
  337. 331 002e 462F mov r20,r22
  338. 332 0030 50E0 ldi r21,0
  339. 333 0032 EC01 movw r28,r24
  340. 334 0034 298D ldd r18,Y+25
  341. 335 0036 30E0 ldi r19,0
  342. 336 0038 2150 subi r18,1
  343. 337 003a 3109 sbc r19,__zero_reg__
  344. 338 003c 4217 cp r20,r18
  345. 339 003e 5307 cpc r21,r19
  346. 340 0040 04F4 brge .L27
  347. 341 0042 2D91 ld r18,X+
  348. 342 0044 2193 st Z+,r18
  349. GAS LISTING /tmp/ccLyalLZ.s page 7
  350. 343 0046 6F5F subi r22,lo8(-(1))
  351. 344 0048 00C0 rjmp .L25
  352. 345 .L27:
  353. 346 004a 20E2 ldi r18,lo8(32)
  354. 347 004c 2083 st Z,r18
  355. 348 /* epilogue start */
  356. 349 004e DF91 pop r29
  357. 350 0050 CF91 pop r28
  358. 351 0052 0C94 0000 jmp TermRefresh
  359. 352 .size TermDeleteChar, .-TermDeleteChar
  360. 353 .section .text.TermPut.isra.0,"ax",@progbits
  361. 354 .type TermPut.isra.0, @function
  362. 355 TermPut.isra.0:
  363. 356 0000 4F92 push r4
  364. 357 0002 5F92 push r5
  365. 358 0004 7F92 push r7
  366. 359 0006 8F92 push r8
  367. 360 0008 9F92 push r9
  368. 361 000a AF92 push r10
  369. 362 000c BF92 push r11
  370. 363 000e CF92 push r12
  371. 364 0010 DF92 push r13
  372. 365 0012 EF92 push r14
  373. 366 0014 FF92 push r15
  374. 367 0016 0F93 push r16
  375. 368 0018 1F93 push r17
  376. 369 001a CF93 push r28
  377. 370 001c DF93 push r29
  378. 371 /* prologue: function */
  379. 372 /* frame size = 0 */
  380. 373 /* stack size = 15 */
  381. 374 .L__stack_usage = 15
  382. 375 001e EC01 movw r28,r24
  383. 376 0020 5B01 movw r10,r22
  384. 377 0022 7A01 movw r14,r20
  385. 378 0024 4901 movw r8,r18
  386. 379 0026 6115 cp r22,__zero_reg__
  387. 380 0028 7105 cpc r23,__zero_reg__
  388. 381 002a 01F4 brne .+2
  389. 382 002c 00C0 rjmp .L90
  390. 383 002e 6B01 movw r12,r22
  391. 384 0030 03E0 ldi r16,lo8(3)
  392. 385 0032 90E2 ldi r25,lo8(32)
  393. 386 0034 792E mov r7,r25
  394. 387 .L30:
  395. 388 0036 C601 movw r24,r12
  396. 389 0038 8A19 sub r24,r10
  397. 390 003a 9B09 sbc r25,r11
  398. 391 003c 8E15 cp r24,r14
  399. 392 003e 9F05 cpc r25,r15
  400. 393 0040 04F0 brlt .+2
  401. 394 0042 00C0 rjmp .L123
  402. 395 0044 F601 movw r30,r12
  403. 396 0046 8114 cp r8,__zero_reg__
  404. 397 0048 9104 cpc r9,__zero_reg__
  405. 398 004a 01F0 breq .L31
  406. 399 /* #APP */
  407. GAS LISTING /tmp/ccLyalLZ.s page 8
  408. 400 ; 463 "../../nut/dev/term.c" 1
  409. 401 004c 1491 lpm r17, Z
  410. 402
  411. 403 ; 0 "" 2
  412. 404 /* #NOAPP */
  413. 405 004e 00C0 rjmp .L32
  414. 406 .L31:
  415. 407 0050 1081 ld r17,Z
  416. 408 .L32:
  417. 409 0052 4A89 ldd r20,Y+18
  418. 410 0054 5B89 ldd r21,Y+19
  419. 411 0056 6C89 ldd r22,Y+20
  420. 412 0058 7D89 ldd r23,Y+21
  421. 413 005a 61FF sbrs r22,1
  422. 414 005c 00C0 rjmp .L33
  423. 415 005e 8E89 ldd r24,Y+22
  424. 416 0060 8111 cpse r24,__zero_reg__
  425. 417 0062 00C0 rjmp .L34
  426. 418 0064 1A30 cpi r17,lo8(10)
  427. 419 0066 01F4 brne .L35
  428. 420 0068 1B8E std Y+27,__zero_reg__
  429. 421 006a 8A8D ldd r24,Y+26
  430. 422 006c 8F5F subi r24,lo8(-(1))
  431. 423 006e 8A8F std Y+26,r24
  432. 424 0070 9F89 ldd r25,Y+23
  433. 425 0072 8917 cp r24,r25
  434. 426 0074 00F0 brlo .L36
  435. 427 0076 9150 subi r25,lo8(-(-1))
  436. 428 0078 9A8F std Y+26,r25
  437. 429 007a 60E0 ldi r22,0
  438. 430 007c 00C0 rjmp .L120
  439. 431 .L36:
  440. 432 007e 988D ldd r25,Y+24
  441. 433 0080 00C0 rjmp .L122
  442. 434 .L35:
  443. 435 0082 1D30 cpi r17,lo8(13)
  444. 436 0084 01F4 brne .L38
  445. 437 0086 1B8E std Y+27,__zero_reg__
  446. 438 0088 9A8D ldd r25,Y+26
  447. 439 008a 888D ldd r24,Y+24
  448. 440 .L122:
  449. 441 008c E885 ldd r30,Y+8
  450. 442 008e F985 ldd r31,Y+9
  451. 443 0090 989F mul r25,r24
  452. 444 0092 802D mov r24,r0
  453. 445 0094 1124 clr r1
  454. 446 0096 00C0 rjmp .L110
  455. 447 .L38:
  456. 448 0098 1B31 cpi r17,lo8(27)
  457. 449 009a 01F4 brne .L39
  458. 450 009c 81E0 ldi r24,lo8(1)
  459. 451 009e 00C0 rjmp .L111
  460. 452 .L39:
  461. 453 00a0 1830 cpi r17,lo8(8)
  462. 454 00a2 01F4 brne .L40
  463. 455 00a4 6B8D ldd r22,Y+27
  464. 456 00a6 6623 tst r22
  465. GAS LISTING /tmp/ccLyalLZ.s page 9
  466. 457 00a8 01F4 brne .+2
  467. 458 00aa 00C0 rjmp .L37
  468. 459 00ac 6150 subi r22,lo8(-(-1))
  469. 460 00ae 6B8F std Y+27,r22
  470. 461 00b0 00C0 rjmp .L112
  471. 462 .L40:
  472. 463 00b2 1C30 cpi r17,lo8(12)
  473. 464 00b4 01F0 breq .+2
  474. 465 00b6 00C0 rjmp .L33
  475. 466 00b8 00C0 rjmp .L49
  476. 467 .L34:
  477. 468 00ba 8130 cpi r24,lo8(1)
  478. 469 00bc 01F0 breq .+2
  479. 470 00be 00C0 rjmp .L42
  480. 471 00c0 1E8A std Y+22,__zero_reg__
  481. 472 00c2 812F mov r24,r17
  482. 473 00c4 90E0 ldi r25,0
  483. 474 00c6 FC01 movw r30,r24
  484. 475 00c8 E054 subi r30,64
  485. 476 00ca F109 sbc r31,__zero_reg__
  486. 477 00cc E033 cpi r30,48
  487. 478 00ce F105 cpc r31,__zero_reg__
  488. 479 00d0 00F0 brlo .+2
  489. 480 00d2 00C0 rjmp .L37
  490. 481 00d4 8827 clr r24
  491. 482 00d6 E050 subi r30,pm_lo8(-(.L44))
  492. 483 00d8 F040 sbci r31,pm_hi8(-(.L44))
  493. 484 00da 8040 sbci r24,pm_hh8(-(.L44))
  494. 485 00dc 0C94 0000 jmp __tablejump2__
  495. 486 .section .progmem.gcc_sw_table.TermPut.isra.0,"a",@progbits
  496. 487 .p2align 1
  497. 488 .L44:
  498. 489 0000 0000 .word gs(.L43)
  499. 490 0002 0000 .word gs(.L45)
  500. 491 0004 0000 .word gs(.L46)
  501. 492 0006 0000 .word gs(.L47)
  502. 493 0008 0000 .word gs(.L48)
  503. 494 000a 0000 .word gs(.L49)
  504. 495 000c 0000 .word gs(.L37)
  505. 496 000e 0000 .word gs(.L37)
  506. 497 0010 0000 .word gs(.L50)
  507. 498 0012 0000 .word gs(.L51)
  508. 499 0014 0000 .word gs(.L52)
  509. 500 0016 0000 .word gs(.L53)
  510. 501 0018 0000 .word gs(.L54)
  511. 502 001a 0000 .word gs(.L55)
  512. 503 001c 0000 .word gs(.L37)
  513. 504 001e 0000 .word gs(.L37)
  514. 505 0020 0000 .word gs(.L56)
  515. 506 0022 0000 .word gs(.L37)
  516. 507 0024 0000 .word gs(.L37)
  517. 508 0026 0000 .word gs(.L37)
  518. 509 0028 0000 .word gs(.L37)
  519. 510 002a 0000 .word gs(.L37)
  520. 511 002c 0000 .word gs(.L37)
  521. 512 002e 0000 .word gs(.L37)
  522. 513 0030 0000 .word gs(.L37)
  523. GAS LISTING /tmp/ccLyalLZ.s page 10
  524. 514 0032 0000 .word gs(.L57)
  525. 515 0034 0000 .word gs(.L58)
  526. 516 0036 0000 .word gs(.L37)
  527. 517 0038 0000 .word gs(.L37)
  528. 518 003a 0000 .word gs(.L37)
  529. 519 003c 0000 .word gs(.L37)
  530. 520 003e 0000 .word gs(.L37)
  531. 521 0040 0000 .word gs(.L37)
  532. 522 0042 0000 .word gs(.L37)
  533. 523 0044 0000 .word gs(.L37)
  534. 524 0046 0000 .word gs(.L37)
  535. 525 0048 0000 .word gs(.L59)
  536. 526 004a 0000 .word gs(.L60)
  537. 527 004c 0000 .word gs(.L61)
  538. 528 004e 0000 .word gs(.L37)
  539. 529 0050 0000 .word gs(.L37)
  540. 530 0052 0000 .word gs(.L62)
  541. 531 0054 0000 .word gs(.L37)
  542. 532 0056 0000 .word gs(.L37)
  543. 533 0058 0000 .word gs(.L37)
  544. 534 005a 0000 .word gs(.L37)
  545. 535 005c 0000 .word gs(.L63)
  546. 536 005e 0000 .word gs(.L64)
  547. 537 .section .text.TermPut.isra.0
  548. 538 .L43:
  549. 539 00e0 8A8D ldd r24,Y+26
  550. 540 00e2 90E0 ldi r25,0
  551. 541 00e4 0196 adiw r24,1
  552. 542 00e6 298D ldd r18,Y+25
  553. 543 00e8 289F mul r18,r24
  554. 544 00ea F001 movw r30,r0
  555. 545 00ec 299F mul r18,r25
  556. 546 00ee F00D add r31,r0
  557. 547 00f0 1124 clr __zero_reg__
  558. 548 00f2 3197 sbiw r30,1
  559. 549 00f4 8C8D ldd r24,Y+28
  560. 550 00f6 9D8D ldd r25,Y+29
  561. 551 00f8 4B8D ldd r20,Y+27
  562. 552 00fa E80F add r30,r24
  563. 553 00fc F91F adc r31,r25
  564. 554 00fe DF01 movw r26,r30
  565. 555 0100 1196 adiw r26,1
  566. 556 .L65:
  567. 557 0102 242F mov r18,r20
  568. 558 0104 30E0 ldi r19,0
  569. 559 0106 898D ldd r24,Y+25
  570. 560 0108 90E0 ldi r25,0
  571. 561 010a 0197 sbiw r24,1
  572. 562 010c 2817 cp r18,r24
  573. 563 010e 3907 cpc r19,r25
  574. 564 0110 04F4 brge .L124
  575. 565 0112 8291 ld r24,-Z
  576. 566 0114 8E93 st -X,r24
  577. 567 0116 4F5F subi r20,lo8(-(1))
  578. 568 0118 00C0 rjmp .L65
  579. 569 .L124:
  580. 570 011a 7082 st Z,r7
  581. GAS LISTING /tmp/ccLyalLZ.s page 11
  582. 571 011c 4B8D ldd r20,Y+27
  583. 572 011e 6A8D ldd r22,Y+26
  584. 573 0120 CE01 movw r24,r28
  585. 574 0122 0E94 0000 call TermRefreshLineEnd
  586. 575 0126 00C0 rjmp .L87
  587. 576 .L45:
  588. 577 0128 9A8D ldd r25,Y+26
  589. 578 012a 9923 tst r25
  590. 579 012c 01F4 brne .+2
  591. 580 012e 00C0 rjmp .L37
  592. 581 0130 9150 subi r25,lo8(-(-1))
  593. 582 0132 9A8F std Y+26,r25
  594. 583 0134 00C0 rjmp .L121
  595. 584 .L46:
  596. 585 0136 9A8D ldd r25,Y+26
  597. 586 0138 9F5F subi r25,lo8(-(1))
  598. 587 013a 9A8F std Y+26,r25
  599. 588 013c 8F89 ldd r24,Y+23
  600. 589 013e 9817 cp r25,r24
  601. 590 0140 00F0 brlo .+2
  602. 591 0142 00C0 rjmp .L119
  603. 592 0144 00C0 rjmp .L121
  604. 593 .L47:
  605. 594 0146 9B8D ldd r25,Y+27
  606. 595 0148 9F5F subi r25,lo8(-(1))
  607. 596 014a 9B8F std Y+27,r25
  608. 597 014c 898D ldd r24,Y+25
  609. 598 014e 9817 cp r25,r24
  610. 599 0150 00F4 brsh .L113
  611. 600 0152 EE85 ldd r30,Y+14
  612. 601 0154 FF85 ldd r31,Y+15
  613. 602 0156 00C0 rjmp .L114
  614. 603 .L48:
  615. 604 0158 8B8D ldd r24,Y+27
  616. 605 015a 8823 tst r24
  617. 606 015c 01F4 brne .+2
  618. 607 015e 00C0 rjmp .L37
  619. 608 0160 EC85 ldd r30,Y+12
  620. 609 0162 FD85 ldd r31,Y+13
  621. 610 0164 1995 eicall
  622. 611 0166 8B8D ldd r24,Y+27
  623. 612 .L113:
  624. 613 0168 8150 subi r24,lo8(-(-1))
  625. 614 016a 8B8F std Y+27,r24
  626. 615 016c 00C0 rjmp .L37
  627. 616 .L49:
  628. 617 016e CE01 movw r24,r28
  629. 618 0170 0E94 0000 call TermClear
  630. 619 0174 00C0 rjmp .L37
  631. 620 .L50:
  632. 621 0176 1B8E std Y+27,__zero_reg__
  633. 622 0178 1A8E std Y+26,__zero_reg__
  634. 623 017a EA85 ldd r30,Y+10
  635. 624 017c FB85 ldd r31,Y+11
  636. 625 .L114:
  637. 626 017e 1995 eicall
  638. 627 0180 00C0 rjmp .L37
  639. GAS LISTING /tmp/ccLyalLZ.s page 12
  640. 628 .L51:
  641. 629 0182 8A8D ldd r24,Y+26
  642. 630 0184 9FEF ldi r25,lo8(-1)
  643. 631 0186 980F add r25,r24
  644. 632 0188 9A8F std Y+26,r25
  645. 633 018a 8823 tst r24
  646. 634 018c 01F0 breq .L70
  647. 635 .L121:
  648. 636 018e 288D ldd r18,Y+24
  649. 637 0190 00C0 rjmp .L115
  650. 638 .L70:
  651. 639 0192 1A8E std Y+26,__zero_reg__
  652. 640 0194 60E0 ldi r22,0
  653. 641 0196 00C0 rjmp .L116
  654. 642 .L52:
  655. 643 0198 8B8D ldd r24,Y+27
  656. 644 019a 298D ldd r18,Y+25
  657. 645 019c 8217 cp r24,r18
  658. 646 019e 00F4 brsh .L71
  659. 647 01a0 3A8D ldd r19,Y+26
  660. 648 01a2 422F mov r20,r18
  661. 649 01a4 50E0 ldi r21,0
  662. 650 01a6 90E0 ldi r25,0
  663. 651 01a8 481B sub r20,r24
  664. 652 01aa 590B sbc r21,r25
  665. 653 01ac 239F mul r18,r19
  666. 654 01ae 800D add r24,r0
  667. 655 01b0 911D adc r25,r1
  668. 656 01b2 1124 clr __zero_reg__
  669. 657 01b4 2C8D ldd r18,Y+28
  670. 658 01b6 3D8D ldd r19,Y+29
  671. 659 01b8 60E2 ldi r22,lo8(32)
  672. 660 01ba 70E0 ldi r23,0
  673. 661 01bc 820F add r24,r18
  674. 662 01be 931F adc r25,r19
  675. 663 01c0 0E94 0000 call memset
  676. 664 .L71:
  677. 665 01c4 1A8D ldd r17,Y+26
  678. 666 .L109:
  679. 667 01c6 1F5F subi r17,lo8(-(1))
  680. 668 01c8 8F89 ldd r24,Y+23
  681. 669 01ca 1817 cp r17,r24
  682. 670 01cc 00F0 brlo .+2
  683. 671 01ce 00C0 rjmp .L117
  684. 672 01d0 998D ldd r25,Y+25
  685. 673 01d2 492F mov r20,r25
  686. 674 01d4 50E0 ldi r21,0
  687. 675 01d6 2C8D ldd r18,Y+28
  688. 676 01d8 3D8D ldd r19,Y+29
  689. 677 01da 60E2 ldi r22,lo8(32)
  690. 678 01dc 70E0 ldi r23,0
  691. 679 01de F901 movw r30,r18
  692. 680 01e0 199F mul r17,r25
  693. 681 01e2 E00D add r30,r0
  694. 682 01e4 F11D adc r31,r1
  695. 683 01e6 1124 clr __zero_reg__
  696. 684 01e8 CF01 movw r24,r30
  697. GAS LISTING /tmp/ccLyalLZ.s page 13
  698. 685 01ea 0E94 0000 call memset
  699. 686 01ee 00C0 rjmp .L109
  700. 687 .L53:
  701. 688 01f0 8B8D ldd r24,Y+27
  702. 689 01f2 298D ldd r18,Y+25
  703. 690 01f4 8217 cp r24,r18
  704. 691 01f6 00F0 brlo .+2
  705. 692 01f8 00C0 rjmp .L37
  706. 693 01fa 3A8D ldd r19,Y+26
  707. 694 01fc 422F mov r20,r18
  708. 695 01fe 50E0 ldi r21,0
  709. 696 0200 90E0 ldi r25,0
  710. 697 0202 481B sub r20,r24
  711. 698 0204 590B sbc r21,r25
  712. 699 0206 239F mul r18,r19
  713. 700 0208 800D add r24,r0
  714. 701 020a 911D adc r25,r1
  715. 702 020c 1124 clr __zero_reg__
  716. 703 020e 2C8D ldd r18,Y+28
  717. 704 0210 3D8D ldd r19,Y+29
  718. 705 0212 60E2 ldi r22,lo8(32)
  719. 706 0214 70E0 ldi r23,0
  720. 707 0216 820F add r24,r18
  721. 708 0218 931F adc r25,r19
  722. 709 021a 00C0 rjmp .L118
  723. 710 .L54:
  724. 711 021c 6A8D ldd r22,Y+26
  725. 712 .L116:
  726. 713 021e CE01 movw r24,r28
  727. 714 0220 0E94 0000 call TermInsertLine
  728. 715 0224 00C0 rjmp .L37
  729. 716 .L55:
  730. 717 0226 6A8D ldd r22,Y+26
  731. 718 .L120:
  732. 719 0228 CE01 movw r24,r28
  733. 720 022a 0E94 0000 call TermDeleteLine
  734. 721 022e 00C0 rjmp .L37
  735. 722 .L56:
  736. 723 0230 6B8D ldd r22,Y+27
  737. 724 .L112:
  738. 725 0232 CE01 movw r24,r28
  739. 726 0234 0E94 0000 call TermDeleteChar
  740. 727 0238 00C0 rjmp .L37
  741. 728 .L57:
  742. 729 023a 82E0 ldi r24,lo8(2)
  743. 730 .L111:
  744. 731 023c 8E8B std Y+22,r24
  745. 732 023e 00C0 rjmp .L37
  746. 733 .L58:
  747. 734 0240 CE01 movw r24,r28
  748. 735 0242 0E94 0000 call TermClear
  749. 736 0246 80E0 ldi r24,lo8(termid)
  750. 737 0248 482E mov r4,r24
  751. 738 024a 80E0 ldi r24,hi8(termid)
  752. 739 024c 582E mov r5,r24
  753. 740 .L74:
  754. 741 024e F201 movw r30,r4
  755. GAS LISTING /tmp/ccLyalLZ.s page 14
  756. 742 0250 8191 ld r24,Z+
  757. 743 0252 2F01 movw r4,r30
  758. 744 0254 8823 tst r24
  759. 745 0256 01F4 brne .+2
  760. 746 0258 00C0 rjmp .L37
  761. 747 025a EA81 ldd r30,Y+2
  762. 748 025c FB81 ldd r31,Y+3
  763. 749 025e 1995 eicall
  764. 750 0260 00C0 rjmp .L74
  765. 751 .L60:
  766. 752 0262 4160 ori r20,1
  767. 753 0264 4A8B std Y+18,r20
  768. 754 0266 5B8B std Y+19,r21
  769. 755 0268 6C8B std Y+20,r22
  770. 756 026a 7D8B std Y+21,r23
  771. 757 026c E889 ldd r30,Y+16
  772. 758 026e F989 ldd r31,Y+17
  773. 759 0270 81E0 ldi r24,lo8(1)
  774. 760 0272 00C0 rjmp .L110
  775. 761 .L61:
  776. 762 0274 4E7F andi r20,254
  777. 763 0276 4A8B std Y+18,r20
  778. 764 0278 5B8B std Y+19,r21
  779. 765 027a 6C8B std Y+20,r22
  780. 766 027c 7D8B std Y+21,r23
  781. 767 027e E889 ldd r30,Y+16
  782. 768 0280 F989 ldd r31,Y+17
  783. 769 0282 80E0 ldi r24,0
  784. 770 0284 00C0 rjmp .L110
  785. 771 .L59:
  786. 772 0286 4B8D ldd r20,Y+27
  787. 773 0288 4423 tst r20
  788. 774 028a 01F0 breq .L76
  789. 775 028c 3A8D ldd r19,Y+26
  790. 776 028e 298D ldd r18,Y+25
  791. 777 0290 50E0 ldi r21,0
  792. 778 0292 8C8D ldd r24,Y+28
  793. 779 0294 9D8D ldd r25,Y+29
  794. 780 0296 60E2 ldi r22,lo8(32)
  795. 781 0298 70E0 ldi r23,0
  796. 782 029a 329F mul r19,r18
  797. 783 029c 800D add r24,r0
  798. 784 029e 911D adc r25,r1
  799. 785 02a0 1124 clr __zero_reg__
  800. 786 02a2 0E94 0000 call memset
  801. 787 .L76:
  802. 788 02a6 10E0 ldi r17,0
  803. 789 .L77:
  804. 790 02a8 8A8D ldd r24,Y+26
  805. 791 02aa 1817 cp r17,r24
  806. 792 02ac 00F4 brsh .L117
  807. 793 02ae 998D ldd r25,Y+25
  808. 794 02b0 492F mov r20,r25
  809. 795 02b2 50E0 ldi r21,0
  810. 796 02b4 2C8D ldd r18,Y+28
  811. 797 02b6 3D8D ldd r19,Y+29
  812. 798 02b8 60E2 ldi r22,lo8(32)
  813. GAS LISTING /tmp/ccLyalLZ.s page 15
  814. 799 02ba 70E0 ldi r23,0
  815. 800 02bc F901 movw r30,r18
  816. 801 02be 199F mul r17,r25
  817. 802 02c0 E00D add r30,r0
  818. 803 02c2 F11D adc r31,r1
  819. 804 02c4 1124 clr __zero_reg__
  820. 805 02c6 CF01 movw r24,r30
  821. 806 02c8 0E94 0000 call memset
  822. 807 02cc 1F5F subi r17,lo8(-(1))
  823. 808 02ce 00C0 rjmp .L77
  824. 809 .L64:
  825. 810 02d0 4B8D ldd r20,Y+27
  826. 811 02d2 4423 tst r20
  827. 812 02d4 01F4 brne .+2
  828. 813 02d6 00C0 rjmp .L37
  829. 814 02d8 3A8D ldd r19,Y+26
  830. 815 02da 298D ldd r18,Y+25
  831. 816 02dc 50E0 ldi r21,0
  832. 817 02de 8C8D ldd r24,Y+28
  833. 818 02e0 9D8D ldd r25,Y+29
  834. 819 02e2 60E2 ldi r22,lo8(32)
  835. 820 02e4 70E0 ldi r23,0
  836. 821 02e6 329F mul r19,r18
  837. 822 02e8 800D add r24,r0
  838. 823 02ea 911D adc r25,r1
  839. 824 02ec 1124 clr __zero_reg__
  840. 825 .L118:
  841. 826 02ee 0E94 0000 call memset
  842. 827 .L117:
  843. 828 02f2 CE01 movw r24,r28
  844. 829 02f4 0E94 0000 call TermRefresh
  845. 830 02f8 00C0 rjmp .L37
  846. 831 .L62:
  847. 832 02fa 7061 ori r23,16
  848. 833 02fc 4A8B std Y+18,r20
  849. 834 02fe 5B8B std Y+19,r21
  850. 835 0300 6C8B std Y+20,r22
  851. 836 0302 7D8B std Y+21,r23
  852. 837 0304 E889 ldd r30,Y+16
  853. 838 0306 F989 ldd r31,Y+17
  854. 839 0308 83E0 ldi r24,lo8(3)
  855. 840 030a 00C0 rjmp .L110
  856. 841 .L63:
  857. 842 030c 7F7E andi r23,239
  858. 843 030e 4A8B std Y+18,r20
  859. 844 0310 5B8B std Y+19,r21
  860. 845 0312 6C8B std Y+20,r22
  861. 846 0314 7D8B std Y+21,r23
  862. 847 0316 E889 ldd r30,Y+16
  863. 848 0318 F989 ldd r31,Y+17
  864. 849 031a 82E0 ldi r24,lo8(2)
  865. 850 031c 00C0 rjmp .L110
  866. 851 .L42:
  867. 852 031e 8230 cpi r24,lo8(2)
  868. 853 0320 01F4 brne .L80
  869. 854 0322 0E8B std Y+22,r16
  870. 855 0324 1032 cpi r17,lo8(32)
  871. GAS LISTING /tmp/ccLyalLZ.s page 16
  872. 856 0326 00F4 brsh .L81
  873. 857 0328 1A8E std Y+26,__zero_reg__
  874. 858 032a 00C0 rjmp .L37
  875. 859 .L81:
  876. 860 032c 8F89 ldd r24,Y+23
  877. 861 032e 212F mov r18,r17
  878. 862 0330 30E0 ldi r19,0
  879. 863 0332 2F51 subi r18,31
  880. 864 0334 3109 sbc r19,__zero_reg__
  881. 865 0336 482F mov r20,r24
  882. 866 0338 50E0 ldi r21,0
  883. 867 033a 4217 cp r20,r18
  884. 868 033c 5307 cpc r21,r19
  885. 869 033e 04F4 brge .L82
  886. 870 .L119:
  887. 871 0340 8150 subi r24,lo8(-(-1))
  888. 872 0342 8A8F std Y+26,r24
  889. 873 0344 00C0 rjmp .L37
  890. 874 .L82:
  891. 875 0346 1052 subi r17,lo8(-(-32))
  892. 876 0348 1A8F std Y+26,r17
  893. 877 034a 00C0 rjmp .L37
  894. 878 .L80:
  895. 879 034c 8330 cpi r24,lo8(3)
  896. 880 034e 01F4 brne .L33
  897. 881 0350 1E8A std Y+22,__zero_reg__
  898. 882 0352 1032 cpi r17,lo8(32)
  899. 883 0354 00F4 brsh .L83
  900. 884 0356 1B8E std Y+27,__zero_reg__
  901. 885 0358 00C0 rjmp .L87
  902. 886 .L83:
  903. 887 035a 898D ldd r24,Y+25
  904. 888 035c 212F mov r18,r17
  905. 889 035e 30E0 ldi r19,0
  906. 890 0360 2F51 subi r18,31
  907. 891 0362 3109 sbc r19,__zero_reg__
  908. 892 0364 482F mov r20,r24
  909. 893 0366 50E0 ldi r21,0
  910. 894 0368 4217 cp r20,r18
  911. 895 036a 5307 cpc r21,r19
  912. 896 036c 04F0 brlt .L86
  913. 897 036e 1052 subi r17,lo8(-(-32))
  914. 898 0370 1B8F std Y+27,r17
  915. 899 0372 00C0 rjmp .L87
  916. 900 .L33:
  917. 901 0374 EA81 ldd r30,Y+2
  918. 902 0376 FB81 ldd r31,Y+3
  919. 903 0378 812F mov r24,r17
  920. 904 037a 1995 eicall
  921. 905 037c 8A89 ldd r24,Y+18
  922. 906 037e 9B89 ldd r25,Y+19
  923. 907 0380 AC89 ldd r26,Y+20
  924. 908 0382 BD89 ldd r27,Y+21
  925. 909 0384 A1FF sbrs r26,1
  926. 910 0386 00C0 rjmp .L37
  927. 911 0388 2A8D ldd r18,Y+26
  928. 912 038a 998D ldd r25,Y+25
  929. GAS LISTING /tmp/ccLyalLZ.s page 17
  930. 913 038c 8B8D ldd r24,Y+27
  931. 914 038e EC8D ldd r30,Y+28
  932. 915 0390 FD8D ldd r31,Y+29
  933. 916 0392 299F mul r18,r25
  934. 917 0394 E00D add r30,r0
  935. 918 0396 F11D adc r31,r1
  936. 919 0398 1124 clr __zero_reg__
  937. 920 039a E80F add r30,r24
  938. 921 039c F11D adc r31,__zero_reg__
  939. 922 039e 1083 st Z,r17
  940. 923 03a0 9B8D ldd r25,Y+27
  941. 924 03a2 9F5F subi r25,lo8(-(1))
  942. 925 03a4 9B8F std Y+27,r25
  943. 926 03a6 898D ldd r24,Y+25
  944. 927 03a8 9817 cp r25,r24
  945. 928 03aa 00F0 brlo .L37
  946. 929 03ac 4A89 ldd r20,Y+18
  947. 930 03ae 5B89 ldd r21,Y+19
  948. 931 03b0 6C89 ldd r22,Y+20
  949. 932 03b2 7D89 ldd r23,Y+21
  950. 933 03b4 62FF sbrs r22,2
  951. 934 03b6 00C0 rjmp .L86
  952. 935 03b8 1B8E std Y+27,__zero_reg__
  953. 936 03ba 8A8D ldd r24,Y+26
  954. 937 03bc 9F89 ldd r25,Y+23
  955. 938 03be 8917 cp r24,r25
  956. 939 03c0 00F4 brsh .L87
  957. 940 03c2 8F5F subi r24,lo8(-(1))
  958. 941 03c4 8A8F std Y+26,r24
  959. 942 03c6 00C0 rjmp .L87
  960. 943 .L86:
  961. 944 03c8 8150 subi r24,lo8(-(-1))
  962. 945 03ca 8B8F std Y+27,r24
  963. 946 .L87:
  964. 947 03cc 2A8D ldd r18,Y+26
  965. 948 03ce 988D ldd r25,Y+24
  966. 949 .L115:
  967. 950 03d0 8B8D ldd r24,Y+27
  968. 951 03d2 E885 ldd r30,Y+8
  969. 952 03d4 F985 ldd r31,Y+9
  970. 953 03d6 299F mul r18,r25
  971. 954 03d8 800D add r24,r0
  972. 955 03da 1124 clr __zero_reg__
  973. 956 .L110:
  974. 957 03dc 1995 eicall
  975. 958 .L37:
  976. 959 03de FFEF ldi r31,-1
  977. 960 03e0 CF1A sub r12,r31
  978. 961 03e2 DF0A sbc r13,r31
  979. 962 03e4 00C0 rjmp .L30
  980. 963 .L123:
  981. 964 03e6 F7FE sbrs r15,7
  982. 965 03e8 00C0 rjmp .L89
  983. 966 03ea E12C mov r14,__zero_reg__
  984. 967 03ec F12C mov r15,__zero_reg__
  985. 968 .L89:
  986. 969 03ee C701 movw r24,r14
  987. GAS LISTING /tmp/ccLyalLZ.s page 18
  988. 970 03f0 00C0 rjmp .L29
  989. 971 .L90:
  990. 972 03f2 80E0 ldi r24,0
  991. 973 03f4 90E0 ldi r25,0
  992. 974 .L29:
  993. 975 /* epilogue start */
  994. 976 03f6 DF91 pop r29
  995. 977 03f8 CF91 pop r28
  996. 978 03fa 1F91 pop r17
  997. 979 03fc 0F91 pop r16
  998. 980 03fe FF90 pop r15
  999. 981 0400 EF90 pop r14
  1000. 982 0402 DF90 pop r13
  1001. 983 0404 CF90 pop r12
  1002. 984 0406 BF90 pop r11
  1003. 985 0408 AF90 pop r10
  1004. 986 040a 9F90 pop r9
  1005. 987 040c 8F90 pop r8
  1006. 988 040e 7F90 pop r7
  1007. 989 0410 5F90 pop r5
  1008. 990 0412 4F90 pop r4
  1009. 991 0414 0895 ret
  1010. 992 .size TermPut.isra.0, .-TermPut.isra.0
  1011. 993 .section .text.TermIOCtl,"ax",@progbits
  1012. 994 .global TermIOCtl
  1013. 995 .type TermIOCtl, @function
  1014. 996 TermIOCtl:
  1015. 997 0000 FF92 push r15
  1016. 998 0002 0F93 push r16
  1017. 999 0004 1F93 push r17
  1018. 1000 0006 CF93 push r28
  1019. 1001 0008 DF93 push r29
  1020. 1002 /* prologue: function */
  1021. 1003 /* frame size = 0 */
  1022. 1004 /* stack size = 5 */
  1023. 1005 .L__stack_usage = 5
  1024. 1006 000a DA01 movw r26,r20
  1025. 1007 000c FC01 movw r30,r24
  1026. 1008 000e C189 ldd r28,Z+17
  1027. 1009 0010 D289 ldd r29,Z+18
  1028. 1010 0012 6730 cpi r22,7
  1029. 1011 0014 F4E0 ldi r31,4
  1030. 1012 0016 7F07 cpc r23,r31
  1031. 1013 0018 01F4 brne .+2
  1032. 1014 001a 00C0 rjmp .L127
  1033. 1015 001c 04F4 brge .L128
  1034. 1016 001e 6330 cpi r22,3
  1035. 1017 0020 E4E0 ldi r30,4
  1036. 1018 0022 7E07 cpc r23,r30
  1037. 1019 0024 01F4 brne .+2
  1038. 1020 0026 00C0 rjmp .L129
  1039. 1021 0028 04F4 brge .L130
  1040. 1022 002a 6130 cpi r22,1
  1041. 1023 002c 84E0 ldi r24,4
  1042. 1024 002e 7807 cpc r23,r24
  1043. 1025 0030 01F4 brne .+2
  1044. 1026 0032 00C0 rjmp .L131
  1045. GAS LISTING /tmp/ccLyalLZ.s page 19
  1046. 1027 0034 6230 cpi r22,2
  1047. 1028 0036 7440 sbci r23,4
  1048. 1029 0038 01F0 breq .+2
  1049. 1030 003a 00C0 rjmp .L126
  1050. 1031 003c 1C91 ld r17,X
  1051. 1032 003e EC81 ldd r30,Y+4
  1052. 1033 0040 FD81 ldd r31,Y+5
  1053. 1034 0042 6AE0 ldi r22,lo8(10)
  1054. 1035 0044 1196 adiw r26,1
  1055. 1036 0046 8C91 ld r24,X
  1056. 1037 0048 00C0 rjmp .L149
  1057. 1038 .L130:
  1058. 1039 004a 6530 cpi r22,5
  1059. 1040 004c F4E0 ldi r31,4
  1060. 1041 004e 7F07 cpc r23,r31
  1061. 1042 0050 01F4 brne .+2
  1062. 1043 0052 00C0 rjmp .L133
  1063. 1044 0054 6630 cpi r22,6
  1064. 1045 0056 7440 sbci r23,4
  1065. 1046 0058 01F0 breq .+2
  1066. 1047 005a 00C0 rjmp .L126
  1067. 1048 005c 1C91 ld r17,X
  1068. 1049 005e EA81 ldd r30,Y+2
  1069. 1050 0060 FB81 ldd r31,Y+3
  1070. 1051 0062 1196 adiw r26,1
  1071. 1052 0064 8C91 ld r24,X
  1072. 1053 0066 00C0 rjmp .L152
  1073. 1054 .L128:
  1074. 1055 0068 6531 cpi r22,21
  1075. 1056 006a E4E0 ldi r30,4
  1076. 1057 006c 7E07 cpc r23,r30
  1077. 1058 006e 01F4 brne .+2
  1078. 1059 0070 00C0 rjmp .L135
  1079. 1060 0072 04F4 brge .L136
  1080. 1061 0074 6331 cpi r22,19
  1081. 1062 0076 84E0 ldi r24,4
  1082. 1063 0078 7807 cpc r23,r24
  1083. 1064 007a 01F4 brne .+2
  1084. 1065 007c 00C0 rjmp .L137
  1085. 1066 007e 6431 cpi r22,20
  1086. 1067 0080 7440 sbci r23,4
  1087. 1068 0082 01F4 brne .+2
  1088. 1069 0084 00C0 rjmp .L138
  1089. 1070 0086 00C0 rjmp .L126
  1090. 1071 .L136:
  1091. 1072 0088 6631 cpi r22,22
  1092. 1073 008a F4E0 ldi r31,4
  1093. 1074 008c 7F07 cpc r23,r31
  1094. 1075 008e 01F4 brne .+2
  1095. 1076 0090 00C0 rjmp .L139
  1096. 1077 0092 6130 cpi r22,1
  1097. 1078 0094 7540 sbci r23,5
  1098. 1079 0096 01F0 breq .+2
  1099. 1080 0098 00C0 rjmp .L126
  1100. 1081 009a 8F89 ldd r24,Y+23
  1101. 1082 009c 90E0 ldi r25,0
  1102. 1083 009e 1396 adiw r26,2+1
  1103. GAS LISTING /tmp/ccLyalLZ.s page 20
  1104. 1084 00a0 9C93 st X,r25
  1105. 1085 00a2 8E93 st -X,r24
  1106. 1086 00a4 1297 sbiw r26,2
  1107. 1087 00a6 898D ldd r24,Y+25
  1108. 1088 00a8 90E0 ldi r25,0
  1109. 1089 00aa 1196 adiw r26,1
  1110. 1090 00ac 9C93 st X,r25
  1111. 1091 00ae 8E93 st -X,r24
  1112. 1092 00b0 1596 adiw r26,4+1
  1113. 1093 00b2 1C92 st X,__zero_reg__
  1114. 1094 00b4 1E92 st -X,__zero_reg__
  1115. 1095 00b6 1497 sbiw r26,4
  1116. 1096 00b8 1796 adiw r26,6+1
  1117. 1097 00ba 1C92 st X,__zero_reg__
  1118. 1098 00bc 1E92 st -X,__zero_reg__
  1119. 1099 00be 1697 sbiw r26,6
  1120. 1100 00c0 00C0 rjmp .L126
  1121. 1101 .L131:
  1122. 1102 00c2 EC81 ldd r30,Y+4
  1123. 1103 00c4 FD81 ldd r31,Y+5
  1124. 1104 00c6 6AE0 ldi r22,lo8(10)
  1125. 1105 00c8 8C91 ld r24,X
  1126. 1106 00ca 00C0 rjmp .L148
  1127. 1107 .L129:
  1128. 1108 00cc 1C91 ld r17,X
  1129. 1109 00ce 1196 adiw r26,1
  1130. 1110 00d0 0C91 ld r16,X
  1131. 1111 00d2 1197 sbiw r26,1
  1132. 1112 00d4 1296 adiw r26,2
  1133. 1113 00d6 FC90 ld r15,X
  1134. 1114 00d8 1297 sbiw r26,2
  1135. 1115 00da 1396 adiw r26,3
  1136. 1116 00dc 8C91 ld r24,X
  1137. 1117 00de EC81 ldd r30,Y+4
  1138. 1118 00e0 FD81 ldd r31,Y+5
  1139. 1119 00e2 6AE0 ldi r22,lo8(10)
  1140. 1120 00e4 1995 eicall
  1141. 1121 00e6 EC81 ldd r30,Y+4
  1142. 1122 00e8 FD81 ldd r31,Y+5
  1143. 1123 00ea 6AE0 ldi r22,lo8(10)
  1144. 1124 00ec 8F2D mov r24,r15
  1145. 1125 00ee 1995 eicall
  1146. 1126 00f0 EC81 ldd r30,Y+4
  1147. 1127 00f2 FD81 ldd r31,Y+5
  1148. 1128 00f4 6AE0 ldi r22,lo8(10)
  1149. 1129 00f6 802F mov r24,r16
  1150. 1130 .L149:
  1151. 1131 00f8 1995 eicall
  1152. 1132 00fa EC81 ldd r30,Y+4
  1153. 1133 00fc FD81 ldd r31,Y+5
  1154. 1134 00fe 6AE0 ldi r22,lo8(10)
  1155. 1135 0100 812F mov r24,r17
  1156. 1136 .L148:
  1157. 1137 0102 1995 eicall
  1158. 1138 0104 00C0 rjmp .L126
  1159. 1139 .L133:
  1160. 1140 0106 EA81 ldd r30,Y+2
  1161. GAS LISTING /tmp/ccLyalLZ.s page 21
  1162. 1141 0108 FB81 ldd r31,Y+3
  1163. 1142 010a 8C91 ld r24,X
  1164. 1143 010c 00C0 rjmp .L150
  1165. 1144 .L127:
  1166. 1145 010e 1C91 ld r17,X
  1167. 1146 0110 1196 adiw r26,1
  1168. 1147 0112 0C91 ld r16,X
  1169. 1148 0114 1197 sbiw r26,1
  1170. 1149 0116 1296 adiw r26,2
  1171. 1150 0118 FC90 ld r15,X
  1172. 1151 011a 1297 sbiw r26,2
  1173. 1152 011c 1396 adiw r26,3
  1174. 1153 011e 8C91 ld r24,X
  1175. 1154 0120 EA81 ldd r30,Y+2
  1176. 1155 0122 FB81 ldd r31,Y+3
  1177. 1156 0124 1995 eicall
  1178. 1157 0126 EA81 ldd r30,Y+2
  1179. 1158 0128 FB81 ldd r31,Y+3
  1180. 1159 012a 8F2D mov r24,r15
  1181. 1160 012c 1995 eicall
  1182. 1161 012e EA81 ldd r30,Y+2
  1183. 1162 0130 FB81 ldd r31,Y+3
  1184. 1163 0132 802F mov r24,r16
  1185. 1164 .L152:
  1186. 1165 0134 1995 eicall
  1187. 1166 0136 EA81 ldd r30,Y+2
  1188. 1167 0138 FB81 ldd r31,Y+3
  1189. 1168 013a 812F mov r24,r17
  1190. 1169 .L150:
  1191. 1170 013c 1995 eicall
  1192. 1171 013e 00C0 rjmp .L126
  1193. 1172 .L137:
  1194. 1173 0140 4D91 ld r20,X+
  1195. 1174 0142 5D91 ld r21,X+
  1196. 1175 0144 6D91 ld r22,X+
  1197. 1176 0146 7C91 ld r23,X
  1198. 1177 0148 8A89 ldd r24,Y+18
  1199. 1178 014a 9B89 ldd r25,Y+19
  1200. 1179 014c AC89 ldd r26,Y+20
  1201. 1180 014e BD89 ldd r27,Y+21
  1202. 1181 0150 452B or r20,r21
  1203. 1182 0152 462B or r20,r22
  1204. 1183 0154 472B or r20,r23
  1205. 1184 0156 01F0 breq .L141
  1206. 1185 0158 A260 ori r26,2
  1207. 1186 015a 00C0 rjmp .L151
  1208. 1187 .L141:
  1209. 1188 015c AD7F andi r26,253
  1210. 1189 015e 00C0 rjmp .L151
  1211. 1190 .L138:
  1212. 1191 0160 4A89 ldd r20,Y+18
  1213. 1192 0162 5B89 ldd r21,Y+19
  1214. 1193 0164 6C89 ldd r22,Y+20
  1215. 1194 0166 7D89 ldd r23,Y+21
  1216. 1195 0168 61FF sbrs r22,1
  1217. 1196 016a 00C0 rjmp .L142
  1218. 1197 .L144:
  1219. GAS LISTING /tmp/ccLyalLZ.s page 22
  1220. 1198 016c 41E0 ldi r20,lo8(1)
  1221. 1199 016e 50E0 ldi r21,0
  1222. 1200 0170 60E0 ldi r22,0
  1223. 1201 0172 70E0 ldi r23,0
  1224. 1202 0174 4D93 st X+,r20
  1225. 1203 0176 5D93 st X+,r21
  1226. 1204 0178 6D93 st X+,r22
  1227. 1205 017a 7C93 st X,r23
  1228. 1206 017c 1397 sbiw r26,3
  1229. 1207 017e 00C0 rjmp .L126
  1230. 1208 .L139:
  1231. 1209 0180 4A89 ldd r20,Y+18
  1232. 1210 0182 5B89 ldd r21,Y+19
  1233. 1211 0184 6C89 ldd r22,Y+20
  1234. 1212 0186 7D89 ldd r23,Y+21
  1235. 1213 0188 62FD sbrc r22,2
  1236. 1214 018a 00C0 rjmp .L144
  1237. 1215 .L142:
  1238. 1216 018c 1D92 st X+,__zero_reg__
  1239. 1217 018e 1D92 st X+,__zero_reg__
  1240. 1218 0190 1D92 st X+,__zero_reg__
  1241. 1219 0192 1C92 st X,__zero_reg__
  1242. 1220 0194 1397 sbiw r26,3
  1243. 1221 0196 00C0 rjmp .L126
  1244. 1222 .L135:
  1245. 1223 0198 4D91 ld r20,X+
  1246. 1224 019a 5D91 ld r21,X+
  1247. 1225 019c 6D91 ld r22,X+
  1248. 1226 019e 7C91 ld r23,X
  1249. 1227 01a0 8A89 ldd r24,Y+18
  1250. 1228 01a2 9B89 ldd r25,Y+19
  1251. 1229 01a4 AC89 ldd r26,Y+20
  1252. 1230 01a6 BD89 ldd r27,Y+21
  1253. 1231 01a8 452B or r20,r21
  1254. 1232 01aa 462B or r20,r22
  1255. 1233 01ac 472B or r20,r23
  1256. 1234 01ae 01F0 breq .L143
  1257. 1235 01b0 A460 ori r26,4
  1258. 1236 01b2 00C0 rjmp .L151
  1259. 1237 .L143:
  1260. 1238 01b4 AB7F andi r26,251
  1261. 1239 .L151:
  1262. 1240 01b6 8A8B std Y+18,r24
  1263. 1241 01b8 9B8B std Y+19,r25
  1264. 1242 01ba AC8B std Y+20,r26
  1265. 1243 01bc BD8B std Y+21,r27
  1266. 1244 .L126:
  1267. 1245 01be 80E0 ldi r24,0
  1268. 1246 01c0 90E0 ldi r25,0
  1269. 1247 /* epilogue start */
  1270. 1248 01c2 DF91 pop r29
  1271. 1249 01c4 CF91 pop r28
  1272. 1250 01c6 1F91 pop r17
  1273. 1251 01c8 0F91 pop r16
  1274. 1252 01ca FF90 pop r15
  1275. 1253 01cc 0895 ret
  1276. 1254 .size TermIOCtl, .-TermIOCtl
  1277. GAS LISTING /tmp/ccLyalLZ.s page 23
  1278. 1255 .section .text.TermInit,"ax",@progbits
  1279. 1256 .global TermInit
  1280. 1257 .type TermInit, @function
  1281. 1258 TermInit:
  1282. 1259 0000 CF93 push r28
  1283. 1260 0002 DF93 push r29
  1284. 1261 /* prologue: function */
  1285. 1262 /* frame size = 0 */
  1286. 1263 /* stack size = 2 */
  1287. 1264 .L__stack_usage = 2
  1288. 1265 0004 FC01 movw r30,r24
  1289. 1266 0006 C189 ldd r28,Z+17
  1290. 1267 0008 D289 ldd r29,Z+18
  1291. 1268 000a E881 ld r30,Y
  1292. 1269 000c F981 ldd r31,Y+1
  1293. 1270 000e 3097 sbiw r30,0
  1294. 1271 0010 01F4 brne .L154
  1295. 1272 .L157:
  1296. 1273 0012 9F89 ldd r25,Y+23
  1297. 1274 0014 898D ldd r24,Y+25
  1298. 1275 0016 989F mul r25,r24
  1299. 1276 0018 C001 movw r24,r0
  1300. 1277 001a 1124 clr __zero_reg__
  1301. 1278 001c 0E94 0000 call malloc
  1302. 1279 0020 9D8F std Y+29,r25
  1303. 1280 0022 8C8F std Y+28,r24
  1304. 1281 0024 892B or r24,r25
  1305. 1282 0026 01F4 brne .L165
  1306. 1283 0028 00C0 rjmp .L155
  1307. 1284 .L154:
  1308. 1285 002a 1995 eicall
  1309. 1286 002c 892B or r24,r25
  1310. 1287 002e 01F0 breq .L157
  1311. 1288 .L155:
  1312. 1289 0030 8FEF ldi r24,lo8(-1)
  1313. 1290 0032 9FEF ldi r25,lo8(-1)
  1314. 1291 0034 00C0 rjmp .L158
  1315. 1292 .L165:
  1316. 1293 0036 CE01 movw r24,r28
  1317. 1294 0038 0E94 0000 call TermClear
  1318. 1295 003c 80E0 ldi r24,0
  1319. 1296 003e 90E0 ldi r25,0
  1320. 1297 .L158:
  1321. 1298 /* epilogue start */
  1322. 1299 0040 DF91 pop r29
  1323. 1300 0042 CF91 pop r28
  1324. 1301 0044 0895 ret
  1325. 1302 .size TermInit, .-TermInit
  1326. 1303 .section .text.TermWrite,"ax",@progbits
  1327. 1304 .global TermWrite
  1328. 1305 .type TermWrite, @function
  1329. 1306 TermWrite:
  1330. 1307 /* prologue: function */
  1331. 1308 /* frame size = 0 */
  1332. 1309 /* stack size = 0 */
  1333. 1310 .L__stack_usage = 0
  1334. 1311 0000 DC01 movw r26,r24
  1335. GAS LISTING /tmp/ccLyalLZ.s page 24
  1336. 1312 0002 ED91 ld r30,X+
  1337. 1313 0004 FC91 ld r31,X
  1338. 1314 0006 20E0 ldi r18,0
  1339. 1315 0008 30E0 ldi r19,0
  1340. 1316 000a 8189 ldd r24,Z+17
  1341. 1317 000c 9289 ldd r25,Z+18
  1342. 1318 000e 0C94 0000 jmp TermPut.isra.0
  1343. 1319 .size TermWrite, .-TermWrite
  1344. 1320 .section .text.TermWrite_P,"ax",@progbits
  1345. 1321 .global TermWrite_P
  1346. 1322 .type TermWrite_P, @function
  1347. 1323 TermWrite_P:
  1348. 1324 /* prologue: function */
  1349. 1325 /* frame size = 0 */
  1350. 1326 /* stack size = 0 */
  1351. 1327 .L__stack_usage = 0
  1352. 1328 0000 DC01 movw r26,r24
  1353. 1329 0002 ED91 ld r30,X+
  1354. 1330 0004 FC91 ld r31,X
  1355. 1331 0006 21E0 ldi r18,lo8(1)
  1356. 1332 0008 30E0 ldi r19,0
  1357. 1333 000a 8189 ldd r24,Z+17
  1358. 1334 000c 9289 ldd r25,Z+18
  1359. 1335 000e 0C94 0000 jmp TermPut.isra.0
  1360. 1336 .size TermWrite_P, .-TermWrite_P
  1361. 1337 .section .text.TermOpen,"ax",@progbits
  1362. 1338 .global TermOpen
  1363. 1339 .type TermOpen, @function
  1364. 1340 TermOpen:
  1365. 1341 0000 CF92 push r12
  1366. 1342 0002 DF92 push r13
  1367. 1343 0004 EF92 push r14
  1368. 1344 0006 FF92 push r15
  1369. 1345 0008 0F93 push r16
  1370. 1346 000a 1F93 push r17
  1371. 1347 000c CF93 push r28
  1372. 1348 000e DF93 push r29
  1373. 1349 /* prologue: function */
  1374. 1350 /* frame size = 0 */
  1375. 1351 /* stack size = 8 */
  1376. 1352 .L__stack_usage = 8
  1377. 1353 0010 7C01 movw r14,r24
  1378. 1354 0012 6A01 movw r12,r20
  1379. 1355 0014 FC01 movw r30,r24
  1380. 1356 0016 C189 ldd r28,Z+17
  1381. 1357 0018 D289 ldd r29,Z+18
  1382. 1358 001a 84E0 ldi r24,lo8(4)
  1383. 1359 001c 90E0 ldi r25,0
  1384. 1360 001e 0E94 0000 call malloc
  1385. 1361 0022 FC01 movw r30,r24
  1386. 1362 0024 892B or r24,r25
  1387. 1363 0026 01F0 breq .L172
  1388. 1364 0028 0A89 ldd r16,Y+18
  1389. 1365 002a 1B89 ldd r17,Y+19
  1390. 1366 002c 2C89 ldd r18,Y+20
  1391. 1367 002e 3D89 ldd r19,Y+21
  1392. 1368 0030 D7FE sbrs r13,7
  1393. GAS LISTING /tmp/ccLyalLZ.s page 25
  1394. 1369 0032 00C0 rjmp .L170
  1395. 1370 0034 2D7F andi r18,253
  1396. 1371 0036 00C0 rjmp .L173
  1397. 1372 .L170:
  1398. 1373 0038 2260 ori r18,2
  1399. 1374 .L173:
  1400. 1375 003a 0A8B std Y+18,r16
  1401. 1376 003c 1B8B std Y+19,r17
  1402. 1377 003e 2C8B std Y+20,r18
  1403. 1378 0040 3D8B std Y+21,r19
  1404. 1379 0042 F182 std Z+1,r15
  1405. 1380 0044 E082 st Z,r14
  1406. 1381 0046 1382 std Z+3,__zero_reg__
  1407. 1382 0048 1282 std Z+2,__zero_reg__
  1408. 1383 004a CF01 movw r24,r30
  1409. 1384 004c 00C0 rjmp .L169
  1410. 1385 .L172:
  1411. 1386 004e 8FEF ldi r24,lo8(-1)
  1412. 1387 0050 9FEF ldi r25,lo8(-1)
  1413. 1388 .L169:
  1414. 1389 /* epilogue start */
  1415. 1390 0052 DF91 pop r29
  1416. 1391 0054 CF91 pop r28
  1417. 1392 0056 1F91 pop r17
  1418. 1393 0058 0F91 pop r16
  1419. 1394 005a FF90 pop r15
  1420. 1395 005c EF90 pop r14
  1421. 1396 005e DF90 pop r13
  1422. 1397 0060 CF90 pop r12
  1423. 1398 0062 0895 ret
  1424. 1399 .size TermOpen, .-TermOpen
  1425. 1400 .section .text.TermClose,"ax",@progbits
  1426. 1401 .global TermClose
  1427. 1402 .type TermClose, @function
  1428. 1403 TermClose:
  1429. 1404 /* prologue: function */
  1430. 1405 /* frame size = 0 */
  1431. 1406 /* stack size = 0 */
  1432. 1407 .L__stack_usage = 0
  1433. 1408 0000 9C01 movw r18,r24
  1434. 1409 0002 2150 subi r18,1
  1435. 1410 0004 3109 sbc r19,__zero_reg__
  1436. 1411 0006 2E3F cpi r18,-2
  1437. 1412 0008 3F4F sbci r19,-1
  1438. 1413 000a 00F4 brsh .L176
  1439. 1414 000c 0E94 0000 call free
  1440. 1415 0010 80E0 ldi r24,0
  1441. 1416 0012 90E0 ldi r25,0
  1442. 1417 0014 0895 ret
  1443. 1418 .L176:
  1444. 1419 0016 8FEF ldi r24,lo8(-1)
  1445. 1420 0018 9FEF ldi r25,lo8(-1)
  1446. 1421 001a 0895 ret
  1447. 1422 .size TermClose, .-TermClose
  1448. 1423 .section .rodata
  1449. 1424 .type termid, @object
  1450. 1425 .size termid, 9
  1451. GAS LISTING /tmp/ccLyalLZ.s page 26
  1452. 1426 termid:
  1453. 1427 0000 5465 726D .string "Term 1.0"
  1454. 1427 2031 2E30
  1455. 1427 00
  1456. 1428 .ident "GCC: (GNU) 5.3.0"
  1457. 1429 .global __do_copy_data
  1458. GAS LISTING /tmp/ccLyalLZ.s page 27
  1459. DEFINED SYMBOLS
  1460. *ABS*:0000000000000000 term.c
  1461. /tmp/ccLyalLZ.s:2 *ABS*:000000000000003e __SP_H__
  1462. /tmp/ccLyalLZ.s:3 *ABS*:000000000000003d __SP_L__
  1463. /tmp/ccLyalLZ.s:4 *ABS*:000000000000003f __SREG__
  1464. /tmp/ccLyalLZ.s:5 *ABS*:000000000000003b __RAMPZ__
  1465. /tmp/ccLyalLZ.s:6 *ABS*:0000000000000000 __tmp_reg__
  1466. /tmp/ccLyalLZ.s:7 *ABS*:0000000000000001 __zero_reg__
  1467. /tmp/ccLyalLZ.s:10 .text.TermRefreshLineEnd:0000000000000000 TermRefreshLineEnd
  1468. /tmp/ccLyalLZ.s:123 .text.TermClear:0000000000000000 TermClear
  1469. /tmp/ccLyalLZ.s:153 .text.TermRefresh:0000000000000000 TermRefresh
  1470. /tmp/ccLyalLZ.s:190 .text.TermInsertLine:0000000000000000 TermInsertLine
  1471. /tmp/ccLyalLZ.s:245 .text.TermDeleteLine:0000000000000000 TermDeleteLine
  1472. /tmp/ccLyalLZ.s:302 .text.TermDeleteChar:0000000000000000 TermDeleteChar
  1473. /tmp/ccLyalLZ.s:355 .text.TermPut.isra.0:0000000000000000 TermPut.isra.0
  1474. /tmp/ccLyalLZ.s:1426 .rodata:0000000000000000 termid
  1475. /tmp/ccLyalLZ.s:996 .text.TermIOCtl:0000000000000000 TermIOCtl
  1476. /tmp/ccLyalLZ.s:1258 .text.TermInit:0000000000000000 TermInit
  1477. /tmp/ccLyalLZ.s:1306 .text.TermWrite:0000000000000000 TermWrite
  1478. /tmp/ccLyalLZ.s:1323 .text.TermWrite_P:0000000000000000 TermWrite_P
  1479. /tmp/ccLyalLZ.s:1340 .text.TermOpen:0000000000000000 TermOpen
  1480. /tmp/ccLyalLZ.s:1403 .text.TermClose:0000000000000000 TermClose
  1481. UNDEFINED SYMBOLS
  1482. memset
  1483. memcpy
  1484. __tablejump2__
  1485. malloc
  1486. free
  1487. __do_copy_data