| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682 |
- GAS LISTING /tmp/ccDEce1r.s page 1
- 1 .file "shash.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.StrToHash,"ax",@progbits
- 9 .type StrToHash, @function
- 10 StrToHash:
- 11 0000 0F93 push r16
- 12 0002 1F93 push r17
- 13 /* prologue: function */
- 14 /* frame size = 0 */
- 15 /* stack size = 2 */
- 16 .L__stack_usage = 2
- 17 0004 FC01 movw r30,r24
- 18 0006 60E0 ldi r22,0
- 19 0008 70E0 ldi r23,0
- 20 000a CB01 movw r24,r22
- 21 .L2:
- 22 000c 2191 ld r18,Z+
- 23 000e 2223 tst r18
- 24 0010 01F0 breq .L9
- 25 0012 AB01 movw r20,r22
- 26 0014 BC01 movw r22,r24
- 27 0016 94E0 ldi r25,4
- 28 1:
- 29 0018 440F lsl r20
- 30 001a 551F rol r21
- 31 001c 661F rol r22
- 32 001e 771F rol r23
- 33 0020 9A95 dec r25
- 34 0022 01F4 brne 1b
- 35 0024 420F add r20,r18
- 36 0026 511D adc r21,__zero_reg__
- 37 0028 611D adc r22,__zero_reg__
- 38 002a 711D adc r23,__zero_reg__
- 39 002c 8A01 movw r16,r20
- 40 002e 9B01 movw r18,r22
- 41 0030 0027 clr r16
- 42 0032 1127 clr r17
- 43 0034 2227 clr r18
- 44 0036 307F andi r19,240
- 45 0038 0115 cp r16,__zero_reg__
- 46 003a 1105 cpc r17,__zero_reg__
- 47 003c 2105 cpc r18,__zero_reg__
- 48 003e 3105 cpc r19,__zero_reg__
- 49 0040 01F0 breq .L3
- 50 0042 832F mov r24,r19
- 51 0044 9927 clr r25
- 52 0046 AA27 clr r26
- 53 0048 BB27 clr r27
- 54 004a 4827 eor r20,r24
- 55 004c 5927 eor r21,r25
- 56 004e 6A27 eor r22,r26
- 57 0050 7B27 eor r23,r27
- GAS LISTING /tmp/ccDEce1r.s page 2
- 58 .L3:
- 59 0052 0095 com r16
- 60 0054 1095 com r17
- 61 0056 2095 com r18
- 62 0058 3095 com r19
- 63 005a CB01 movw r24,r22
- 64 005c BA01 movw r22,r20
- 65 005e 6023 and r22,r16
- 66 0060 7123 and r23,r17
- 67 0062 8223 and r24,r18
- 68 0064 9323 and r25,r19
- 69 0066 00C0 rjmp .L2
- 70 .L9:
- 71 /* epilogue start */
- 72 0068 1F91 pop r17
- 73 006a 0F91 pop r16
- 74 006c 0895 ret
- 75 .size StrToHash, .-StrToHash
- 76 .section .text.SHashFindNode,"ax",@progbits
- 77 .type SHashFindNode, @function
- 78 SHashFindNode:
- 79 0000 0F93 push r16
- 80 0002 1F93 push r17
- 81 0004 CF93 push r28
- 82 0006 DF93 push r29
- 83 /* prologue: function */
- 84 /* frame size = 0 */
- 85 /* stack size = 4 */
- 86 .L__stack_usage = 4
- 87 0008 EC01 movw r28,r24
- 88 000a 8B01 movw r16,r22
- 89 .L11:
- 90 000c 2097 sbiw r28,0
- 91 000e 01F0 breq .L19
- 92 0010 6B81 ldd r22,Y+3
- 93 0012 7C81 ldd r23,Y+4
- 94 0014 6115 cp r22,__zero_reg__
- 95 0016 7105 cpc r23,__zero_reg__
- 96 0018 01F0 breq .L12
- 97 001a C801 movw r24,r16
- 98 001c 0E94 0000 call strcmp
- 99 0020 892B or r24,r25
- 100 0022 01F0 breq .L15
- 101 .L12:
- 102 0024 0980 ldd __tmp_reg__,Y+1
- 103 0026 DA81 ldd r29,Y+2
- 104 0028 C02D mov r28,__tmp_reg__
- 105 002a 00C0 rjmp .L11
- 106 .L19:
- 107 002c 80E0 ldi r24,0
- 108 002e 90E0 ldi r25,0
- 109 0030 00C0 rjmp .L13
- 110 .L15:
- 111 0032 CE01 movw r24,r28
- 112 .L13:
- 113 /* epilogue start */
- 114 0034 DF91 pop r29
- GAS LISTING /tmp/ccDEce1r.s page 3
- 115 0036 CF91 pop r28
- 116 0038 1F91 pop r17
- 117 003a 0F91 pop r16
- 118 003c 0895 ret
- 119 .size SHashFindNode, .-SHashFindNode
- 120 .section .text.SHashDoSet,"ax",@progbits
- 121 .type SHashDoSet, @function
- 122 SHashDoSet:
- 123 0000 BF92 push r11
- 124 0002 CF92 push r12
- 125 0004 DF92 push r13
- 126 0006 EF92 push r14
- 127 0008 FF92 push r15
- 128 000a 0F93 push r16
- 129 000c 1F93 push r17
- 130 000e CF93 push r28
- 131 0010 DF93 push r29
- 132 /* prologue: function */
- 133 /* frame size = 0 */
- 134 /* stack size = 9 */
- 135 .L__stack_usage = 9
- 136 0012 EC01 movw r28,r24
- 137 0014 7B01 movw r14,r22
- 138 0016 6A01 movw r12,r20
- 139 0018 B22E mov r11,r18
- 140 001a CB01 movw r24,r22
- 141 001c 0E94 0000 call StrToHash
- 142 0020 2881 ld r18,Y
- 143 0022 3981 ldd r19,Y+1
- 144 0024 032E mov __tmp_reg__,r19
- 145 0026 000C lsl r0
- 146 0028 440B sbc r20,r20
- 147 002a 550B sbc r21,r21
- 148 002c 0E94 0000 call __divmodsi4
- 149 0030 27E0 ldi r18,lo8(7)
- 150 0032 269F mul r18,r22
- 151 0034 A001 movw r20,r0
- 152 0036 279F mul r18,r23
- 153 0038 500D add r21,r0
- 154 003a 1124 clr __zero_reg__
- 155 003c 0A81 ldd r16,Y+2
- 156 003e 1B81 ldd r17,Y+3
- 157 0040 040F add r16,r20
- 158 0042 151F adc r17,r21
- 159 0044 B701 movw r22,r14
- 160 0046 C801 movw r24,r16
- 161 0048 0E94 0000 call SHashFindNode
- 162 004c EC01 movw r28,r24
- 163 004e 892B or r24,r25
- 164 0050 01F4 brne .L26
- 165 0052 E801 movw r28,r16
- 166 .L22:
- 167 0054 2097 sbiw r28,0
- 168 0056 01F0 breq .L35
- 169 0058 8D81 ldd r24,Y+5
- 170 005a 9E81 ldd r25,Y+6
- 171 005c 892B or r24,r25
- GAS LISTING /tmp/ccDEce1r.s page 4
- 172 005e 01F0 breq .L26
- 173 0060 0980 ldd __tmp_reg__,Y+1
- 174 0062 DA81 ldd r29,Y+2
- 175 0064 C02D mov r28,__tmp_reg__
- 176 0066 00C0 rjmp .L22
- 177 .L35:
- 178 0068 87E0 ldi r24,lo8(7)
- 179 006a 90E0 ldi r25,0
- 180 006c 0E94 0000 call malloc
- 181 0070 EC01 movw r28,r24
- 182 0072 F801 movw r30,r16
- 183 0074 8181 ldd r24,Z+1
- 184 0076 9281 ldd r25,Z+2
- 185 0078 9A83 std Y+2,r25
- 186 007a 8983 std Y+1,r24
- 187 007c D283 std Z+2,r29
- 188 007e C183 std Z+1,r28
- 189 .L26:
- 190 0080 8881 ld r24,Y
- 191 0082 8823 tst r24
- 192 0084 01F0 breq .L25
- 193 0086 8B81 ldd r24,Y+3
- 194 0088 9C81 ldd r25,Y+4
- 195 008a 0E94 0000 call free
- 196 008e 8D81 ldd r24,Y+5
- 197 0090 9E81 ldd r25,Y+6
- 198 0092 0E94 0000 call free
- 199 .L25:
- 200 0096 B882 st Y,r11
- 201 0098 FC82 std Y+4,r15
- 202 009a EB82 std Y+3,r14
- 203 009c DE82 std Y+6,r13
- 204 009e CD82 std Y+5,r12
- 205 /* epilogue start */
- 206 00a0 DF91 pop r29
- 207 00a2 CF91 pop r28
- 208 00a4 1F91 pop r17
- 209 00a6 0F91 pop r16
- 210 00a8 FF90 pop r15
- 211 00aa EF90 pop r14
- 212 00ac DF90 pop r13
- 213 00ae CF90 pop r12
- 214 00b0 BF90 pop r11
- 215 00b2 0895 ret
- 216 .size SHashDoSet, .-SHashDoSet
- 217 .section .text.SHashInit,"ax",@progbits
- 218 .global SHashInit
- 219 .type SHashInit, @function
- 220 SHashInit:
- 221 0000 EF92 push r14
- 222 0002 FF92 push r15
- 223 0004 0F93 push r16
- 224 0006 1F93 push r17
- 225 0008 CF93 push r28
- 226 000a DF93 push r29
- 227 /* prologue: function */
- 228 /* frame size = 0 */
- GAS LISTING /tmp/ccDEce1r.s page 5
- 229 /* stack size = 6 */
- 230 .L__stack_usage = 6
- 231 000c 7C01 movw r14,r24
- 232 000e 84E0 ldi r24,lo8(4)
- 233 0010 90E0 ldi r25,0
- 234 0012 0E94 0000 call malloc
- 235 0016 EC01 movw r28,r24
- 236 0018 F982 std Y+1,r15
- 237 001a E882 st Y,r14
- 238 001c 87E0 ldi r24,lo8(7)
- 239 001e 8E9D mul r24,r14
- 240 0020 8001 movw r16,r0
- 241 0022 8F9D mul r24,r15
- 242 0024 100D add r17,r0
- 243 0026 1124 clr __zero_reg__
- 244 0028 C801 movw r24,r16
- 245 002a 0E94 0000 call malloc
- 246 002e 9B83 std Y+3,r25
- 247 0030 8A83 std Y+2,r24
- 248 0032 A801 movw r20,r16
- 249 0034 60E0 ldi r22,0
- 250 0036 70E0 ldi r23,0
- 251 0038 0E94 0000 call memset
- 252 003c CE01 movw r24,r28
- 253 /* epilogue start */
- 254 003e DF91 pop r29
- 255 0040 CF91 pop r28
- 256 0042 1F91 pop r17
- 257 0044 0F91 pop r16
- 258 0046 FF90 pop r15
- 259 0048 EF90 pop r14
- 260 004a 0895 ret
- 261 .size SHashInit, .-SHashInit
- 262 .section .text.SHashSet,"ax",@progbits
- 263 .global SHashSet
- 264 .type SHashSet, @function
- 265 SHashSet:
- 266 /* prologue: function */
- 267 /* frame size = 0 */
- 268 /* stack size = 0 */
- 269 .L__stack_usage = 0
- 270 0000 0097 sbiw r24,0
- 271 0002 01F0 breq .L37
- 272 0004 6115 cp r22,__zero_reg__
- 273 0006 7105 cpc r23,__zero_reg__
- 274 0008 01F0 breq .L37
- 275 000a 20E0 ldi r18,0
- 276 000c 0C94 0000 jmp SHashDoSet
- 277 .L37:
- 278 0010 0895 ret
- 279 .size SHashSet, .-SHashSet
- 280 .section .text.SHashStore,"ax",@progbits
- 281 .global SHashStore
- 282 .type SHashStore, @function
- 283 SHashStore:
- 284 0000 8F92 push r8
- 285 0002 9F92 push r9
- GAS LISTING /tmp/ccDEce1r.s page 6
- 286 0004 AF92 push r10
- 287 0006 BF92 push r11
- 288 0008 CF92 push r12
- 289 000a DF92 push r13
- 290 000c EF92 push r14
- 291 000e FF92 push r15
- 292 0010 0F93 push r16
- 293 0012 1F93 push r17
- 294 0014 CF93 push r28
- 295 0016 DF93 push r29
- 296 0018 1F92 push __zero_reg__
- 297 001a 1F92 push __zero_reg__
- 298 001c CDB7 in r28,__SP_L__
- 299 001e DEB7 in r29,__SP_H__
- 300 /* prologue: function */
- 301 /* frame size = 2 */
- 302 /* stack size = 14 */
- 303 .L__stack_usage = 14
- 304 0020 7C01 movw r14,r24
- 305 0022 4A01 movw r8,r20
- 306 0024 5901 movw r10,r18
- 307 0026 892B or r24,r25
- 308 0028 01F0 breq .L45
- 309 002a 6115 cp r22,__zero_reg__
- 310 002c 7105 cpc r23,__zero_reg__
- 311 002e 01F0 breq .L45
- 312 0030 4115 cp r20,__zero_reg__
- 313 0032 5105 cpc r21,__zero_reg__
- 314 0034 01F0 breq .L45
- 315 0036 CA01 movw r24,r20
- 316 0038 0196 adiw r24,1
- 317 003a 6983 std Y+1,r22
- 318 003c 7A83 std Y+2,r23
- 319 003e 0E94 0000 call malloc
- 320 0042 6C01 movw r12,r24
- 321 0044 A401 movw r20,r8
- 322 0046 6981 ldd r22,Y+1
- 323 0048 7A81 ldd r23,Y+2
- 324 004a 0E94 0000 call memcpy
- 325 004e F401 movw r30,r8
- 326 0050 EC0D add r30,r12
- 327 0052 FD1D adc r31,r13
- 328 0054 1082 st Z,__zero_reg__
- 329 0056 C801 movw r24,r16
- 330 0058 0196 adiw r24,1
- 331 005a 0E94 0000 call malloc
- 332 005e 4C01 movw r8,r24
- 333 0060 A801 movw r20,r16
- 334 0062 B501 movw r22,r10
- 335 0064 0E94 0000 call memcpy
- 336 0068 F401 movw r30,r8
- 337 006a E00F add r30,r16
- 338 006c F11F adc r31,r17
- 339 006e 1082 st Z,__zero_reg__
- 340 0070 21E0 ldi r18,lo8(1)
- 341 0072 A401 movw r20,r8
- 342 0074 B601 movw r22,r12
- GAS LISTING /tmp/ccDEce1r.s page 7
- 343 0076 C701 movw r24,r14
- 344 /* epilogue start */
- 345 0078 0F90 pop __tmp_reg__
- 346 007a 0F90 pop __tmp_reg__
- 347 007c DF91 pop r29
- 348 007e CF91 pop r28
- 349 0080 1F91 pop r17
- 350 0082 0F91 pop r16
- 351 0084 FF90 pop r15
- 352 0086 EF90 pop r14
- 353 0088 DF90 pop r13
- 354 008a CF90 pop r12
- 355 008c BF90 pop r11
- 356 008e AF90 pop r10
- 357 0090 9F90 pop r9
- 358 0092 8F90 pop r8
- 359 0094 0C94 0000 jmp SHashDoSet
- 360 .L45:
- 361 /* epilogue start */
- 362 0098 0F90 pop __tmp_reg__
- 363 009a 0F90 pop __tmp_reg__
- 364 009c DF91 pop r29
- 365 009e CF91 pop r28
- 366 00a0 1F91 pop r17
- 367 00a2 0F91 pop r16
- 368 00a4 FF90 pop r15
- 369 00a6 EF90 pop r14
- 370 00a8 DF90 pop r13
- 371 00aa CF90 pop r12
- 372 00ac BF90 pop r11
- 373 00ae AF90 pop r10
- 374 00b0 9F90 pop r9
- 375 00b2 8F90 pop r8
- 376 00b4 0895 ret
- 377 .size SHashStore, .-SHashStore
- 378 .section .text.SHashGet,"ax",@progbits
- 379 .global SHashGet
- 380 .type SHashGet, @function
- 381 SHashGet:
- 382 0000 0F93 push r16
- 383 0002 1F93 push r17
- 384 0004 CF93 push r28
- 385 0006 DF93 push r29
- 386 /* prologue: function */
- 387 /* frame size = 0 */
- 388 /* stack size = 4 */
- 389 .L__stack_usage = 4
- 390 0008 8C01 movw r16,r24
- 391 000a EB01 movw r28,r22
- 392 000c 892B or r24,r25
- 393 000e 01F0 breq .L60
- 394 0010 2097 sbiw r28,0
- 395 0012 01F0 breq .L60
- 396 0014 CB01 movw r24,r22
- 397 0016 0E94 0000 call StrToHash
- 398 001a F801 movw r30,r16
- 399 001c 2081 ld r18,Z
- GAS LISTING /tmp/ccDEce1r.s page 8
- 400 001e 3181 ldd r19,Z+1
- 401 0020 032E mov __tmp_reg__,r19
- 402 0022 000C lsl r0
- 403 0024 440B sbc r20,r20
- 404 0026 550B sbc r21,r21
- 405 0028 0E94 0000 call __divmodsi4
- 406 002c 27E0 ldi r18,lo8(7)
- 407 002e 269F mul r18,r22
- 408 0030 A001 movw r20,r0
- 409 0032 279F mul r18,r23
- 410 0034 500D add r21,r0
- 411 0036 1124 clr __zero_reg__
- 412 0038 F801 movw r30,r16
- 413 003a 2281 ldd r18,Z+2
- 414 003c 3381 ldd r19,Z+3
- 415 003e BE01 movw r22,r28
- 416 0040 C901 movw r24,r18
- 417 0042 840F add r24,r20
- 418 0044 951F adc r25,r21
- 419 0046 0E94 0000 call SHashFindNode
- 420 004a 0097 sbiw r24,0
- 421 004c 01F0 breq .L60
- 422 004e FC01 movw r30,r24
- 423 0050 8581 ldd r24,Z+5
- 424 0052 9681 ldd r25,Z+6
- 425 0054 00C0 rjmp .L57
- 426 .L60:
- 427 0056 80E0 ldi r24,0
- 428 0058 90E0 ldi r25,0
- 429 .L57:
- 430 /* epilogue start */
- 431 005a DF91 pop r29
- 432 005c CF91 pop r28
- 433 005e 1F91 pop r17
- 434 0060 0F91 pop r16
- 435 0062 0895 ret
- 436 .size SHashGet, .-SHashGet
- 437 .section .text.SHashFree,"ax",@progbits
- 438 .global SHashFree
- 439 .type SHashFree, @function
- 440 SHashFree:
- 441 0000 AF92 push r10
- 442 0002 BF92 push r11
- 443 0004 CF92 push r12
- 444 0006 DF92 push r13
- 445 0008 EF92 push r14
- 446 000a FF92 push r15
- 447 000c 0F93 push r16
- 448 000e 1F93 push r17
- 449 0010 CF93 push r28
- 450 0012 DF93 push r29
- 451 /* prologue: function */
- 452 /* frame size = 0 */
- 453 /* stack size = 10 */
- 454 .L__stack_usage = 10
- 455 0014 8C01 movw r16,r24
- 456 0016 892B or r24,r25
- GAS LISTING /tmp/ccDEce1r.s page 9
- 457 0018 01F0 breq .L61
- 458 001a C12C mov r12,__zero_reg__
- 459 001c D12C mov r13,__zero_reg__
- 460 001e E12C mov r14,__zero_reg__
- 461 0020 F12C mov r15,__zero_reg__
- 462 .L63:
- 463 0022 F801 movw r30,r16
- 464 0024 2081 ld r18,Z
- 465 0026 3181 ldd r19,Z+1
- 466 0028 8281 ldd r24,Z+2
- 467 002a 9381 ldd r25,Z+3
- 468 002c E216 cp r14,r18
- 469 002e F306 cpc r15,r19
- 470 0030 04F4 brge .L71
- 471 0032 FC01 movw r30,r24
- 472 0034 EC0D add r30,r12
- 473 0036 FD1D adc r31,r13
- 474 0038 C181 ldd r28,Z+1
- 475 003a D281 ldd r29,Z+2
- 476 .L64:
- 477 003c 2097 sbiw r28,0
- 478 003e 01F0 breq .L72
- 479 0040 A980 ldd r10,Y+1
- 480 0042 BA80 ldd r11,Y+2
- 481 0044 8881 ld r24,Y
- 482 0046 8823 tst r24
- 483 0048 01F0 breq .L65
- 484 004a 8B81 ldd r24,Y+3
- 485 004c 9C81 ldd r25,Y+4
- 486 004e 0E94 0000 call free
- 487 0052 8D81 ldd r24,Y+5
- 488 0054 9E81 ldd r25,Y+6
- 489 0056 0E94 0000 call free
- 490 .L65:
- 491 005a CE01 movw r24,r28
- 492 005c 0E94 0000 call free
- 493 0060 E501 movw r28,r10
- 494 0062 00C0 rjmp .L64
- 495 .L72:
- 496 0064 8FEF ldi r24,-1
- 497 0066 E81A sub r14,r24
- 498 0068 F80A sbc r15,r24
- 499 006a E7E0 ldi r30,7
- 500 006c CE0E add r12,r30
- 501 006e D11C adc r13,__zero_reg__
- 502 0070 00C0 rjmp .L63
- 503 .L71:
- 504 0072 0E94 0000 call free
- 505 0076 C801 movw r24,r16
- 506 /* epilogue start */
- 507 0078 DF91 pop r29
- 508 007a CF91 pop r28
- 509 007c 1F91 pop r17
- 510 007e 0F91 pop r16
- 511 0080 FF90 pop r15
- 512 0082 EF90 pop r14
- 513 0084 DF90 pop r13
- GAS LISTING /tmp/ccDEce1r.s page 10
- 514 0086 CF90 pop r12
- 515 0088 BF90 pop r11
- 516 008a AF90 pop r10
- 517 008c 0C94 0000 jmp free
- 518 .L61:
- 519 /* epilogue start */
- 520 0090 DF91 pop r29
- 521 0092 CF91 pop r28
- 522 0094 1F91 pop r17
- 523 0096 0F91 pop r16
- 524 0098 FF90 pop r15
- 525 009a EF90 pop r14
- 526 009c DF90 pop r13
- 527 009e CF90 pop r12
- 528 00a0 BF90 pop r11
- 529 00a2 AF90 pop r10
- 530 00a4 0895 ret
- 531 .size SHashFree, .-SHashFree
- 532 .section .text.SHashForEach,"ax",@progbits
- 533 .global SHashForEach
- 534 .type SHashForEach, @function
- 535 SHashForEach:
- 536 0000 8F92 push r8
- 537 0002 9F92 push r9
- 538 0004 AF92 push r10
- 539 0006 BF92 push r11
- 540 0008 CF92 push r12
- 541 000a DF92 push r13
- 542 000c EF92 push r14
- 543 000e FF92 push r15
- 544 0010 0F93 push r16
- 545 0012 1F93 push r17
- 546 0014 CF93 push r28
- 547 0016 DF93 push r29
- 548 /* prologue: function */
- 549 /* frame size = 0 */
- 550 /* stack size = 12 */
- 551 .L__stack_usage = 12
- 552 0018 8C01 movw r16,r24
- 553 001a 5B01 movw r10,r22
- 554 001c 4A01 movw r8,r20
- 555 001e 892B or r24,r25
- 556 0020 01F0 breq .L73
- 557 0022 672B or r22,r23
- 558 0024 01F0 breq .L73
- 559 0026 C12C mov r12,__zero_reg__
- 560 0028 D12C mov r13,__zero_reg__
- 561 002a E12C mov r14,__zero_reg__
- 562 002c F12C mov r15,__zero_reg__
- 563 .L76:
- 564 002e F801 movw r30,r16
- 565 0030 8081 ld r24,Z
- 566 0032 9181 ldd r25,Z+1
- 567 0034 E816 cp r14,r24
- 568 0036 F906 cpc r15,r25
- 569 0038 04F4 brge .L73
- 570 003a F801 movw r30,r16
- GAS LISTING /tmp/ccDEce1r.s page 11
- 571 003c C281 ldd r28,Z+2
- 572 003e D381 ldd r29,Z+3
- 573 0040 CC0D add r28,r12
- 574 0042 DD1D adc r29,r13
- 575 .L77:
- 576 0044 2097 sbiw r28,0
- 577 0046 01F0 breq .L90
- 578 0048 6B81 ldd r22,Y+3
- 579 004a 7C81 ldd r23,Y+4
- 580 004c 6115 cp r22,__zero_reg__
- 581 004e 7105 cpc r23,__zero_reg__
- 582 0050 01F0 breq .L78
- 583 0052 4D81 ldd r20,Y+5
- 584 0054 5E81 ldd r21,Y+6
- 585 0056 4115 cp r20,__zero_reg__
- 586 0058 5105 cpc r21,__zero_reg__
- 587 005a 01F0 breq .L78
- 588 005c 9401 movw r18,r8
- 589 005e C801 movw r24,r16
- 590 0060 F501 movw r30,r10
- 591 0062 1995 eicall
- 592 .L78:
- 593 0064 0980 ldd __tmp_reg__,Y+1
- 594 0066 DA81 ldd r29,Y+2
- 595 0068 C02D mov r28,__tmp_reg__
- 596 006a 00C0 rjmp .L77
- 597 .L90:
- 598 006c FFEF ldi r31,-1
- 599 006e EF1A sub r14,r31
- 600 0070 FF0A sbc r15,r31
- 601 0072 87E0 ldi r24,7
- 602 0074 C80E add r12,r24
- 603 0076 D11C adc r13,__zero_reg__
- 604 0078 00C0 rjmp .L76
- 605 .L73:
- 606 /* epilogue start */
- 607 007a DF91 pop r29
- 608 007c CF91 pop r28
- 609 007e 1F91 pop r17
- 610 0080 0F91 pop r16
- 611 0082 FF90 pop r15
- 612 0084 EF90 pop r14
- 613 0086 DF90 pop r13
- 614 0088 CF90 pop r12
- 615 008a BF90 pop r11
- 616 008c AF90 pop r10
- 617 008e 9F90 pop r9
- 618 0090 8F90 pop r8
- 619 0092 0895 ret
- 620 .size SHashForEach, .-SHashForEach
- 621 .ident "GCC: (GNU) 5.3.0"
- GAS LISTING /tmp/ccDEce1r.s page 12
- DEFINED SYMBOLS
- *ABS*:0000000000000000 shash.c
- /tmp/ccDEce1r.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccDEce1r.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccDEce1r.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccDEce1r.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccDEce1r.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccDEce1r.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccDEce1r.s:10 .text.StrToHash:0000000000000000 StrToHash
- /tmp/ccDEce1r.s:78 .text.SHashFindNode:0000000000000000 SHashFindNode
- /tmp/ccDEce1r.s:122 .text.SHashDoSet:0000000000000000 SHashDoSet
- /tmp/ccDEce1r.s:220 .text.SHashInit:0000000000000000 SHashInit
- /tmp/ccDEce1r.s:265 .text.SHashSet:0000000000000000 SHashSet
- /tmp/ccDEce1r.s:283 .text.SHashStore:0000000000000000 SHashStore
- /tmp/ccDEce1r.s:381 .text.SHashGet:0000000000000000 SHashGet
- /tmp/ccDEce1r.s:440 .text.SHashFree:0000000000000000 SHashFree
- /tmp/ccDEce1r.s:535 .text.SHashForEach:0000000000000000 SHashForEach
- UNDEFINED SYMBOLS
- strcmp
- __divmodsi4
- malloc
- free
- memset
- memcpy
|