lpushpop.lst 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  1. GAS LISTING /tmp/ccUomOrA.s page 1
  2. 1 .file "lpushpop.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.LiLiLocateItem,"ax",@progbits
  10. 9 .global LiLiLocateItem
  11. 10 .type LiLiLocateItem, @function
  12. 11 LiLiLocateItem:
  13. 12 0000 EF92 push r14
  14. 13 0002 FF92 push r15
  15. 14 0004 0F93 push r16
  16. 15 0006 1F93 push r17
  17. 16 0008 CF93 push r28
  18. 17 000a DF93 push r29
  19. 18 /* prologue: function */
  20. 19 /* frame size = 0 */
  21. 20 /* stack size = 6 */
  22. 21 .L__stack_usage = 6
  23. 22 000c 8C01 movw r16,r24
  24. 23 000e 7B01 movw r14,r22
  25. 24 0010 DC01 movw r26,r24
  26. 25 0012 CD91 ld r28,X+
  27. 26 0014 DC91 ld r29,X
  28. 27 .L2:
  29. 28 0016 2097 sbiw r28,0
  30. 29 0018 01F0 breq .L3
  31. 30 001a D801 movw r26,r16
  32. 31 001c 1996 adiw r26,9
  33. 32 001e ED91 ld r30,X+
  34. 33 0020 FC91 ld r31,X
  35. 34 0022 1A97 sbiw r26,9+1
  36. 35 0024 B701 movw r22,r14
  37. 36 0026 8C81 ldd r24,Y+4
  38. 37 0028 9D81 ldd r25,Y+5
  39. 38 002a 1995 eicall
  40. 39 002c 97FF sbrs r25,7
  41. 40 002e 00C0 rjmp .L3
  42. 41 0030 0990 ld __tmp_reg__,Y+
  43. 42 0032 D881 ld r29,Y
  44. 43 0034 C02D mov r28,__tmp_reg__
  45. 44 0036 00C0 rjmp .L2
  46. 45 .L3:
  47. 46 0038 CE01 movw r24,r28
  48. 47 /* epilogue start */
  49. 48 003a DF91 pop r29
  50. 49 003c CF91 pop r28
  51. 50 003e 1F91 pop r17
  52. 51 0040 0F91 pop r16
  53. 52 0042 FF90 pop r15
  54. 53 0044 EF90 pop r14
  55. 54 0046 0895 ret
  56. 55 .size LiLiLocateItem, .-LiLiLocateItem
  57. 56 .section .text.LiLiFindItem,"ax",@progbits
  58. 57 .global LiLiFindItem
  59. GAS LISTING /tmp/ccUomOrA.s page 2
  60. 58 .type LiLiFindItem, @function
  61. 59 LiLiFindItem:
  62. 60 0000 EF92 push r14
  63. 61 0002 FF92 push r15
  64. 62 0004 0F93 push r16
  65. 63 0006 1F93 push r17
  66. 64 0008 CF93 push r28
  67. 65 000a DF93 push r29
  68. 66 /* prologue: function */
  69. 67 /* frame size = 0 */
  70. 68 /* stack size = 6 */
  71. 69 .L__stack_usage = 6
  72. 70 000c 8C01 movw r16,r24
  73. 71 000e 7B01 movw r14,r22
  74. 72 0010 DC01 movw r26,r24
  75. 73 0012 CD91 ld r28,X+
  76. 74 0014 DC91 ld r29,X
  77. 75 .L7:
  78. 76 0016 2097 sbiw r28,0
  79. 77 0018 01F0 breq .L11
  80. 78 001a D801 movw r26,r16
  81. 79 001c 1996 adiw r26,9
  82. 80 001e ED91 ld r30,X+
  83. 81 0020 FC91 ld r31,X
  84. 82 0022 1A97 sbiw r26,9+1
  85. 83 0024 B701 movw r22,r14
  86. 84 0026 8C81 ldd r24,Y+4
  87. 85 0028 9D81 ldd r25,Y+5
  88. 86 002a 1995 eicall
  89. 87 002c 0097 sbiw r24,0
  90. 88 002e 01F0 breq .L12
  91. 89 0030 04F0 brlt .L9
  92. 90 0032 F801 movw r30,r16
  93. 91 0034 8481 ldd r24,Z+4
  94. 92 0036 8370 andi r24,lo8(3)
  95. 93 0038 8230 cpi r24,lo8(2)
  96. 94 003a 01F4 brne .L9
  97. 95 .L11:
  98. 96 003c 80E0 ldi r24,0
  99. 97 003e 90E0 ldi r25,0
  100. 98 0040 00C0 rjmp .L8
  101. 99 .L9:
  102. 100 0042 0990 ld __tmp_reg__,Y+
  103. 101 0044 D881 ld r29,Y
  104. 102 0046 C02D mov r28,__tmp_reg__
  105. 103 0048 00C0 rjmp .L7
  106. 104 .L12:
  107. 105 004a CE01 movw r24,r28
  108. 106 .L8:
  109. 107 /* epilogue start */
  110. 108 004c DF91 pop r29
  111. 109 004e CF91 pop r28
  112. 110 0050 1F91 pop r17
  113. 111 0052 0F91 pop r16
  114. 112 0054 FF90 pop r15
  115. 113 0056 EF90 pop r14
  116. 114 0058 0895 ret
  117. GAS LISTING /tmp/ccUomOrA.s page 3
  118. 115 .size LiLiFindItem, .-LiLiFindItem
  119. 116 .section .text.LiLiPushItem,"ax",@progbits
  120. 117 .global LiLiPushItem
  121. 118 .type LiLiPushItem, @function
  122. 119 LiLiPushItem:
  123. 120 0000 EF92 push r14
  124. 121 0002 FF92 push r15
  125. 122 0004 0F93 push r16
  126. 123 0006 1F93 push r17
  127. 124 0008 CF93 push r28
  128. 125 000a DF93 push r29
  129. 126 /* prologue: function */
  130. 127 /* frame size = 0 */
  131. 128 /* stack size = 6 */
  132. 129 .L__stack_usage = 6
  133. 130 000c EC01 movw r28,r24
  134. 131 000e 7B01 movw r14,r22
  135. 132 0010 0A81 ldd r16,Y+2
  136. 133 0012 1B81 ldd r17,Y+3
  137. 134 0014 0115 cp r16,__zero_reg__
  138. 135 0016 1105 cpc r17,__zero_reg__
  139. 136 0018 01F0 breq .L14
  140. 137 001a 8C81 ldd r24,Y+4
  141. 138 001c 982F mov r25,r24
  142. 139 001e 9370 andi r25,lo8(3)
  143. 140 0020 9230 cpi r25,lo8(2)
  144. 141 0022 01F4 brne .L15
  145. 142 0024 E985 ldd r30,Y+9
  146. 143 0026 FA85 ldd r31,Y+10
  147. 144 0028 D801 movw r26,r16
  148. 145 002a 1496 adiw r26,4
  149. 146 002c 8D91 ld r24,X+
  150. 147 002e 9C91 ld r25,X
  151. 148 0030 1597 sbiw r26,4+1
  152. 149 0032 1995 eicall
  153. 150 0034 1816 cp __zero_reg__,r24
  154. 151 0036 1906 cpc __zero_reg__,r25
  155. 152 0038 04F0 brlt .L16
  156. 153 003a 892B or r24,r25
  157. 154 003c 01F4 brne .L17
  158. 155 003e 8C81 ldd r24,Y+4
  159. 156 0040 87FF sbrs r24,7
  160. 157 0042 00C0 rjmp .L17
  161. 158 .L20:
  162. 159 0044 80E0 ldi r24,0
  163. 160 0046 90E0 ldi r25,0
  164. 161 0048 00C0 rjmp .L18
  165. 162 .L17:
  166. 163 004a A701 movw r20,r14
  167. 164 004c B801 movw r22,r16
  168. 165 004e CE01 movw r24,r28
  169. 166 0050 0E94 0000 call LiLiInsertItemAfterNode
  170. 167 0054 00C0 rjmp .L37
  171. 168 .L16:
  172. 169 0056 B701 movw r22,r14
  173. 170 0058 CE01 movw r24,r28
  174. 171 005a 0E94 0000 call LiLiLocateItem
  175. GAS LISTING /tmp/ccUomOrA.s page 4
  176. 172 005e 8C01 movw r16,r24
  177. 173 0060 8C81 ldd r24,Y+4
  178. 174 0062 87FF sbrs r24,7
  179. 175 0064 00C0 rjmp .L14
  180. 176 0066 E985 ldd r30,Y+9
  181. 177 0068 FA85 ldd r31,Y+10
  182. 178 006a B701 movw r22,r14
  183. 179 006c D801 movw r26,r16
  184. 180 006e 1496 adiw r26,4
  185. 181 0070 8D91 ld r24,X+
  186. 182 0072 9C91 ld r25,X
  187. 183 0074 1597 sbiw r26,4+1
  188. 184 0076 1995 eicall
  189. 185 0078 892B or r24,r25
  190. 186 007a 01F4 brne .L14
  191. 187 007c 00C0 rjmp .L20
  192. 188 .L15:
  193. 189 007e 87FD sbrc r24,7
  194. 190 0080 00C0 rjmp .L21
  195. 191 .L22:
  196. 192 0082 0881 ld r16,Y
  197. 193 0084 1981 ldd r17,Y+1
  198. 194 0086 00C0 rjmp .L14
  199. 195 .L21:
  200. 196 0088 CE01 movw r24,r28
  201. 197 008a 0E94 0000 call LiLiFindItem
  202. 198 008e 892B or r24,r25
  203. 199 0090 01F4 brne .L20
  204. 200 0092 00C0 rjmp .L22
  205. 201 .L14:
  206. 202 0094 A701 movw r20,r14
  207. 203 0096 B801 movw r22,r16
  208. 204 0098 CE01 movw r24,r28
  209. 205 009a 0E94 0000 call LiLiInsertItemBeforeNode
  210. 206 .L37:
  211. 207 009e 21E0 ldi r18,lo8(1)
  212. 208 00a0 30E0 ldi r19,0
  213. 209 00a2 892B or r24,r25
  214. 210 00a4 01F0 breq .L23
  215. 211 00a6 20E0 ldi r18,0
  216. 212 00a8 30E0 ldi r19,0
  217. 213 .L23:
  218. 214 00aa 8827 clr r24
  219. 215 00ac 9927 clr r25
  220. 216 00ae 821B sub r24,r18
  221. 217 00b0 930B sbc r25,r19
  222. 218 .L18:
  223. 219 /* epilogue start */
  224. 220 00b2 DF91 pop r29
  225. 221 00b4 CF91 pop r28
  226. 222 00b6 1F91 pop r17
  227. 223 00b8 0F91 pop r16
  228. 224 00ba FF90 pop r15
  229. 225 00bc EF90 pop r14
  230. 226 00be 0895 ret
  231. 227 .size LiLiPushItem, .-LiLiPushItem
  232. 228 .section .text.LiLiPopItem,"ax",@progbits
  233. GAS LISTING /tmp/ccUomOrA.s page 5
  234. 229 .global LiLiPopItem
  235. 230 .type LiLiPopItem, @function
  236. 231 LiLiPopItem:
  237. 232 0000 CF93 push r28
  238. 233 0002 DF93 push r29
  239. 234 /* prologue: function */
  240. 235 /* frame size = 0 */
  241. 236 /* stack size = 2 */
  242. 237 .L__stack_usage = 2
  243. 238 0004 FC01 movw r30,r24
  244. 239 0006 C081 ld r28,Z
  245. 240 0008 D181 ldd r29,Z+1
  246. 241 000a 2097 sbiw r28,0
  247. 242 000c 01F0 breq .L42
  248. 243 000e 2481 ldd r18,Z+4
  249. 244 0010 2370 andi r18,lo8(3)
  250. 245 0012 2130 cpi r18,lo8(1)
  251. 246 0014 01F4 brne .L40
  252. 247 0016 C281 ldd r28,Z+2
  253. 248 0018 D381 ldd r29,Z+3
  254. 249 .L40:
  255. 250 001a 2C81 ldd r18,Y+4
  256. 251 001c 3D81 ldd r19,Y+5
  257. 252 001e FB01 movw r30,r22
  258. 253 0020 3183 std Z+1,r19
  259. 254 0022 2083 st Z,r18
  260. 255 0024 BE01 movw r22,r28
  261. 256 0026 0E94 0000 call LiLiRemoveNode
  262. 257 002a 81E0 ldi r24,lo8(1)
  263. 258 002c 90E0 ldi r25,0
  264. 259 002e CD2B or r28,r29
  265. 260 0030 01F0 breq .L41
  266. 261 0032 80E0 ldi r24,0
  267. 262 0034 90E0 ldi r25,0
  268. 263 .L41:
  269. 264 0036 9195 neg r25
  270. 265 0038 8195 neg r24
  271. 266 003a 9109 sbc r25,__zero_reg__
  272. 267 003c 00C0 rjmp .L39
  273. 268 .L42:
  274. 269 003e 8FEF ldi r24,lo8(-1)
  275. 270 0040 9FEF ldi r25,lo8(-1)
  276. 271 .L39:
  277. 272 /* epilogue start */
  278. 273 0042 DF91 pop r29
  279. 274 0044 CF91 pop r28
  280. 275 0046 0895 ret
  281. 276 .size LiLiPopItem, .-LiLiPopItem
  282. 277 .ident "GCC: (GNU) 5.3.0"
  283. GAS LISTING /tmp/ccUomOrA.s page 6
  284. DEFINED SYMBOLS
  285. *ABS*:0000000000000000 lpushpop.c
  286. /tmp/ccUomOrA.s:2 *ABS*:000000000000003e __SP_H__
  287. /tmp/ccUomOrA.s:3 *ABS*:000000000000003d __SP_L__
  288. /tmp/ccUomOrA.s:4 *ABS*:000000000000003f __SREG__
  289. /tmp/ccUomOrA.s:5 *ABS*:000000000000003b __RAMPZ__
  290. /tmp/ccUomOrA.s:6 *ABS*:0000000000000000 __tmp_reg__
  291. /tmp/ccUomOrA.s:7 *ABS*:0000000000000001 __zero_reg__
  292. /tmp/ccUomOrA.s:11 .text.LiLiLocateItem:0000000000000000 LiLiLocateItem
  293. /tmp/ccUomOrA.s:59 .text.LiLiFindItem:0000000000000000 LiLiFindItem
  294. /tmp/ccUomOrA.s:119 .text.LiLiPushItem:0000000000000000 LiLiPushItem
  295. /tmp/ccUomOrA.s:231 .text.LiLiPopItem:0000000000000000 LiLiPopItem
  296. UNDEFINED SYMBOLS
  297. LiLiInsertItemAfterNode
  298. LiLiInsertItemBeforeNode
  299. LiLiRemoveNode