| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- 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
|