| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717 |
- GAS LISTING /tmp/ccTAJB9M.s page 1
- 1 .file "xtea.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.XTeaCrypt,"ax",@progbits
- 9 .global XTeaCrypt
- 10 .type XTeaCrypt, @function
- 11 XTeaCrypt:
- 12 0000 2F92 push r2
- 13 0002 3F92 push r3
- 14 0004 4F92 push r4
- 15 0006 5F92 push r5
- 16 0008 6F92 push r6
- 17 000a 7F92 push r7
- 18 000c 8F92 push r8
- 19 000e 9F92 push r9
- 20 0010 AF92 push r10
- 21 0012 BF92 push r11
- 22 0014 CF92 push r12
- 23 0016 DF92 push r13
- 24 0018 EF92 push r14
- 25 001a FF92 push r15
- 26 001c 0F93 push r16
- 27 001e 1F93 push r17
- 28 0020 CF93 push r28
- 29 0022 DF93 push r29
- 30 0024 00D0 rcall .
- 31 0026 00D0 rcall .
- 32 0028 CDB7 in r28,__SP_L__
- 33 002a DEB7 in r29,__SP_H__
- 34 /* prologue: function */
- 35 /* frame size = 6 */
- 36 /* stack size = 24 */
- 37 .L__stack_usage = 24
- 38 002c 1C01 movw r2,r24
- 39 002e 5E83 std Y+6,r21
- 40 0030 4D83 std Y+5,r20
- 41 0032 FB01 movw r30,r22
- 42 0034 8080 ld r8,Z
- 43 0036 9180 ldd r9,Z+1
- 44 0038 A280 ldd r10,Z+2
- 45 003a B380 ldd r11,Z+3
- 46 003c C480 ldd r12,Z+4
- 47 003e D580 ldd r13,Z+5
- 48 0040 E680 ldd r14,Z+6
- 49 0042 F780 ldd r15,Z+7
- 50 0044 80E0 ldi r24,0
- 51 0046 90E0 ldi r25,0
- 52 0048 DC01 movw r26,r24
- 53 .L2:
- 54 004a FC01 movw r30,r24
- 55 004c E370 andi r30,3
- 56 004e FF27 clr r31
- 57 0050 EE0F lsl r30
- GAS LISTING /tmp/ccTAJB9M.s page 2
- 58 0052 FF1F rol r31
- 59 0054 EE0F lsl r30
- 60 0056 FF1F rol r31
- 61 0058 0D81 ldd r16,Y+5
- 62 005a 1E81 ldd r17,Y+6
- 63 005c E00F add r30,r16
- 64 005e F11F adc r31,r17
- 65 0060 4080 ld r4,Z
- 66 0062 5180 ldd r5,Z+1
- 67 0064 6280 ldd r6,Z+2
- 68 0066 7380 ldd r7,Z+3
- 69 0068 480E add r4,r24
- 70 006a 591E adc r5,r25
- 71 006c 6A1E adc r6,r26
- 72 006e 7B1E adc r7,r27
- 73 0070 A701 movw r20,r14
- 74 0072 9601 movw r18,r12
- 75 0074 64E0 ldi r22,4
- 76 1:
- 77 0076 220F lsl r18
- 78 0078 331F rol r19
- 79 007a 441F rol r20
- 80 007c 551F rol r21
- 81 007e 6A95 dec r22
- 82 0080 01F4 brne 1b
- 83 0082 2983 std Y+1,r18
- 84 0084 3A83 std Y+2,r19
- 85 0086 4B83 std Y+3,r20
- 86 0088 5C83 std Y+4,r21
- 87 008a 9701 movw r18,r14
- 88 008c 8601 movw r16,r12
- 89 008e 75E0 ldi r23,5
- 90 1:
- 91 0090 3695 lsr r19
- 92 0092 2795 ror r18
- 93 0094 1795 ror r17
- 94 0096 0795 ror r16
- 95 0098 7A95 dec r23
- 96 009a 01F4 brne 1b
- 97 009c 4981 ldd r20,Y+1
- 98 009e 5A81 ldd r21,Y+2
- 99 00a0 6B81 ldd r22,Y+3
- 100 00a2 7C81 ldd r23,Y+4
- 101 00a4 0427 eor r16,r20
- 102 00a6 1527 eor r17,r21
- 103 00a8 2627 eor r18,r22
- 104 00aa 3727 eor r19,r23
- 105 00ac 0C0D add r16,r12
- 106 00ae 1D1D adc r17,r13
- 107 00b0 2E1D adc r18,r14
- 108 00b2 3F1D adc r19,r15
- 109 00b4 4026 eor r4,r16
- 110 00b6 5126 eor r5,r17
- 111 00b8 6226 eor r6,r18
- 112 00ba 7326 eor r7,r19
- 113 00bc 840C add r8,r4
- 114 00be 951C adc r9,r5
- GAS LISTING /tmp/ccTAJB9M.s page 3
- 115 00c0 A61C adc r10,r6
- 116 00c2 B71C adc r11,r7
- 117 00c4 8754 subi r24,71
- 118 00c6 9648 sbci r25,-122
- 119 00c8 A84C sbci r26,-56
- 120 00ca B146 sbci r27,97
- 121 00cc 8C01 movw r16,r24
- 122 00ce 9D01 movw r18,r26
- 123 00d0 EBE0 ldi r30,11
- 124 1:
- 125 00d2 3695 lsr r19
- 126 00d4 2795 ror r18
- 127 00d6 1795 ror r17
- 128 00d8 0795 ror r16
- 129 00da EA95 dec r30
- 130 00dc 01F4 brne 1b
- 131 00de F801 movw r30,r16
- 132 00e0 E370 andi r30,3
- 133 00e2 FF27 clr r31
- 134 00e4 EE0F lsl r30
- 135 00e6 FF1F rol r31
- 136 00e8 EE0F lsl r30
- 137 00ea FF1F rol r31
- 138 00ec 6D81 ldd r22,Y+5
- 139 00ee 7E81 ldd r23,Y+6
- 140 00f0 E60F add r30,r22
- 141 00f2 F71F adc r31,r23
- 142 00f4 4080 ld r4,Z
- 143 00f6 5180 ldd r5,Z+1
- 144 00f8 6280 ldd r6,Z+2
- 145 00fa 7380 ldd r7,Z+3
- 146 00fc 480E add r4,r24
- 147 00fe 591E adc r5,r25
- 148 0100 6A1E adc r6,r26
- 149 0102 7B1E adc r7,r27
- 150 0104 9501 movw r18,r10
- 151 0106 8401 movw r16,r8
- 152 0108 44E0 ldi r20,4
- 153 1:
- 154 010a 000F lsl r16
- 155 010c 111F rol r17
- 156 010e 221F rol r18
- 157 0110 331F rol r19
- 158 0112 4A95 dec r20
- 159 0114 01F4 brne 1b
- 160 0116 0983 std Y+1,r16
- 161 0118 1A83 std Y+2,r17
- 162 011a 2B83 std Y+3,r18
- 163 011c 3C83 std Y+4,r19
- 164 011e 9501 movw r18,r10
- 165 0120 8401 movw r16,r8
- 166 0122 55E0 ldi r21,5
- 167 1:
- 168 0124 3695 lsr r19
- 169 0126 2795 ror r18
- 170 0128 1795 ror r17
- 171 012a 0795 ror r16
- GAS LISTING /tmp/ccTAJB9M.s page 4
- 172 012c 5A95 dec r21
- 173 012e 01F4 brne 1b
- 174 0130 4981 ldd r20,Y+1
- 175 0132 5A81 ldd r21,Y+2
- 176 0134 6B81 ldd r22,Y+3
- 177 0136 7C81 ldd r23,Y+4
- 178 0138 0427 eor r16,r20
- 179 013a 1527 eor r17,r21
- 180 013c 2627 eor r18,r22
- 181 013e 3727 eor r19,r23
- 182 0140 080D add r16,r8
- 183 0142 191D adc r17,r9
- 184 0144 2A1D adc r18,r10
- 185 0146 3B1D adc r19,r11
- 186 0148 4026 eor r4,r16
- 187 014a 5126 eor r5,r17
- 188 014c 6226 eor r6,r18
- 189 014e 7326 eor r7,r19
- 190 0150 C40C add r12,r4
- 191 0152 D51C adc r13,r5
- 192 0154 E61C adc r14,r6
- 193 0156 F71C adc r15,r7
- 194 0158 8032 cpi r24,32
- 195 015a 57E3 ldi r21,55
- 196 015c 9507 cpc r25,r21
- 197 015e 5FEE ldi r21,-17
- 198 0160 A507 cpc r26,r21
- 199 0162 56EC ldi r21,-58
- 200 0164 B507 cpc r27,r21
- 201 0166 01F0 breq .+2
- 202 0168 00C0 rjmp .L2
- 203 016a F101 movw r30,r2
- 204 016c 8082 st Z,r8
- 205 016e 9182 std Z+1,r9
- 206 0170 A282 std Z+2,r10
- 207 0172 B382 std Z+3,r11
- 208 0174 C482 std Z+4,r12
- 209 0176 D582 std Z+5,r13
- 210 0178 E682 std Z+6,r14
- 211 017a F782 std Z+7,r15
- 212 /* epilogue start */
- 213 017c 2696 adiw r28,6
- 214 017e 0FB6 in __tmp_reg__,__SREG__
- 215 0180 F894 cli
- 216 0182 DEBF out __SP_H__,r29
- 217 0184 0FBE out __SREG__,__tmp_reg__
- 218 0186 CDBF out __SP_L__,r28
- 219 0188 DF91 pop r29
- 220 018a CF91 pop r28
- 221 018c 1F91 pop r17
- 222 018e 0F91 pop r16
- 223 0190 FF90 pop r15
- 224 0192 EF90 pop r14
- 225 0194 DF90 pop r13
- 226 0196 CF90 pop r12
- 227 0198 BF90 pop r11
- 228 019a AF90 pop r10
- GAS LISTING /tmp/ccTAJB9M.s page 5
- 229 019c 9F90 pop r9
- 230 019e 8F90 pop r8
- 231 01a0 7F90 pop r7
- 232 01a2 6F90 pop r6
- 233 01a4 5F90 pop r5
- 234 01a6 4F90 pop r4
- 235 01a8 3F90 pop r3
- 236 01aa 2F90 pop r2
- 237 01ac 0895 ret
- 238 .size XTeaCrypt, .-XTeaCrypt
- 239 .section .text.XTeaDecrypt,"ax",@progbits
- 240 .global XTeaDecrypt
- 241 .type XTeaDecrypt, @function
- 242 XTeaDecrypt:
- 243 0000 2F92 push r2
- 244 0002 3F92 push r3
- 245 0004 4F92 push r4
- 246 0006 5F92 push r5
- 247 0008 6F92 push r6
- 248 000a 7F92 push r7
- 249 000c 8F92 push r8
- 250 000e 9F92 push r9
- 251 0010 AF92 push r10
- 252 0012 BF92 push r11
- 253 0014 CF92 push r12
- 254 0016 DF92 push r13
- 255 0018 EF92 push r14
- 256 001a FF92 push r15
- 257 001c 0F93 push r16
- 258 001e 1F93 push r17
- 259 0020 CF93 push r28
- 260 0022 DF93 push r29
- 261 0024 00D0 rcall .
- 262 0026 00D0 rcall .
- 263 0028 CDB7 in r28,__SP_L__
- 264 002a DEB7 in r29,__SP_H__
- 265 /* prologue: function */
- 266 /* frame size = 6 */
- 267 /* stack size = 24 */
- 268 .L__stack_usage = 24
- 269 002c 1C01 movw r2,r24
- 270 002e 5E83 std Y+6,r21
- 271 0030 4D83 std Y+5,r20
- 272 0032 FB01 movw r30,r22
- 273 0034 8080 ld r8,Z
- 274 0036 9180 ldd r9,Z+1
- 275 0038 A280 ldd r10,Z+2
- 276 003a B380 ldd r11,Z+3
- 277 003c C480 ldd r12,Z+4
- 278 003e D580 ldd r13,Z+5
- 279 0040 E680 ldd r14,Z+6
- 280 0042 F780 ldd r15,Z+7
- 281 0044 80E2 ldi r24,lo8(32)
- 282 0046 97E3 ldi r25,lo8(55)
- 283 0048 AFEE ldi r26,lo8(-17)
- 284 004a B6EC ldi r27,lo8(-58)
- 285 .L6:
- GAS LISTING /tmp/ccTAJB9M.s page 6
- 286 004c 8C01 movw r16,r24
- 287 004e 9D01 movw r18,r26
- 288 0050 4BE0 ldi r20,11
- 289 1:
- 290 0052 3695 lsr r19
- 291 0054 2795 ror r18
- 292 0056 1795 ror r17
- 293 0058 0795 ror r16
- 294 005a 4A95 dec r20
- 295 005c 01F4 brne 1b
- 296 005e F801 movw r30,r16
- 297 0060 E370 andi r30,3
- 298 0062 FF27 clr r31
- 299 0064 EE0F lsl r30
- 300 0066 FF1F rol r31
- 301 0068 EE0F lsl r30
- 302 006a FF1F rol r31
- 303 006c 0D81 ldd r16,Y+5
- 304 006e 1E81 ldd r17,Y+6
- 305 0070 E00F add r30,r16
- 306 0072 F11F adc r31,r17
- 307 0074 4080 ld r4,Z
- 308 0076 5180 ldd r5,Z+1
- 309 0078 6280 ldd r6,Z+2
- 310 007a 7380 ldd r7,Z+3
- 311 007c 480E add r4,r24
- 312 007e 591E adc r5,r25
- 313 0080 6A1E adc r6,r26
- 314 0082 7B1E adc r7,r27
- 315 0084 A501 movw r20,r10
- 316 0086 9401 movw r18,r8
- 317 0088 64E0 ldi r22,4
- 318 1:
- 319 008a 220F lsl r18
- 320 008c 331F rol r19
- 321 008e 441F rol r20
- 322 0090 551F rol r21
- 323 0092 6A95 dec r22
- 324 0094 01F4 brne 1b
- 325 0096 2983 std Y+1,r18
- 326 0098 3A83 std Y+2,r19
- 327 009a 4B83 std Y+3,r20
- 328 009c 5C83 std Y+4,r21
- 329 009e 9501 movw r18,r10
- 330 00a0 8401 movw r16,r8
- 331 00a2 75E0 ldi r23,5
- 332 1:
- 333 00a4 3695 lsr r19
- 334 00a6 2795 ror r18
- 335 00a8 1795 ror r17
- 336 00aa 0795 ror r16
- 337 00ac 7A95 dec r23
- 338 00ae 01F4 brne 1b
- 339 00b0 4981 ldd r20,Y+1
- 340 00b2 5A81 ldd r21,Y+2
- 341 00b4 6B81 ldd r22,Y+3
- 342 00b6 7C81 ldd r23,Y+4
- GAS LISTING /tmp/ccTAJB9M.s page 7
- 343 00b8 0427 eor r16,r20
- 344 00ba 1527 eor r17,r21
- 345 00bc 2627 eor r18,r22
- 346 00be 3727 eor r19,r23
- 347 00c0 080D add r16,r8
- 348 00c2 191D adc r17,r9
- 349 00c4 2A1D adc r18,r10
- 350 00c6 3B1D adc r19,r11
- 351 00c8 4026 eor r4,r16
- 352 00ca 5126 eor r5,r17
- 353 00cc 6226 eor r6,r18
- 354 00ce 7326 eor r7,r19
- 355 00d0 C418 sub r12,r4
- 356 00d2 D508 sbc r13,r5
- 357 00d4 E608 sbc r14,r6
- 358 00d6 F708 sbc r15,r7
- 359 00d8 895B subi r24,-71
- 360 00da 9947 sbci r25,121
- 361 00dc A743 sbci r26,55
- 362 00de BE49 sbci r27,-98
- 363 00e0 FC01 movw r30,r24
- 364 00e2 E370 andi r30,3
- 365 00e4 FF27 clr r31
- 366 00e6 EE0F lsl r30
- 367 00e8 FF1F rol r31
- 368 00ea EE0F lsl r30
- 369 00ec FF1F rol r31
- 370 00ee 6D81 ldd r22,Y+5
- 371 00f0 7E81 ldd r23,Y+6
- 372 00f2 E60F add r30,r22
- 373 00f4 F71F adc r31,r23
- 374 00f6 4080 ld r4,Z
- 375 00f8 5180 ldd r5,Z+1
- 376 00fa 6280 ldd r6,Z+2
- 377 00fc 7380 ldd r7,Z+3
- 378 00fe 480E add r4,r24
- 379 0100 591E adc r5,r25
- 380 0102 6A1E adc r6,r26
- 381 0104 7B1E adc r7,r27
- 382 0106 9701 movw r18,r14
- 383 0108 8601 movw r16,r12
- 384 010a 44E0 ldi r20,4
- 385 1:
- 386 010c 000F lsl r16
- 387 010e 111F rol r17
- 388 0110 221F rol r18
- 389 0112 331F rol r19
- 390 0114 4A95 dec r20
- 391 0116 01F4 brne 1b
- 392 0118 0983 std Y+1,r16
- 393 011a 1A83 std Y+2,r17
- 394 011c 2B83 std Y+3,r18
- 395 011e 3C83 std Y+4,r19
- 396 0120 9701 movw r18,r14
- 397 0122 8601 movw r16,r12
- 398 0124 55E0 ldi r21,5
- 399 1:
- GAS LISTING /tmp/ccTAJB9M.s page 8
- 400 0126 3695 lsr r19
- 401 0128 2795 ror r18
- 402 012a 1795 ror r17
- 403 012c 0795 ror r16
- 404 012e 5A95 dec r21
- 405 0130 01F4 brne 1b
- 406 0132 4981 ldd r20,Y+1
- 407 0134 5A81 ldd r21,Y+2
- 408 0136 6B81 ldd r22,Y+3
- 409 0138 7C81 ldd r23,Y+4
- 410 013a 0427 eor r16,r20
- 411 013c 1527 eor r17,r21
- 412 013e 2627 eor r18,r22
- 413 0140 3727 eor r19,r23
- 414 0142 0C0D add r16,r12
- 415 0144 1D1D adc r17,r13
- 416 0146 2E1D adc r18,r14
- 417 0148 3F1D adc r19,r15
- 418 014a 4026 eor r4,r16
- 419 014c 5126 eor r5,r17
- 420 014e 6226 eor r6,r18
- 421 0150 7326 eor r7,r19
- 422 0152 8418 sub r8,r4
- 423 0154 9508 sbc r9,r5
- 424 0156 A608 sbc r10,r6
- 425 0158 B708 sbc r11,r7
- 426 015a 0097 sbiw r24,0
- 427 015c A105 cpc r26,__zero_reg__
- 428 015e B105 cpc r27,__zero_reg__
- 429 0160 01F0 breq .+2
- 430 0162 00C0 rjmp .L6
- 431 0164 F101 movw r30,r2
- 432 0166 8082 st Z,r8
- 433 0168 9182 std Z+1,r9
- 434 016a A282 std Z+2,r10
- 435 016c B382 std Z+3,r11
- 436 016e C482 std Z+4,r12
- 437 0170 D582 std Z+5,r13
- 438 0172 E682 std Z+6,r14
- 439 0174 F782 std Z+7,r15
- 440 /* epilogue start */
- 441 0176 2696 adiw r28,6
- 442 0178 0FB6 in __tmp_reg__,__SREG__
- 443 017a F894 cli
- 444 017c DEBF out __SP_H__,r29
- 445 017e 0FBE out __SREG__,__tmp_reg__
- 446 0180 CDBF out __SP_L__,r28
- 447 0182 DF91 pop r29
- 448 0184 CF91 pop r28
- 449 0186 1F91 pop r17
- 450 0188 0F91 pop r16
- 451 018a FF90 pop r15
- 452 018c EF90 pop r14
- 453 018e DF90 pop r13
- 454 0190 CF90 pop r12
- 455 0192 BF90 pop r11
- 456 0194 AF90 pop r10
- GAS LISTING /tmp/ccTAJB9M.s page 9
- 457 0196 9F90 pop r9
- 458 0198 8F90 pop r8
- 459 019a 7F90 pop r7
- 460 019c 6F90 pop r6
- 461 019e 5F90 pop r5
- 462 01a0 4F90 pop r4
- 463 01a2 3F90 pop r3
- 464 01a4 2F90 pop r2
- 465 01a6 0895 ret
- 466 .size XTeaDecrypt, .-XTeaDecrypt
- 467 .section .text.XTeaCryptStr,"ax",@progbits
- 468 .global XTeaCryptStr
- 469 .type XTeaCryptStr, @function
- 470 XTeaCryptStr:
- 471 0000 8F92 push r8
- 472 0002 9F92 push r9
- 473 0004 AF92 push r10
- 474 0006 BF92 push r11
- 475 0008 CF92 push r12
- 476 000a DF92 push r13
- 477 000c EF92 push r14
- 478 000e FF92 push r15
- 479 0010 0F93 push r16
- 480 0012 1F93 push r17
- 481 0014 CF93 push r28
- 482 0016 DF93 push r29
- 483 0018 CDB7 in r28,__SP_L__
- 484 001a DEB7 in r29,__SP_H__
- 485 001c 6097 sbiw r28,16
- 486 001e 0FB6 in __tmp_reg__,__SREG__
- 487 0020 F894 cli
- 488 0022 DEBF out __SP_H__,r29
- 489 0024 0FBE out __SREG__,__tmp_reg__
- 490 0026 CDBF out __SP_L__,r28
- 491 /* prologue: function */
- 492 /* frame size = 16 */
- 493 /* stack size = 28 */
- 494 .L__stack_usage = 28
- 495 0028 6C01 movw r12,r24
- 496 002a 5B01 movw r10,r22
- 497 002c 7A01 movw r14,r20
- 498 002e 8E01 movw r16,r28
- 499 0030 0F5F subi r16,-1
- 500 0032 1F4F sbci r17,-1
- 501 0034 80E1 ldi r24,lo8(16)
- 502 0036 F801 movw r30,r16
- 503 0:
- 504 0038 1192 st Z+,__zero_reg__
- 505 003a 8A95 dec r24
- 506 003c 01F4 brne 0b
- 507 003e F901 movw r30,r18
- 508 0:
- 509 0040 0190 ld __tmp_reg__,Z+
- 510 0042 0020 tst __tmp_reg__
- 511 0044 01F4 brne 0b
- 512 0046 3197 sbiw r30,1
- 513 0048 AF01 movw r20,r30
- GAS LISTING /tmp/ccTAJB9M.s page 10
- 514 004a 421B sub r20,r18
- 515 004c 530B sbc r21,r19
- 516 004e 4131 cpi r20,17
- 517 0050 5105 cpc r21,__zero_reg__
- 518 0052 00F0 brlo .L9
- 519 0054 40E1 ldi r20,lo8(16)
- 520 0056 50E0 ldi r21,0
- 521 .L9:
- 522 0058 B901 movw r22,r18
- 523 005a C801 movw r24,r16
- 524 005c 0E94 0000 call memcpy
- 525 0060 812C mov r8,__zero_reg__
- 526 0062 912C mov r9,__zero_reg__
- 527 .L10:
- 528 0064 B501 movw r22,r10
- 529 0066 680D add r22,r8
- 530 0068 791D adc r23,r9
- 531 006a C601 movw r24,r12
- 532 006c 880D add r24,r8
- 533 006e 991D adc r25,r9
- 534 0070 8E14 cp r8,r14
- 535 0072 9F04 cpc r9,r15
- 536 0074 00F4 brsh .L12
- 537 0076 A801 movw r20,r16
- 538 0078 0E94 0000 call XTeaCrypt
- 539 007c F8E0 ldi r31,8
- 540 007e 8F0E add r8,r31
- 541 0080 911C adc r9,__zero_reg__
- 542 0082 00C0 rjmp .L10
- 543 .L12:
- 544 /* epilogue start */
- 545 0084 6096 adiw r28,16
- 546 0086 0FB6 in __tmp_reg__,__SREG__
- 547 0088 F894 cli
- 548 008a DEBF out __SP_H__,r29
- 549 008c 0FBE out __SREG__,__tmp_reg__
- 550 008e CDBF out __SP_L__,r28
- 551 0090 DF91 pop r29
- 552 0092 CF91 pop r28
- 553 0094 1F91 pop r17
- 554 0096 0F91 pop r16
- 555 0098 FF90 pop r15
- 556 009a EF90 pop r14
- 557 009c DF90 pop r13
- 558 009e CF90 pop r12
- 559 00a0 BF90 pop r11
- 560 00a2 AF90 pop r10
- 561 00a4 9F90 pop r9
- 562 00a6 8F90 pop r8
- 563 00a8 0895 ret
- 564 .size XTeaCryptStr, .-XTeaCryptStr
- 565 .section .text.XTeaDecryptStr,"ax",@progbits
- 566 .global XTeaDecryptStr
- 567 .type XTeaDecryptStr, @function
- 568 XTeaDecryptStr:
- 569 0000 8F92 push r8
- 570 0002 9F92 push r9
- GAS LISTING /tmp/ccTAJB9M.s page 11
- 571 0004 AF92 push r10
- 572 0006 BF92 push r11
- 573 0008 CF92 push r12
- 574 000a DF92 push r13
- 575 000c EF92 push r14
- 576 000e FF92 push r15
- 577 0010 0F93 push r16
- 578 0012 1F93 push r17
- 579 0014 CF93 push r28
- 580 0016 DF93 push r29
- 581 0018 CDB7 in r28,__SP_L__
- 582 001a DEB7 in r29,__SP_H__
- 583 001c 6097 sbiw r28,16
- 584 001e 0FB6 in __tmp_reg__,__SREG__
- 585 0020 F894 cli
- 586 0022 DEBF out __SP_H__,r29
- 587 0024 0FBE out __SREG__,__tmp_reg__
- 588 0026 CDBF out __SP_L__,r28
- 589 /* prologue: function */
- 590 /* frame size = 16 */
- 591 /* stack size = 28 */
- 592 .L__stack_usage = 28
- 593 0028 6C01 movw r12,r24
- 594 002a 5B01 movw r10,r22
- 595 002c 7A01 movw r14,r20
- 596 002e 8E01 movw r16,r28
- 597 0030 0F5F subi r16,-1
- 598 0032 1F4F sbci r17,-1
- 599 0034 80E1 ldi r24,lo8(16)
- 600 0036 F801 movw r30,r16
- 601 0:
- 602 0038 1192 st Z+,__zero_reg__
- 603 003a 8A95 dec r24
- 604 003c 01F4 brne 0b
- 605 003e F901 movw r30,r18
- 606 0:
- 607 0040 0190 ld __tmp_reg__,Z+
- 608 0042 0020 tst __tmp_reg__
- 609 0044 01F4 brne 0b
- 610 0046 3197 sbiw r30,1
- 611 0048 AF01 movw r20,r30
- 612 004a 421B sub r20,r18
- 613 004c 530B sbc r21,r19
- 614 004e 4131 cpi r20,17
- 615 0050 5105 cpc r21,__zero_reg__
- 616 0052 00F0 brlo .L14
- 617 0054 40E1 ldi r20,lo8(16)
- 618 0056 50E0 ldi r21,0
- 619 .L14:
- 620 0058 B901 movw r22,r18
- 621 005a C801 movw r24,r16
- 622 005c 0E94 0000 call memcpy
- 623 0060 812C mov r8,__zero_reg__
- 624 0062 912C mov r9,__zero_reg__
- 625 .L15:
- 626 0064 B501 movw r22,r10
- 627 0066 680D add r22,r8
- GAS LISTING /tmp/ccTAJB9M.s page 12
- 628 0068 791D adc r23,r9
- 629 006a C601 movw r24,r12
- 630 006c 880D add r24,r8
- 631 006e 991D adc r25,r9
- 632 0070 8E14 cp r8,r14
- 633 0072 9F04 cpc r9,r15
- 634 0074 00F4 brsh .L17
- 635 0076 A801 movw r20,r16
- 636 0078 0E94 0000 call XTeaDecrypt
- 637 007c F8E0 ldi r31,8
- 638 007e 8F0E add r8,r31
- 639 0080 911C adc r9,__zero_reg__
- 640 0082 00C0 rjmp .L15
- 641 .L17:
- 642 /* epilogue start */
- 643 0084 6096 adiw r28,16
- 644 0086 0FB6 in __tmp_reg__,__SREG__
- 645 0088 F894 cli
- 646 008a DEBF out __SP_H__,r29
- 647 008c 0FBE out __SREG__,__tmp_reg__
- 648 008e CDBF out __SP_L__,r28
- 649 0090 DF91 pop r29
- 650 0092 CF91 pop r28
- 651 0094 1F91 pop r17
- 652 0096 0F91 pop r16
- 653 0098 FF90 pop r15
- 654 009a EF90 pop r14
- 655 009c DF90 pop r13
- 656 009e CF90 pop r12
- 657 00a0 BF90 pop r11
- 658 00a2 AF90 pop r10
- 659 00a4 9F90 pop r9
- 660 00a6 8F90 pop r8
- 661 00a8 0895 ret
- 662 .size XTeaDecryptStr, .-XTeaDecryptStr
- 663 .ident "GCC: (GNU) 5.3.0"
- GAS LISTING /tmp/ccTAJB9M.s page 13
- DEFINED SYMBOLS
- *ABS*:0000000000000000 xtea.c
- /tmp/ccTAJB9M.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccTAJB9M.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccTAJB9M.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccTAJB9M.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccTAJB9M.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccTAJB9M.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccTAJB9M.s:11 .text.XTeaCrypt:0000000000000000 XTeaCrypt
- /tmp/ccTAJB9M.s:242 .text.XTeaDecrypt:0000000000000000 XTeaDecrypt
- /tmp/ccTAJB9M.s:470 .text.XTeaCryptStr:0000000000000000 XTeaCryptStr
- /tmp/ccTAJB9M.s:568 .text.XTeaDecryptStr:0000000000000000 XTeaDecryptStr
- UNDEFINED SYMBOLS
- memcpy
|