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