#if defined(__AVR__) #include /* Automatically generated - do not edit */ .text .global cham128_128_encrypt .type cham128_128_encrypt, @function cham128_128_encrypt: push r28 push r29 push r2 push r3 push r4 push r5 push r6 push r7 push r8 push r9 push r10 push r11 push r12 push r13 push r23 push r22 movw r30,r24 movw r26,r20 in r28,0x3d in r29,0x3e sbiw r28,32 in r0,0x3f cli out 0x3e,r29 out 0x3f,r0 out 0x3d,r28 .L__stack_usage = 48 ld r18,Z ldd r19,Z+1 ldd r20,Z+2 ldd r21,Z+3 movw r22,r18 movw r24,r20 movw r6,r18 movw r8,r20 lsl r6 rol r7 rol r8 rol r9 adc r6,r1 eor r18,r6 eor r19,r7 eor r20,r8 eor r21,r9 movw r2,r18 movw r4,r20 eor r18,r25 eor r19,r22 eor r20,r23 eor r21,r24 std Y+1,r18 std Y+2,r19 std Y+3,r20 std Y+4,r21 lsl r6 rol r7 rol r8 rol r9 adc r6,r1 lsl r6 rol r7 rol r8 rol r9 adc r6,r1 eor r2,r9 eor r3,r6 eor r4,r7 eor r5,r8 std Y+21,r2 std Y+22,r3 std Y+23,r4 std Y+24,r5 ldd r18,Z+4 ldd r19,Z+5 ldd r20,Z+6 ldd r21,Z+7 movw r22,r18 movw r24,r20 movw r6,r18 movw r8,r20 lsl r6 rol r7 rol r8 rol r9 adc r6,r1 eor r18,r6 eor r19,r7 eor r20,r8 eor r21,r9 movw r2,r18 movw r4,r20 eor r18,r25 eor r19,r22 eor r20,r23 eor r21,r24 std Y+5,r18 std Y+6,r19 std Y+7,r20 std Y+8,r21 lsl r6 rol r7 rol r8 rol r9 adc r6,r1 lsl r6 rol r7 rol r8 rol r9 adc r6,r1 eor r2,r9 eor r3,r6 eor r4,r7 eor r5,r8 std Y+17,r2 std Y+18,r3 std Y+19,r4 std Y+20,r5 ldd r18,Z+8 ldd r19,Z+9 ldd r20,Z+10 ldd r21,Z+11 movw r22,r18 movw r24,r20 movw r6,r18 movw r8,r20 lsl r6 rol r7 rol r8 rol r9 adc r6,r1 eor r18,r6 eor r19,r7 eor r20,r8 eor r21,r9 movw r2,r18 movw r4,r20 eor r18,r25 eor r19,r22 eor r20,r23 eor r21,r24 std Y+9,r18 std Y+10,r19 std Y+11,r20 std Y+12,r21 lsl r6 rol r7 rol r8 rol r9 adc r6,r1 lsl r6 rol r7 rol r8 rol r9 adc r6,r1 eor r2,r9 eor r3,r6 eor r4,r7 eor r5,r8 std Y+29,r2 std Y+30,r3 std Y+31,r4 std Y+32,r5 ldd r18,Z+12 ldd r19,Z+13 ldd r20,Z+14 ldd r21,Z+15 movw r22,r18 movw r24,r20 movw r6,r18 movw r8,r20 lsl r6 rol r7 rol r8 rol r9 adc r6,r1 eor r18,r6 eor r19,r7 eor r20,r8 eor r21,r9 movw r2,r18 movw r4,r20 eor r18,r25 eor r19,r22 eor r20,r23 eor r21,r24 std Y+13,r18 std Y+14,r19 std Y+15,r20 std Y+16,r21 lsl r6 rol r7 rol r8 rol r9 adc r6,r1 lsl r6 rol r7 rol r8 rol r9 adc r6,r1 eor r2,r9 eor r3,r6 eor r4,r7 eor r5,r8 std Y+25,r2 std Y+26,r3 std Y+27,r4 std Y+28,r5 ld r19,X+ ld r20,X+ ld r21,X+ ld r18,X+ ld r22,X+ ld r23,X+ ld r24,X+ ld r25,X+ ld r2,X+ ld r3,X+ ld r4,X+ ld r5,X+ ld r6,X+ ld r7,X+ ld r8,X+ ld r9,X+ mov r30,r1 197: eor r19,r30 movw r10,r22 movw r12,r24 lsl r10 rol r11 rol r12 rol r13 adc r10,r1 ldd r0,Y+1 eor r10,r0 ldd r0,Y+2 eor r11,r0 ldd r0,Y+3 eor r12,r0 ldd r0,Y+4 eor r13,r0 add r19,r10 adc r20,r11 adc r21,r12 adc r18,r13 inc r30 eor r22,r30 mov r0,r5 mov r5,r4 mov r4,r3 mov r3,r2 mov r2,r0 ldd r10,Y+5 ldd r11,Y+6 ldd r12,Y+7 ldd r13,Y+8 eor r10,r2 eor r11,r3 eor r12,r4 eor r13,r5 add r22,r10 adc r23,r11 adc r24,r12 adc r25,r13 lsl r22 rol r23 rol r24 rol r25 adc r22,r1 inc r30 eor r3,r30 movw r10,r6 movw r12,r8 lsl r10 rol r11 rol r12 rol r13 adc r10,r1 ldd r0,Y+9 eor r10,r0 ldd r0,Y+10 eor r11,r0 ldd r0,Y+11 eor r12,r0 ldd r0,Y+12 eor r13,r0 add r3,r10 adc r4,r11 adc r5,r12 adc r2,r13 inc r30 eor r6,r30 mov r0,r21 mov r21,r20 mov r20,r19 mov r19,r18 mov r18,r0 ldd r10,Y+13 ldd r11,Y+14 ldd r12,Y+15 ldd r13,Y+16 eor r10,r18 eor r11,r19 eor r12,r20 eor r13,r21 add r6,r10 adc r7,r11 adc r8,r12 adc r9,r13 lsl r6 rol r7 rol r8 rol r9 adc r6,r1 inc r30 eor r19,r30 movw r10,r22 movw r12,r24 lsl r10 rol r11 rol r12 rol r13 adc r10,r1 ldd r0,Y+17 eor r10,r0 ldd r0,Y+18 eor r11,r0 ldd r0,Y+19 eor r12,r0 ldd r0,Y+20 eor r13,r0 add r19,r10 adc r20,r11 adc r21,r12 adc r18,r13 inc r30 eor r22,r30 mov r0,r5 mov r5,r4 mov r4,r3 mov r3,r2 mov r2,r0 ldd r10,Y+21 ldd r11,Y+22 ldd r12,Y+23 ldd r13,Y+24 eor r10,r2 eor r11,r3 eor r12,r4 eor r13,r5 add r22,r10 adc r23,r11 adc r24,r12 adc r25,r13 lsl r22 rol r23 rol r24 rol r25 adc r22,r1 inc r30 eor r3,r30 movw r10,r6 movw r12,r8 lsl r10 rol r11 rol r12 rol r13 adc r10,r1 ldd r0,Y+25 eor r10,r0 ldd r0,Y+26 eor r11,r0 ldd r0,Y+27 eor r12,r0 ldd r0,Y+28 eor r13,r0 add r3,r10 adc r4,r11 adc r5,r12 adc r2,r13 inc r30 eor r6,r30 mov r0,r21 mov r21,r20 mov r20,r19 mov r19,r18 mov r18,r0 ldd r10,Y+29 ldd r11,Y+30 ldd r12,Y+31 ldd r13,Y+32 eor r10,r18 eor r11,r19 eor r12,r20 eor r13,r21 add r6,r10 adc r7,r11 adc r8,r12 adc r9,r13 lsl r6 rol r7 rol r8 rol r9 adc r6,r1 inc r30 ldi r31,80 cpse r30,r31 rjmp 197b ldd r26,Y+33 ldd r27,Y+34 st X+,r19 st X+,r20 st X+,r21 st X+,r18 st X+,r22 st X+,r23 st X+,r24 st X+,r25 st X+,r2 st X+,r3 st X+,r4 st X+,r5 st X+,r6 st X+,r7 st X+,r8 st X+,r9 adiw r28,34 in r0,0x3f cli out 0x3e,r29 out 0x3f,r0 out 0x3d,r28 pop r13 pop r12 pop r11 pop r10 pop r9 pop r8 pop r7 pop r6 pop r5 pop r4 pop r3 pop r2 pop r29 pop r28 ret .size cham128_128_encrypt, .-cham128_128_encrypt .text .global cham64_128_encrypt .type cham64_128_encrypt, @function cham64_128_encrypt: push r28 push r29 push r16 push r17 push r23 push r22 movw r30,r24 movw r26,r20 in r28,0x3d in r29,0x3e sbiw r28,32 in r0,0x3f cli out 0x3e,r29 out 0x3f,r0 out 0x3d,r28 .L__stack_usage = 38 ld r18,Z ldd r19,Z+1 movw r20,r18 movw r24,r18 lsl r24 rol r25 adc r24,r1 eor r18,r24 eor r19,r25 movw r22,r18 eor r18,r21 eor r19,r20 std Y+1,r18 std Y+2,r19 lsl r24 rol r25 adc r24,r1 lsl r24 rol r25 adc r24,r1 eor r22,r25 eor r23,r24 std Y+19,r22 std Y+20,r23 ldd r18,Z+2 ldd r19,Z+3 movw r20,r18 movw r24,r18 lsl r24 rol r25 adc r24,r1 eor r18,r24 eor r19,r25 movw r22,r18 eor r18,r21 eor r19,r20 std Y+3,r18 std Y+4,r19 lsl r24 rol r25 adc r24,r1 lsl r24 rol r25 adc r24,r1 eor r22,r25 eor r23,r24 std Y+17,r22 std Y+18,r23 ldd r18,Z+4 ldd r19,Z+5 movw r20,r18 movw r24,r18 lsl r24 rol r25 adc r24,r1 eor r18,r24 eor r19,r25 movw r22,r18 eor r18,r21 eor r19,r20 std Y+5,r18 std Y+6,r19 lsl r24 rol r25 adc r24,r1 lsl r24 rol r25 adc r24,r1 eor r22,r25 eor r23,r24 std Y+23,r22 std Y+24,r23 ldd r18,Z+6 ldd r19,Z+7 movw r20,r18 movw r24,r18 lsl r24 rol r25 adc r24,r1 eor r18,r24 eor r19,r25 movw r22,r18 eor r18,r21 eor r19,r20 std Y+7,r18 std Y+8,r19 lsl r24 rol r25 adc r24,r1 lsl r24 rol r25 adc r24,r1 eor r22,r25 eor r23,r24 std Y+21,r22 std Y+22,r23 ldd r18,Z+8 ldd r19,Z+9 movw r20,r18 movw r24,r18 lsl r24 rol r25 adc r24,r1 eor r18,r24 eor r19,r25 movw r22,r18 eor r18,r21 eor r19,r20 std Y+9,r18 std Y+10,r19 lsl r24 rol r25 adc r24,r1 lsl r24 rol r25 adc r24,r1 eor r22,r25 eor r23,r24 std Y+27,r22 std Y+28,r23 ldd r18,Z+10 ldd r19,Z+11 movw r20,r18 movw r24,r18 lsl r24 rol r25 adc r24,r1 eor r18,r24 eor r19,r25 movw r22,r18 eor r18,r21 eor r19,r20 std Y+11,r18 std Y+12,r19 lsl r24 rol r25 adc r24,r1 lsl r24 rol r25 adc r24,r1 eor r22,r25 eor r23,r24 std Y+25,r22 std Y+26,r23 ldd r18,Z+12 ldd r19,Z+13 movw r20,r18 movw r24,r18 lsl r24 rol r25 adc r24,r1 eor r18,r24 eor r19,r25 movw r22,r18 eor r18,r21 eor r19,r20 std Y+13,r18 std Y+14,r19 lsl r24 rol r25 adc r24,r1 lsl r24 rol r25 adc r24,r1 eor r22,r25 eor r23,r24 std Y+31,r22 std Y+32,r23 ldd r18,Z+14 ldd r19,Z+15 movw r20,r18 movw r24,r18 lsl r24 rol r25 adc r24,r1 eor r18,r24 eor r19,r25 movw r22,r18 eor r18,r21 eor r19,r20 std Y+15,r18 std Y+16,r19 lsl r24 rol r25 adc r24,r1 lsl r24 rol r25 adc r24,r1 eor r22,r25 eor r23,r24 std Y+29,r22 std Y+30,r23 ld r19,X+ ld r18,X+ ld r20,X+ ld r21,X+ ld r22,X+ ld r23,X+ ld r24,X+ ld r25,X+ mov r16,r1 201: eor r19,r16 movw r30,r20 lsl r30 rol r31 adc r30,r1 ldd r0,Y+1 eor r30,r0 ldd r0,Y+2 eor r31,r0 add r19,r30 adc r18,r31 inc r16 eor r20,r16 mov r0,r23 mov r23,r22 mov r22,r0 ldd r30,Y+3 ldd r31,Y+4 eor r30,r22 eor r31,r23 add r20,r30 adc r21,r31 lsl r20 rol r21 adc r20,r1 inc r16 eor r23,r16 movw r30,r24 lsl r30 rol r31 adc r30,r1 ldd r0,Y+5 eor r30,r0 ldd r0,Y+6 eor r31,r0 add r23,r30 adc r22,r31 inc r16 eor r24,r16 mov r0,r19 mov r19,r18 mov r18,r0 ldd r30,Y+7 ldd r31,Y+8 eor r30,r18 eor r31,r19 add r24,r30 adc r25,r31 lsl r24 rol r25 adc r24,r1 inc r16 eor r19,r16 movw r30,r20 lsl r30 rol r31 adc r30,r1 ldd r0,Y+9 eor r30,r0 ldd r0,Y+10 eor r31,r0 add r19,r30 adc r18,r31 inc r16 eor r20,r16 mov r0,r23 mov r23,r22 mov r22,r0 ldd r30,Y+11 ldd r31,Y+12 eor r30,r22 eor r31,r23 add r20,r30 adc r21,r31 lsl r20 rol r21 adc r20,r1 inc r16 eor r23,r16 movw r30,r24 lsl r30 rol r31 adc r30,r1 ldd r0,Y+13 eor r30,r0 ldd r0,Y+14 eor r31,r0 add r23,r30 adc r22,r31 inc r16 eor r24,r16 mov r0,r19 mov r19,r18 mov r18,r0 ldd r30,Y+15 ldd r31,Y+16 eor r30,r18 eor r31,r19 add r24,r30 adc r25,r31 lsl r24 rol r25 adc r24,r1 inc r16 eor r19,r16 movw r30,r20 lsl r30 rol r31 adc r30,r1 ldd r0,Y+17 eor r30,r0 ldd r0,Y+18 eor r31,r0 add r19,r30 adc r18,r31 inc r16 eor r20,r16 mov r0,r23 mov r23,r22 mov r22,r0 ldd r30,Y+19 ldd r31,Y+20 eor r30,r22 eor r31,r23 add r20,r30 adc r21,r31 lsl r20 rol r21 adc r20,r1 inc r16 eor r23,r16 movw r30,r24 lsl r30 rol r31 adc r30,r1 ldd r0,Y+21 eor r30,r0 ldd r0,Y+22 eor r31,r0 add r23,r30 adc r22,r31 inc r16 eor r24,r16 mov r0,r19 mov r19,r18 mov r18,r0 ldd r30,Y+23 ldd r31,Y+24 eor r30,r18 eor r31,r19 add r24,r30 adc r25,r31 lsl r24 rol r25 adc r24,r1 inc r16 eor r19,r16 movw r30,r20 lsl r30 rol r31 adc r30,r1 ldd r0,Y+25 eor r30,r0 ldd r0,Y+26 eor r31,r0 add r19,r30 adc r18,r31 inc r16 eor r20,r16 mov r0,r23 mov r23,r22 mov r22,r0 ldd r30,Y+27 ldd r31,Y+28 eor r30,r22 eor r31,r23 add r20,r30 adc r21,r31 lsl r20 rol r21 adc r20,r1 inc r16 eor r23,r16 movw r30,r24 lsl r30 rol r31 adc r30,r1 ldd r0,Y+29 eor r30,r0 ldd r0,Y+30 eor r31,r0 add r23,r30 adc r22,r31 inc r16 eor r24,r16 mov r0,r19 mov r19,r18 mov r18,r0 ldd r30,Y+31 ldd r31,Y+32 eor r30,r18 eor r31,r19 add r24,r30 adc r25,r31 lsl r24 rol r25 adc r24,r1 inc r16 ldi r17,80 cpse r16,r17 rjmp 201b ldd r26,Y+33 ldd r27,Y+34 st X+,r19 st X+,r18 st X+,r20 st X+,r21 st X+,r22 st X+,r23 st X+,r24 st X+,r25 adiw r28,34 in r0,0x3f cli out 0x3e,r29 out 0x3f,r0 out 0x3d,r28 pop r17 pop r16 pop r29 pop r28 ret .size cham64_128_encrypt, .-cham64_128_encrypt #endif