| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225 |
- GAS LISTING /tmp/cckmrAIh.s page 1
- 1 .file "base64_decode.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.NutDecodeBase64,"ax",@progbits
- 9 .global NutDecodeBase64
- 10 .type NutDecodeBase64, @function
- 11 NutDecodeBase64:
- 12 0000 CF93 push r28
- 13 0002 DF93 push r29
- 14 /* prologue: function */
- 15 /* frame size = 0 */
- 16 /* stack size = 2 */
- 17 .L__stack_usage = 2
- 18 0004 C82F mov r28,r24
- 19 0006 D92F mov r29,r25
- 20 0008 DC01 movw r26,r24
- 21 000a 20E0 ldi r18,0
- 22 000c 3FEF ldi r19,lo8(-1)
- 23 .L2:
- 24 000e E991 ld r30,Y+
- 25 0010 EE23 tst r30
- 26 0012 01F0 breq .L14
- 27 0014 E032 cpi r30,lo8(32)
- 28 0016 04F0 brlt .L9
- 29 0018 0E2E mov __tmp_reg__,r30
- 30 001a 000C lsl r0
- 31 001c FF0B sbc r31,r31
- 32 001e E050 subi r30,lo8(-(base64dtab-32))
- 33 0020 F040 sbci r31,hi8(-(base64dtab-32))
- 34 /* #APP */
- 35 ; 128 "../../nut/gorp/codec/base64_decode.c" 1
- 36 0022 E491 lpm r30, Z
- 37
- 38 ; 0 "" 2
- 39 /* #NOAPP */
- 40 0024 EF3F cpi r30,lo8(-1)
- 41 0026 01F0 breq .L9
- 42 0028 41E0 ldi r20,lo8(1)
- 43 002a 420F add r20,r18
- 44 002c 2230 cpi r18,lo8(2)
- 45 002e 01F0 breq .L4
- 46 0030 2330 cpi r18,lo8(3)
- 47 0032 01F0 breq .L5
- 48 0034 2130 cpi r18,lo8(1)
- 49 0036 01F4 brne .L11
- 50 0038 2E2F mov r18,r30
- 51 003a 2073 andi r18,lo8(48)
- 52 003c 522F mov r21,r18
- 53 003e 5295 swap r21
- 54 0040 5F70 andi r21,lo8(15)
- 55 0042 64E0 ldi r22,lo8(4)
- 56 0044 00C0 rjmp .L12
- 57 .L4:
- GAS LISTING /tmp/cckmrAIh.s page 2
- 58 0046 2E2F mov r18,r30
- 59 0048 2C73 andi r18,lo8(60)
- 60 004a 522F mov r21,r18
- 61 004c 5695 lsr r21
- 62 004e 5695 lsr r21
- 63 0050 60E1 ldi r22,lo8(16)
- 64 .L12:
- 65 0052 3602 muls r19,r22
- 66 0054 9001 movw r18,r0
- 67 0056 1124 clr __zero_reg__
- 68 0058 252B or r18,r21
- 69 005a 2C93 st X,r18
- 70 005c 242F mov r18,r20
- 71 005e 1196 adiw r26,1
- 72 0060 00C0 rjmp .L3
- 73 .L5:
- 74 0062 40E4 ldi r20,lo8(64)
- 75 0064 3402 muls r19,r20
- 76 0066 9001 movw r18,r0
- 77 0068 1124 clr __zero_reg__
- 78 006a 2E2B or r18,r30
- 79 006c 2C93 st X,r18
- 80 006e 1196 adiw r26,1
- 81 0070 20E0 ldi r18,0
- 82 0072 00C0 rjmp .L3
- 83 .L9:
- 84 0074 E32F mov r30,r19
- 85 0076 00C0 rjmp .L3
- 86 .L11:
- 87 0078 242F mov r18,r20
- 88 .L3:
- 89 007a 3E2F mov r19,r30
- 90 007c 00C0 rjmp .L2
- 91 .L14:
- 92 007e 1C92 st X,__zero_reg__
- 93 /* epilogue start */
- 94 0080 DF91 pop r29
- 95 0082 CF91 pop r28
- 96 0084 0895 ret
- 97 .size NutDecodeBase64, .-NutDecodeBase64
- 98 .section .progmem.data,"a",@progbits
- 99 .type base64dtab, @object
- 100 .size base64dtab, 96
- 101 base64dtab:
- 102 0000 FF .byte -1
- 103 0001 FF .byte -1
- 104 0002 FF .byte -1
- 105 0003 FF .byte -1
- 106 0004 FF .byte -1
- 107 0005 FF .byte -1
- 108 0006 FF .byte -1
- 109 0007 FF .byte -1
- 110 0008 FF .byte -1
- 111 0009 FF .byte -1
- 112 000a FF .byte -1
- 113 000b 3E .byte 62
- 114 000c FF .byte -1
- GAS LISTING /tmp/cckmrAIh.s page 3
- 115 000d FF .byte -1
- 116 000e FF .byte -1
- 117 000f 3F .byte 63
- 118 0010 34 .byte 52
- 119 0011 35 .byte 53
- 120 0012 36 .byte 54
- 121 0013 37 .byte 55
- 122 0014 38 .byte 56
- 123 0015 39 .byte 57
- 124 0016 3A .byte 58
- 125 0017 3B .byte 59
- 126 0018 3C .byte 60
- 127 0019 3D .byte 61
- 128 001a FF .byte -1
- 129 001b FF .byte -1
- 130 001c FF .byte -1
- 131 001d FF .byte -1
- 132 001e FF .byte -1
- 133 001f FF .byte -1
- 134 0020 FF .byte -1
- 135 0021 00 .byte 0
- 136 0022 01 .byte 1
- 137 0023 02 .byte 2
- 138 0024 03 .byte 3
- 139 0025 04 .byte 4
- 140 0026 05 .byte 5
- 141 0027 06 .byte 6
- 142 0028 07 .byte 7
- 143 0029 08 .byte 8
- 144 002a 09 .byte 9
- 145 002b 0A .byte 10
- 146 002c 0B .byte 11
- 147 002d 0C .byte 12
- 148 002e 0D .byte 13
- 149 002f 0E .byte 14
- 150 0030 0F .byte 15
- 151 0031 10 .byte 16
- 152 0032 11 .byte 17
- 153 0033 12 .byte 18
- 154 0034 13 .byte 19
- 155 0035 14 .byte 20
- 156 0036 15 .byte 21
- 157 0037 16 .byte 22
- 158 0038 17 .byte 23
- 159 0039 18 .byte 24
- 160 003a 19 .byte 25
- 161 003b FF .byte -1
- 162 003c FF .byte -1
- 163 003d FF .byte -1
- 164 003e FF .byte -1
- 165 003f FF .byte -1
- 166 0040 FF .byte -1
- 167 0041 1A .byte 26
- 168 0042 1B .byte 27
- 169 0043 1C .byte 28
- 170 0044 1D .byte 29
- 171 0045 1E .byte 30
- GAS LISTING /tmp/cckmrAIh.s page 4
- 172 0046 1F .byte 31
- 173 0047 20 .byte 32
- 174 0048 21 .byte 33
- 175 0049 22 .byte 34
- 176 004a 23 .byte 35
- 177 004b 24 .byte 36
- 178 004c 25 .byte 37
- 179 004d 26 .byte 38
- 180 004e 27 .byte 39
- 181 004f 28 .byte 40
- 182 0050 29 .byte 41
- 183 0051 2A .byte 42
- 184 0052 2B .byte 43
- 185 0053 2C .byte 44
- 186 0054 2D .byte 45
- 187 0055 2E .byte 46
- 188 0056 2F .byte 47
- 189 0057 30 .byte 48
- 190 0058 31 .byte 49
- 191 0059 32 .byte 50
- 192 005a 33 .byte 51
- 193 005b FF .byte -1
- 194 005c FF .byte -1
- 195 005d FF .byte -1
- 196 005e FF .byte -1
- 197 005f FF .byte -1
- 198 .ident "GCC: (GNU) 5.3.0"
- GAS LISTING /tmp/cckmrAIh.s page 5
- DEFINED SYMBOLS
- *ABS*:0000000000000000 base64_decode.c
- /tmp/cckmrAIh.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/cckmrAIh.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/cckmrAIh.s:4 *ABS*:000000000000003f __SREG__
- /tmp/cckmrAIh.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/cckmrAIh.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/cckmrAIh.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/cckmrAIh.s:11 .text.NutDecodeBase64:0000000000000000 NutDecodeBase64
- /tmp/cckmrAIh.s:101 .progmem.data:0000000000000000 base64dtab
- NO UNDEFINED SYMBOLS
|