lili.lst 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452
  1. GAS LISTING /tmp/ccP0Ti1y.s page 1
  2. 1 .file "lili.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.LiLiDefaultItemCompare,"ax",@progbits
  10. 9 .type LiLiDefaultItemCompare, @function
  11. 10 LiLiDefaultItemCompare:
  12. 11 /* prologue: function */
  13. 12 /* frame size = 0 */
  14. 13 /* stack size = 0 */
  15. 14 .L__stack_usage = 0
  16. 15 0000 861B sub r24,r22
  17. 16 0002 970B sbc r25,r23
  18. 17 0004 0895 ret
  19. 18 .size LiLiDefaultItemCompare, .-LiLiDefaultItemCompare
  20. 19 .section .text.LiLiRemoveNode,"ax",@progbits
  21. 20 .global LiLiRemoveNode
  22. 21 .type LiLiRemoveNode, @function
  23. 22 LiLiRemoveNode:
  24. 23 0000 CF93 push r28
  25. 24 0002 DF93 push r29
  26. 25 /* prologue: function */
  27. 26 /* frame size = 0 */
  28. 27 /* stack size = 2 */
  29. 28 .L__stack_usage = 2
  30. 29 0004 FB01 movw r30,r22
  31. 30 0006 3097 sbiw r30,0
  32. 31 0008 01F0 breq .L2
  33. 32 000a A081 ld r26,Z
  34. 33 000c B181 ldd r27,Z+1
  35. 34 000e 2281 ldd r18,Z+2
  36. 35 0010 3381 ldd r19,Z+3
  37. 36 0012 1097 sbiw r26,0
  38. 37 0014 01F0 breq .L4
  39. 38 0016 1396 adiw r26,2+1
  40. 39 0018 3C93 st X,r19
  41. 40 001a 2E93 st -X,r18
  42. 41 001c 1297 sbiw r26,2
  43. 42 001e 00C0 rjmp .L5
  44. 43 .L4:
  45. 44 0020 EC01 movw r28,r24
  46. 45 0022 3B83 std Y+3,r19
  47. 46 0024 2A83 std Y+2,r18
  48. 47 .L5:
  49. 48 0026 C281 ldd r28,Z+2
  50. 49 0028 D381 ldd r29,Z+3
  51. 50 002a 2097 sbiw r28,0
  52. 51 002c 01F4 brne .L8
  53. 52 002e EC01 movw r28,r24
  54. 53 .L8:
  55. 54 0030 B983 std Y+1,r27
  56. 55 0032 A883 st Y,r26
  57. 56 0034 CF01 movw r24,r30
  58. 57 /* epilogue start */
  59. GAS LISTING /tmp/ccP0Ti1y.s page 2
  60. 58 0036 DF91 pop r29
  61. 59 0038 CF91 pop r28
  62. 60 003a 0C94 0000 jmp free
  63. 61 .L2:
  64. 62 /* epilogue start */
  65. 63 003e DF91 pop r29
  66. 64 0040 CF91 pop r28
  67. 65 0042 0895 ret
  68. 66 .size LiLiRemoveNode, .-LiLiRemoveNode
  69. 67 .section .text.LiLiInsertItemAfterNode,"ax",@progbits
  70. 68 .global LiLiInsertItemAfterNode
  71. 69 .type LiLiInsertItemAfterNode, @function
  72. 70 LiLiInsertItemAfterNode:
  73. 71 0000 CF92 push r12
  74. 72 0002 DF92 push r13
  75. 73 0004 EF92 push r14
  76. 74 0006 FF92 push r15
  77. 75 0008 0F93 push r16
  78. 76 000a 1F93 push r17
  79. 77 000c CF93 push r28
  80. 78 000e DF93 push r29
  81. 79 0010 1F92 push __zero_reg__
  82. 80 0012 1F92 push __zero_reg__
  83. 81 0014 CDB7 in r28,__SP_L__
  84. 82 0016 DEB7 in r29,__SP_H__
  85. 83 /* prologue: function */
  86. 84 /* frame size = 2 */
  87. 85 /* stack size = 10 */
  88. 86 .L__stack_usage = 10
  89. 87 0018 8C01 movw r16,r24
  90. 88 001a 7B01 movw r14,r22
  91. 89 001c 86E0 ldi r24,lo8(6)
  92. 90 001e 90E0 ldi r25,0
  93. 91 0020 4983 std Y+1,r20
  94. 92 0022 5A83 std Y+2,r21
  95. 93 0024 0E94 0000 call malloc
  96. 94 0028 6C01 movw r12,r24
  97. 95 002a 4981 ldd r20,Y+1
  98. 96 002c 5A81 ldd r21,Y+2
  99. 97 002e 892B or r24,r25
  100. 98 0030 01F0 breq .L12
  101. 99 0032 D801 movw r26,r16
  102. 100 0034 1596 adiw r26,5
  103. 101 0036 ED91 ld r30,X+
  104. 102 0038 FC91 ld r31,X
  105. 103 003a 1697 sbiw r26,5+1
  106. 104 003c CA01 movw r24,r20
  107. 105 003e 3097 sbiw r30,0
  108. 106 0040 01F0 breq .L13
  109. 107 0042 1995 eicall
  110. 108 .L13:
  111. 109 0044 F601 movw r30,r12
  112. 110 0046 8483 std Z+4,r24
  113. 111 0048 9583 std Z+5,r25
  114. 112 004a E114 cp r14,__zero_reg__
  115. 113 004c F104 cpc r15,__zero_reg__
  116. 114 004e 01F0 breq .L14
  117. GAS LISTING /tmp/ccP0Ti1y.s page 3
  118. 115 0050 D701 movw r26,r14
  119. 116 0052 ED91 ld r30,X+
  120. 117 0054 FC91 ld r31,X
  121. 118 0056 D601 movw r26,r12
  122. 119 0058 1196 adiw r26,1
  123. 120 005a FC93 st X,r31
  124. 121 005c EE93 st -X,r30
  125. 122 005e 1396 adiw r26,2+1
  126. 123 0060 FC92 st X,r15
  127. 124 0062 EE92 st -X,r14
  128. 125 0064 1297 sbiw r26,2
  129. 126 0066 D701 movw r26,r14
  130. 127 0068 CD92 st X+,r12
  131. 128 006a DC92 st X,r13
  132. 129 006c 3097 sbiw r30,0
  133. 130 006e 01F0 breq .L15
  134. 131 0070 D382 std Z+3,r13
  135. 132 0072 C282 std Z+2,r12
  136. 133 .L15:
  137. 134 0074 F801 movw r30,r16
  138. 135 0076 8281 ldd r24,Z+2
  139. 136 0078 9381 ldd r25,Z+3
  140. 137 007a E816 cp r14,r24
  141. 138 007c F906 cpc r15,r25
  142. 139 007e 01F4 brne .L12
  143. 140 0080 D382 std Z+3,r13
  144. 141 0082 C282 std Z+2,r12
  145. 142 0084 00C0 rjmp .L12
  146. 143 .L14:
  147. 144 0086 D801 movw r26,r16
  148. 145 0088 1196 adiw r26,1
  149. 146 008a DC92 st X,r13
  150. 147 008c CE92 st -X,r12
  151. 148 008e 1396 adiw r26,2+1
  152. 149 0090 DC92 st X,r13
  153. 150 0092 CE92 st -X,r12
  154. 151 0094 1297 sbiw r26,2
  155. 152 0096 F601 movw r30,r12
  156. 153 0098 1182 std Z+1,__zero_reg__
  157. 154 009a 1082 st Z,__zero_reg__
  158. 155 009c 1382 std Z+3,__zero_reg__
  159. 156 009e 1282 std Z+2,__zero_reg__
  160. 157 .L12:
  161. 158 00a0 C601 movw r24,r12
  162. 159 /* epilogue start */
  163. 160 00a2 0F90 pop __tmp_reg__
  164. 161 00a4 0F90 pop __tmp_reg__
  165. 162 00a6 DF91 pop r29
  166. 163 00a8 CF91 pop r28
  167. 164 00aa 1F91 pop r17
  168. 165 00ac 0F91 pop r16
  169. 166 00ae FF90 pop r15
  170. 167 00b0 EF90 pop r14
  171. 168 00b2 DF90 pop r13
  172. 169 00b4 CF90 pop r12
  173. 170 00b6 0895 ret
  174. 171 .size LiLiInsertItemAfterNode, .-LiLiInsertItemAfterNode
  175. GAS LISTING /tmp/ccP0Ti1y.s page 4
  176. 172 .section .text.LiLiInsertItemBeforeNode,"ax",@progbits
  177. 173 .global LiLiInsertItemBeforeNode
  178. 174 .type LiLiInsertItemBeforeNode, @function
  179. 175 LiLiInsertItemBeforeNode:
  180. 176 0000 CF92 push r12
  181. 177 0002 DF92 push r13
  182. 178 0004 EF92 push r14
  183. 179 0006 FF92 push r15
  184. 180 0008 0F93 push r16
  185. 181 000a 1F93 push r17
  186. 182 000c CF93 push r28
  187. 183 000e DF93 push r29
  188. 184 0010 1F92 push __zero_reg__
  189. 185 0012 1F92 push __zero_reg__
  190. 186 0014 CDB7 in r28,__SP_L__
  191. 187 0016 DEB7 in r29,__SP_H__
  192. 188 /* prologue: function */
  193. 189 /* frame size = 2 */
  194. 190 /* stack size = 10 */
  195. 191 .L__stack_usage = 10
  196. 192 0018 8C01 movw r16,r24
  197. 193 001a 7B01 movw r14,r22
  198. 194 001c 86E0 ldi r24,lo8(6)
  199. 195 001e 90E0 ldi r25,0
  200. 196 0020 4983 std Y+1,r20
  201. 197 0022 5A83 std Y+2,r21
  202. 198 0024 0E94 0000 call malloc
  203. 199 0028 6C01 movw r12,r24
  204. 200 002a 4981 ldd r20,Y+1
  205. 201 002c 5A81 ldd r21,Y+2
  206. 202 002e 892B or r24,r25
  207. 203 0030 01F0 breq .L23
  208. 204 0032 D801 movw r26,r16
  209. 205 0034 1596 adiw r26,5
  210. 206 0036 ED91 ld r30,X+
  211. 207 0038 FC91 ld r31,X
  212. 208 003a 1697 sbiw r26,5+1
  213. 209 003c CA01 movw r24,r20
  214. 210 003e 3097 sbiw r30,0
  215. 211 0040 01F0 breq .L24
  216. 212 0042 1995 eicall
  217. 213 .L24:
  218. 214 0044 F601 movw r30,r12
  219. 215 0046 8483 std Z+4,r24
  220. 216 0048 9583 std Z+5,r25
  221. 217 004a E114 cp r14,__zero_reg__
  222. 218 004c F104 cpc r15,__zero_reg__
  223. 219 004e 01F0 breq .L25
  224. 220 0050 F182 std Z+1,r15
  225. 221 0052 E082 st Z,r14
  226. 222 0054 D701 movw r26,r14
  227. 223 0056 1296 adiw r26,2
  228. 224 0058 ED91 ld r30,X+
  229. 225 005a FC91 ld r31,X
  230. 226 005c 1397 sbiw r26,2+1
  231. 227 005e D601 movw r26,r12
  232. 228 0060 1396 adiw r26,2+1
  233. GAS LISTING /tmp/ccP0Ti1y.s page 5
  234. 229 0062 FC93 st X,r31
  235. 230 0064 EE93 st -X,r30
  236. 231 0066 1297 sbiw r26,2
  237. 232 0068 3097 sbiw r30,0
  238. 233 006a 01F0 breq .L26
  239. 234 006c D182 std Z+1,r13
  240. 235 006e C082 st Z,r12
  241. 236 .L26:
  242. 237 0070 F701 movw r30,r14
  243. 238 0072 D382 std Z+3,r13
  244. 239 0074 C282 std Z+2,r12
  245. 240 0076 D801 movw r26,r16
  246. 241 0078 8D91 ld r24,X+
  247. 242 007a 9C91 ld r25,X
  248. 243 007c 1197 sbiw r26,1
  249. 244 007e E816 cp r14,r24
  250. 245 0080 F906 cpc r15,r25
  251. 246 0082 01F4 brne .L23
  252. 247 0084 CD92 st X+,r12
  253. 248 0086 DC92 st X,r13
  254. 249 0088 00C0 rjmp .L23
  255. 250 .L25:
  256. 251 008a F801 movw r30,r16
  257. 252 008c D182 std Z+1,r13
  258. 253 008e C082 st Z,r12
  259. 254 0090 D382 std Z+3,r13
  260. 255 0092 C282 std Z+2,r12
  261. 256 0094 D601 movw r26,r12
  262. 257 0096 1196 adiw r26,1
  263. 258 0098 1C92 st X,__zero_reg__
  264. 259 009a 1E92 st -X,__zero_reg__
  265. 260 009c 1396 adiw r26,2+1
  266. 261 009e 1C92 st X,__zero_reg__
  267. 262 00a0 1E92 st -X,__zero_reg__
  268. 263 00a2 1297 sbiw r26,2
  269. 264 .L23:
  270. 265 00a4 C601 movw r24,r12
  271. 266 /* epilogue start */
  272. 267 00a6 0F90 pop __tmp_reg__
  273. 268 00a8 0F90 pop __tmp_reg__
  274. 269 00aa DF91 pop r29
  275. 270 00ac CF91 pop r28
  276. 271 00ae 1F91 pop r17
  277. 272 00b0 0F91 pop r16
  278. 273 00b2 FF90 pop r15
  279. 274 00b4 EF90 pop r14
  280. 275 00b6 DF90 pop r13
  281. 276 00b8 CF90 pop r12
  282. 277 00ba 0895 ret
  283. 278 .size LiLiInsertItemBeforeNode, .-LiLiInsertItemBeforeNode
  284. 279 .section .text.LiLiCreate,"ax",@progbits
  285. 280 .global LiLiCreate
  286. 281 .type LiLiCreate, @function
  287. 282 LiLiCreate:
  288. 283 0000 CF92 push r12
  289. 284 0002 DF92 push r13
  290. 285 0004 EF92 push r14
  291. GAS LISTING /tmp/ccP0Ti1y.s page 6
  292. 286 0006 FF92 push r15
  293. 287 0008 1F93 push r17
  294. 288 000a CF93 push r28
  295. 289 000c DF93 push r29
  296. 290 /* prologue: function */
  297. 291 /* frame size = 0 */
  298. 292 /* stack size = 7 */
  299. 293 .L__stack_usage = 7
  300. 294 000e 182F mov r17,r24
  301. 295 0010 6B01 movw r12,r22
  302. 296 0012 7A01 movw r14,r20
  303. 297 0014 E901 movw r28,r18
  304. 298 0016 6BE0 ldi r22,lo8(11)
  305. 299 0018 70E0 ldi r23,0
  306. 300 001a 81E0 ldi r24,lo8(1)
  307. 301 001c 90E0 ldi r25,0
  308. 302 001e 0E94 0000 call calloc
  309. 303 0022 FC01 movw r30,r24
  310. 304 0024 892B or r24,r25
  311. 305 0026 01F0 breq .L33
  312. 306 0028 D682 std Z+6,r13
  313. 307 002a C582 std Z+5,r12
  314. 308 002c F086 std Z+8,r15
  315. 309 002e E782 std Z+7,r14
  316. 310 0030 2097 sbiw r28,0
  317. 311 0032 01F0 breq .L34
  318. 312 0034 D287 std Z+10,r29
  319. 313 0036 C187 std Z+9,r28
  320. 314 0038 00C0 rjmp .L35
  321. 315 .L34:
  322. 316 003a 80E0 ldi r24,lo8(gs(LiLiDefaultItemCompare))
  323. 317 003c 90E0 ldi r25,hi8(gs(LiLiDefaultItemCompare))
  324. 318 003e 9287 std Z+10,r25
  325. 319 0040 8187 std Z+9,r24
  326. 320 .L35:
  327. 321 0042 1483 std Z+4,r17
  328. 322 .L33:
  329. 323 0044 CF01 movw r24,r30
  330. 324 /* epilogue start */
  331. 325 0046 DF91 pop r29
  332. 326 0048 CF91 pop r28
  333. 327 004a 1F91 pop r17
  334. 328 004c FF90 pop r15
  335. 329 004e EF90 pop r14
  336. 330 0050 DF90 pop r13
  337. 331 0052 CF90 pop r12
  338. 332 0054 0895 ret
  339. 333 .size LiLiCreate, .-LiLiCreate
  340. 334 .section .text.LiLiClean,"ax",@progbits
  341. 335 .global LiLiClean
  342. 336 .type LiLiClean, @function
  343. 337 LiLiClean:
  344. 338 0000 0F93 push r16
  345. 339 0002 1F93 push r17
  346. 340 0004 CF93 push r28
  347. 341 0006 DF93 push r29
  348. 342 /* prologue: function */
  349. GAS LISTING /tmp/ccP0Ti1y.s page 7
  350. 343 /* frame size = 0 */
  351. 344 /* stack size = 4 */
  352. 345 .L__stack_usage = 4
  353. 346 0008 EC01 movw r28,r24
  354. 347 000a 8881 ld r24,Y
  355. 348 000c 9981 ldd r25,Y+1
  356. 349 000e 892B or r24,r25
  357. 350 0010 01F0 breq .L39
  358. 351 .L46:
  359. 352 0012 0881 ld r16,Y
  360. 353 0014 1981 ldd r17,Y+1
  361. 354 0016 0115 cp r16,__zero_reg__
  362. 355 0018 1105 cpc r17,__zero_reg__
  363. 356 001a 01F0 breq .L48
  364. 357 001c D801 movw r26,r16
  365. 358 001e 8D91 ld r24,X+
  366. 359 0020 9C91 ld r25,X
  367. 360 0022 1197 sbiw r26,1
  368. 361 0024 9983 std Y+1,r25
  369. 362 0026 8883 st Y,r24
  370. 363 0028 EF81 ldd r30,Y+7
  371. 364 002a F885 ldd r31,Y+8
  372. 365 002c 3097 sbiw r30,0
  373. 366 002e 01F0 breq .L42
  374. 367 0030 1496 adiw r26,4
  375. 368 0032 8D91 ld r24,X+
  376. 369 0034 9C91 ld r25,X
  377. 370 0036 1597 sbiw r26,4+1
  378. 371 0038 1995 eicall
  379. 372 .L42:
  380. 373 003a C801 movw r24,r16
  381. 374 003c 0E94 0000 call free
  382. 375 0040 00C0 rjmp .L46
  383. 376 .L48:
  384. 377 0042 1B82 std Y+3,__zero_reg__
  385. 378 0044 1A82 std Y+2,__zero_reg__
  386. 379 .L39:
  387. 380 /* epilogue start */
  388. 381 0046 DF91 pop r29
  389. 382 0048 CF91 pop r28
  390. 383 004a 1F91 pop r17
  391. 384 004c 0F91 pop r16
  392. 385 004e 0895 ret
  393. 386 .size LiLiClean, .-LiLiClean
  394. 387 .section .text.LiLiDestroy,"ax",@progbits
  395. 388 .global LiLiDestroy
  396. 389 .type LiLiDestroy, @function
  397. 390 LiLiDestroy:
  398. 391 0000 CF93 push r28
  399. 392 0002 DF93 push r29
  400. 393 /* prologue: function */
  401. 394 /* frame size = 0 */
  402. 395 /* stack size = 2 */
  403. 396 .L__stack_usage = 2
  404. 397 0004 EC01 movw r28,r24
  405. 398 0006 0E94 0000 call LiLiClean
  406. 399 000a CE01 movw r24,r28
  407. GAS LISTING /tmp/ccP0Ti1y.s page 8
  408. 400 /* epilogue start */
  409. 401 000c DF91 pop r29
  410. 402 000e CF91 pop r28
  411. 403 0010 0C94 0000 jmp free
  412. 404 .size LiLiDestroy, .-LiLiDestroy
  413. 405 .ident "GCC: (GNU) 5.3.0"
  414. GAS LISTING /tmp/ccP0Ti1y.s page 9
  415. DEFINED SYMBOLS
  416. *ABS*:0000000000000000 lili.c
  417. /tmp/ccP0Ti1y.s:2 *ABS*:000000000000003e __SP_H__
  418. /tmp/ccP0Ti1y.s:3 *ABS*:000000000000003d __SP_L__
  419. /tmp/ccP0Ti1y.s:4 *ABS*:000000000000003f __SREG__
  420. /tmp/ccP0Ti1y.s:5 *ABS*:000000000000003b __RAMPZ__
  421. /tmp/ccP0Ti1y.s:6 *ABS*:0000000000000000 __tmp_reg__
  422. /tmp/ccP0Ti1y.s:7 *ABS*:0000000000000001 __zero_reg__
  423. /tmp/ccP0Ti1y.s:10 .text.LiLiDefaultItemCompare:0000000000000000 LiLiDefaultItemCompare
  424. /tmp/ccP0Ti1y.s:22 .text.LiLiRemoveNode:0000000000000000 LiLiRemoveNode
  425. /tmp/ccP0Ti1y.s:70 .text.LiLiInsertItemAfterNode:0000000000000000 LiLiInsertItemAfterNode
  426. /tmp/ccP0Ti1y.s:175 .text.LiLiInsertItemBeforeNode:0000000000000000 LiLiInsertItemBeforeNode
  427. /tmp/ccP0Ti1y.s:282 .text.LiLiCreate:0000000000000000 LiLiCreate
  428. /tmp/ccP0Ti1y.s:337 .text.LiLiClean:0000000000000000 LiLiClean
  429. /tmp/ccP0Ti1y.s:390 .text.LiLiDestroy:0000000000000000 LiLiDestroy
  430. UNDEFINED SYMBOLS
  431. free
  432. malloc
  433. calloc