GAS LISTING /tmp/ccAHWohQ.s page 1 1 .file "dencode.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.NutDecodeHex,"ax",@progbits 9 .global NutDecodeHex 10 .type NutDecodeHex, @function 11 NutDecodeHex: 12 /* prologue: function */ 13 /* frame size = 0 */ 14 /* stack size = 0 */ 15 .L__stack_usage = 0 16 0000 90ED ldi r25,lo8(-48) 17 0002 980F add r25,r24 18 0004 9A30 cpi r25,lo8(10) 19 0006 00F4 brsh .L2 20 0008 082E mov __tmp_reg__,r24 21 000a 000C lsl r0 22 000c 990B sbc r25,r25 23 000e C097 sbiw r24,48 24 0010 0895 ret 25 .L2: 26 0012 9FE9 ldi r25,lo8(-97) 27 0014 980F add r25,r24 28 0016 9630 cpi r25,lo8(6) 29 0018 00F4 brsh .L4 30 001a 082E mov __tmp_reg__,r24 31 001c 000C lsl r0 32 001e 990B sbc r25,r25 33 0020 8755 subi r24,87 34 0022 9109 sbc r25,__zero_reg__ 35 0024 0895 ret 36 .L4: 37 0026 9FEB ldi r25,lo8(-65) 38 0028 980F add r25,r24 39 002a 9630 cpi r25,lo8(6) 40 002c 00F4 brsh .L5 41 002e 082E mov __tmp_reg__,r24 42 0030 000C lsl r0 43 0032 990B sbc r25,r25 44 0034 C797 sbiw r24,55 45 0036 0895 ret 46 .L5: 47 0038 8FEF ldi r24,lo8(-1) 48 003a 9FEF ldi r25,lo8(-1) 49 003c 0895 ret 50 .size NutDecodeHex, .-NutDecodeHex 51 .section .text.NutDecodePath,"ax",@progbits 52 .global NutDecodePath 53 .type NutDecodePath, @function 54 NutDecodePath: 55 0000 8F92 push r8 56 0002 9F92 push r9 57 0004 AF92 push r10 GAS LISTING /tmp/ccAHWohQ.s page 2 58 0006 BF92 push r11 59 0008 CF92 push r12 60 000a DF92 push r13 61 000c EF92 push r14 62 000e FF92 push r15 63 0010 0F93 push r16 64 0012 1F93 push r17 65 0014 CF93 push r28 66 0016 DF93 push r29 67 /* prologue: function */ 68 /* frame size = 0 */ 69 /* stack size = 12 */ 70 .L__stack_usage = 12 71 0018 8C01 movw r16,r24 72 001a FC01 movw r30,r24 73 001c B080 ld r11,Z 74 001e FFE2 ldi r31,lo8(47) 75 0020 BF12 cpse r11,r31 76 0022 00C0 rjmp .L16 77 0024 6C01 movw r12,r24 78 0026 EC01 movw r28,r24 79 0028 8FE2 ldi r24,lo8(47) 80 002a A82E mov r10,r24 81 .L9: 82 002c 7E01 movw r14,r28 83 002e 9FEF ldi r25,-1 84 0030 E91A sub r14,r25 85 0032 F90A sbc r15,r25 86 0034 8981 ldd r24,Y+1 87 0036 8823 tst r24 88 0038 01F0 breq .L15 89 003a 8532 cpi r24,lo8(37) 90 003c 01F4 brne .L10 91 003e 8A81 ldd r24,Y+2 92 0040 0E94 0000 call NutDecodeHex 93 0044 4C01 movw r8,r24 94 0046 97FD sbrc r25,7 95 0048 00C0 rjmp .L10 96 004a 8B81 ldd r24,Y+3 97 004c 0E94 0000 call NutDecodeHex 98 0050 97FD sbrc r25,7 99 0052 00C0 rjmp .L10 100 0054 7E01 movw r14,r28 101 0056 23E0 ldi r18,3 102 0058 E20E add r14,r18 103 005a F11C adc r15,__zero_reg__ 104 005c E0E1 ldi r30,lo8(16) 105 005e 8E9E mul r8,r30 106 0060 800D add r24,r0 107 0062 1124 clr __zero_reg__ 108 0064 8B83 std Y+3,r24 109 0066 8111 cpse r24,__zero_reg__ 110 0068 00C0 rjmp .L10 111 .L15: 112 006a F601 movw r30,r12 113 006c 1082 st Z,__zero_reg__ 114 006e C801 movw r24,r16 GAS LISTING /tmp/ccAHWohQ.s page 3 115 0070 00C0 rjmp .L8 116 .L10: 117 0072 F701 movw r30,r14 118 0074 8081 ld r24,Z 119 0076 8C35 cpi r24,lo8(92) 120 0078 01F4 brne .L11 121 007a A082 st Z,r10 122 .L11: 123 007c F701 movw r30,r14 124 007e 9081 ld r25,Z 125 0080 82ED ldi r24,lo8(-46) 126 0082 8B0D add r24,r11 127 0084 8230 cpi r24,lo8(2) 128 0086 00F4 brsh .L12 129 0088 82ED ldi r24,lo8(-46) 130 008a 890F add r24,r25 131 008c 8230 cpi r24,lo8(2) 132 008e 00F0 brlo .L13 133 .L12: 134 0090 B92E mov r11,r25 135 0092 F601 movw r30,r12 136 0094 9083 st Z,r25 137 0096 C601 movw r24,r12 138 0098 0196 adiw r24,1 139 009a 6C01 movw r12,r24 140 .L13: 141 009c E701 movw r28,r14 142 009e 00C0 rjmp .L9 143 .L16: 144 00a0 80E0 ldi r24,0 145 00a2 90E0 ldi r25,0 146 .L8: 147 /* epilogue start */ 148 00a4 DF91 pop r29 149 00a6 CF91 pop r28 150 00a8 1F91 pop r17 151 00aa 0F91 pop r16 152 00ac FF90 pop r15 153 00ae EF90 pop r14 154 00b0 DF90 pop r13 155 00b2 CF90 pop r12 156 00b4 BF90 pop r11 157 00b6 AF90 pop r10 158 00b8 9F90 pop r9 159 00ba 8F90 pop r8 160 00bc 0895 ret 161 .size NutDecodePath, .-NutDecodePath 162 .ident "GCC: (GNU) 5.3.0" GAS LISTING /tmp/ccAHWohQ.s page 4 DEFINED SYMBOLS *ABS*:0000000000000000 dencode.c /tmp/ccAHWohQ.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccAHWohQ.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccAHWohQ.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccAHWohQ.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccAHWohQ.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccAHWohQ.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccAHWohQ.s:11 .text.NutDecodeHex:0000000000000000 NutDecodeHex /tmp/ccAHWohQ.s:54 .text.NutDecodePath:0000000000000000 NutDecodePath NO UNDEFINED SYMBOLS