📄 base64.lst
字号:
1 .file "base64.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __CCP__ = 0x34
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
11 .text
12 .Ltext0:
94 .global base64_reverse_lookup
96 base64_reverse_lookup:
1:net/base64.c **** /*
2:net/base64.c **** ,-----------------------------------------------------------------------------------------.
3:net/base64.c **** | net/base64
4:net/base64.c **** |-----------------------------------------------------------------------------------------
5:net/base64.c **** | this file implements base64 decoding
6:net/base64.c **** | - used for HTTP auth for example
7:net/base64.c **** |
8:net/base64.c **** | -> for base64 protocol info see http://base64.sourceforge.net/b64.c
9:net/base64.c **** |
10:net/base64.c **** | Author : Simon Schulz / avr{AT}auctionant.de
11:net/base64.c **** |
12:net/base64.c **** |
13:net/base64.c **** |
14:net/base64.c **** |-----------------------------------------------------------------------------------------
15:net/base64.c **** | License:
16:net/base64.c **** | This program is free software; you can redistribute it and/or modify it under
17:net/base64.c **** | the terms of the GNU General Public License as published by the Free Software
18:net/base64.c **** | Foundation; either version 2 of the License, or (at your option) any later
19:net/base64.c **** | version.
20:net/base64.c **** | This program is distributed in the hope that it will be useful, but
21:net/base64.c **** |
22:net/base64.c **** | WITHOUT ANY WARRANTY;
23:net/base64.c **** |
24:net/base64.c **** | without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
25:net/base64.c **** | PURPOSE. See the GNU General Public License for more details.
26:net/base64.c **** |
27:net/base64.c **** | You should have received a copy of the GNU General Public License along with
28:net/base64.c **** | this program; if not, write to the Free Software Foundation, Inc., 51
29:net/base64.c **** | Franklin St, Fifth Floor, Boston, MA 02110, USA
30:net/base64.c **** |
31:net/base64.c **** | http://www.gnu.de/gpl-ger.html
32:net/base64.c **** `-----------------------------------------------------------------------------------------*/
33:net/base64.c **** #include "base64.h"
34:net/base64.c ****
35:net/base64.c **** //ACTIVATE DEBUG by editing this file:
36:net/base64.c **** #include "debug.h"
37:net/base64.c ****
38:net/base64.c **** unsigned char base64_reverse_lookup(unsigned char c){
97 68,0,39,.LM1-.LFBB1
98 .LM1:
99 cpi r24,lo8(61)
100 brne .L2
101 ldi r24,lo8(0)
39:net/base64.c **** ')
102 _lookup
104 0000 8D33 base64_reverse_lookup:
106 0004 80E0 .LM0:
107 0006 0895 .LFBB1:
108 /* prologue: function */
40:net/base64.c **** y editing this file:
41:net/base64.c **** #include "debug.h"
42:net/base64.c ****
109 everse_lookup:F(0,11)",36,0,0,base64_reverse_lookup
111 0008 8F32 .global base64_reverse_lookup
113 000c 80E4 base64_reverse_lookup:
115 .LM0:
43:net/base64.c **** ----------------------------------------------------------*/
44:net/base64.c **** #include "base64.h"
45:net/base64.c ****
119 0012 01F4 .global base64_reverse_lookup
121 0016 0895 base64_reverse_lookup:
46:net/base64.c **** ttp://www.gnu.de/gpl-ger.html
47:net/base64.c **** `-----------------------------------------------------------------------------------------*/
48:net/base64.c **** #include "base64.h"
123 ,0,0,0
49:net/base64.c **** http://www.gnu.de/gpl-ger.html
127
50:net/base64.c **** gram; if not, write to the Free Software Foundation, Inc., 51
51:net/base64.c **** | Franklin St, Fifth Floor, Boston, MA 02110, USA
132 abn 162,0,0,0
135 0022 00F4 .global base64_reverse_lookup
52:net/base64.c **** Public License along with
136 (2,7)",128,0,0,0
53:net/base64.c **** CULAR
54:net/base64.c **** | PURPOSE. See the GNU General Public License for more details.
55:net/base64.c **** |
141 bs "base64_reverse_lookup:F(0,11)",36,0,0,base64_reverse_lookup
143 0028 8754 .global base64_reverse_lookup
56:net/base64.c ****
144 (2,7)",128,0,0,0
151 .global base64_reverse_lookup
153 base64_reverse_lookup:
57:net/base64.c **** 2 of the License, or (at your option) any later
58:net/base64.c **** | version.
59:net/base64.c **** | This program is distributed in the hope that it will be useful, but
155 1:
156 /* prologue: function */
157 /* frame size = 0 */
159 002e DF93 .LM1:
160 cpi r24,lo8(61)
161 brne .L2
162 0030 FC01 ldi r24,lo8(0)
163 0032 EB01 ret
164 .L2:
166 0034 DC01 .LM2:
167 0036 90E0 cpi r24,lo8(47)
168 brne .L4
169 ldi r24,lo8(64)
60:net/base64.c **** | Foundation; either version 2 of the License, or (at your option) any later
61:net/base64.c **** | version.
170 BB1
171 .LM0:
172 0038 8C91 .LFBB1:
173 /* prologue: function */
174 /* frame size = 0 */
176 .LM1:
177 003a 8D33 cpi r24,lo8(61)
178 003c 01F4 brne .L2
179 003e 80E0 ldi r24,lo8(0)
180 0040 00C0 ret
181 .L2:
183 .LM2:
184 0042 8F32 cpi r24,lo8(47)
185 0044 01F4 brne .L4
186 0046 80E4 ldi r24,lo8(64)
187 0048 00C0 ret
188 .L4:
190 .LM3:
191 004a 8B32 cpi r24,lo8(43)
192 004c 01F4 brne .L5
193 004e 8FE3 ldi r24,lo8(63)
194 0050 00C0 ret
195 .L5:
197 .LM4:
198 0052 8A33 cpi r24,lo8(58)
199 0054 00F4 brsh .L6
201 .LM5:
202 0056 8C5F subi r24,lo8(-(4))
203 0058 00C0 ret
204 .L6:
206 .LM6:
207 005a 8B35 cpi r24,lo8(91)
208 005c 00F4 brsh .L7
210 .LM7:
211 005e 8154 subi r24,lo8(-(-65))
212 0060 00C0 ret
213 .L7:
215 .LM8:
216 0062 8754 subi r24,lo8(-(-71))
218 .LM9:
219 ret
221 .Lscope1:
225 0066 9F5F .global base64_decode_4to3
227 006a 01F4 base64_decode_4to3:
62:net/base64.c **** ms of the GNU General Public License as published by the Free Software
63:net/base64.c **** | Foundation; either version 2 of the License, or (at your option) any later
229 3
232 006e 9295 .global base64_decode_4to3
234 0072 8081 base64_decode_4to3:
236 0076 880F .LM10:
237 0078 892B .LFBB2:
238 007a 8883 push r28
64:net/base64.c **** er
239 1)",64,0,0,30
241 007c 9181 .global base64_decode_4to3
243 0080 907F base64_decode_4to3:
245 0084 8695 .LM10:
246 0086 8695 .LFBB2:
247 0088 982B push r28
248 008a 9983 push r29
65:net/base64.c **** ----------------------------------------------------------------------
249 30
251 008c 8281 .global base64_decode_4to3
253 0090 880F base64_decode_4to3:
255 0094 807C .LM10:
256 0096 9381 .LFBB2:
257 0098 892B push r28
258 009a 8A83 push r29
259 /* prologue: function */
66:net/base64.c **** rge.net/b64.c
260 4,0,0,28
261 .global base64_decode_4to3
263 009e CF91 base64_decode_4to3:
265 .LM10:
266 .LFBB2:
267 push r28
268 push r29
269 /* prologue: function */
270 /* frame size = 0 */
271 movw r30,r24
272 movw r28,r22
274 .LM11:
275 movw r26,r24
67:net/base64.c **** ---------------------
68:net/base64.c **** | this file implements base64 decoding
69:net/base64.c **** | - used for HTTP auth for example
276 ,59,.LM10-.LFBB2
277 .LM10:
278 .LFBB2:
279 00a2 DF92 push r28
280 00a4 EF92 push r29
281 00a6 FF92 /* prologue: function */
282 00a8 0F93 /* frame size = 0 */
283 00aa 1F93 movw r30,r24
284 00ac CF93 movw r28,r22
286 .LM11:
287 movw r26,r24
288 00b0 7C01 ldi r25,lo8(0)
289 00b2 D62E .L16:
290 .LBB5:
292 00b4 8C01 .LM12:
293 00b6 C0E0 ld r24,X
294 00b8 D0E0 .LBB6:
295 00ba 00C0 .LBB7:
70:net/base64.c **** ase64
71:net/base64.c **** |-----------------------------------------------------------------------------------------
72:net/base64.c **** | this file implements base64 decoding
73:net/base64.c **** | - used for HTTP auth for example
74:net/base64.c **** |
75:net/base64.c **** | -> for base64 protocol info see http://base64.sourceforge.net/b64.c
76:net/base64.c **** |
77:net/base64.c **** | Author : Simon Schulz / avr{AT}auctionant.de
78:net/base64.c **** |
298 .LM11:
299 00bc C701 movw r26,r24
300 00be 8C0F ldi r25,lo8(0)
301 00c0 9D1F .L16:
302 00c2 B801 .LBB5:
304 00c8 2496 .LM12:
305 00ca 0D5F ld r24,X
306 00cc 1F4F .LBB6:
307 .LBB7:
309 .LM13:
310 00ce 8D2D cpi r24,lo8(61)
311 00d0 8C1B brne .L10
312 00d2 8430 ldi r24,lo8(0)
313 00d4 00F4 rjmp .L11
79:net/base64.c **** --------------------------------------------------------------------------------------
80:net/base64.c **** | License:
81:net/base64.c **** | This program is free software; you can redistribute it and/or modify it under
82:net/base64.c **** | the terms of the GNU General Public License as published by the Free Software
83:net/base64.c **** | Foundation; either version 2 of the License, or (at your option) any later
84:net/base64.c **** | version.
85:net/base64.c **** | This program is distributed in the hope that it will be useful, but
86:net/base64.c **** |
87:net/base64.c **** | WITHOUT ANY WARRANTY;
314 16:
315 .LBB5:
317 00d8 D694 .LM12:
318 00da 8D2D ld r24,X
319 00dc 90E0 .LBB6:
320 00de FC01 .LBB7:
322 00e2 FF1F .LM13:
323 00e4 E80F cpi r24,lo8(61)
324 00e6 F91F brne .L10
325 00e8 EE0D ldi r24,lo8(0)
326 00ea FF1D rjmp .L11
327 00ec 1182 .L10:
88:net/base64.c **** 2 of the License, or (at your option) any later
89:net/base64.c **** | version.
90:net/base64.c **** | This program is distributed in the hope that it will be useful, but
91:net/base64.c **** |
92:net/base64.c **** | WITHOUT ANY WARRANTY;
93:net/base64.c **** |
94:net/base64.c **** | without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
95:net/base64.c **** | PURPOSE. See the GNU General Public License for more details.
96:net/base64.c **** |
97:net/base64.c **** | You should have received a copy of the GNU General Public License along with
98:net/base64.c **** | this program; if not, write to the Free Software Foundation, Inc., 51
99:net/base64.c **** | Franklin St, Fifth Floor, Boston, MA 02110, USA
100:net/base64.c **** |
101:net/base64.c **** | http://www.gnu.de/gpl-ger.html
102:net/base64.c **** `-----------------------------------------------------------------------------------------*/
103:net/base64.c **** #include "base64.h"
104:net/base64.c ****
105:net/base64.c **** //ACTIVATE DEBUG by editing this file:
106:net/base64.c **** #include "debug.h"
107:net/base64.c ****
108:net/base64.c **** unsigned char base64_reverse_lookup(unsigned char c){
109:net/base64.c **** if (c=='=')
110:net/base64.c **** return 0;
111:net/base64.c ****
112:net/base64.c **** if (c == '/')
113:net/base64.c **** return (2*26+10+2);
114:net/base64.c ****
115:net/base64.c **** if (c == '+')
116:net/base64.c **** return (2*26+10+1);
117:net/base64.c ****
118:net/base64.c **** if (c <= '9')
119:net/base64.c **** return c+4; //(62+c)-'0';
120:net/base64.c ****
121:net/base64.c **** if (c <= 'Z')
329 B2
330 .LM12:
331 00ee DF91 ld r24,X
332 00f0 CF91 .LBB6:
333 00f2 1F91 .LBB7:
335 00f6 FF90 .LM13:
336 00f8 EF90 cpi r24,lo8(61)
337 00fa DF90 brne .L10
338 00fc 0895 ldi r24,lo8(0)
339 rjmp .L11
340 .L10:
342 .LM14:
DEFINED SYMBOLS
*ABS*:00000000 base64.c
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccNilKwl.s:2 *ABS*:0000003f __SREG__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccNilKwl.s:3 *ABS*:0000003e __SP_H__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccNilKwl.s:4 *ABS*:0000003d __SP_L__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccNilKwl.s:5 *ABS*:00000034 __CCP__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccNilKwl.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccNilKwl.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccNilKwl.s:96 .text:00000000 base64_reverse_lookup
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccNilKwl.s:154 .text:0000002c base64_decode_4to3
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccNilKwl.s:275 .text:000000a2 base64_decode
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -