📄 crc8.lst
字号:
1 .file "crc8.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:
89 .global crc8_calc_byte_rev0x07
91 crc8_calc_byte_rev0x07:
1:util/crc8.c **** /*
2:util/crc8.c **** ,-----------------------------------------------------------------------------------------.
3:util/crc8.c **** | util/crc8
4:util/crc8.c **** |-----------------------------------------------------------------------------------------
5:util/crc8.c **** | this file implements some crc8 routines
6:util/crc8.c **** | - based on code by peter danegger
7:util/crc8.c **** | - ..._rev0x07 is used by mca25 mux protocol! <---- NOT REALLY TESTED! THERE MIGHT BE A HIDDEN BUG
8:util/crc8.c **** |
9:util/crc8.c **** | Author : {{removed according to contest rules}}
10:util/crc8.c **** | -> circuitcellar.com avr design contest 2006
11:util/crc8.c **** | -> Entry #AT2616
12:util/crc8.c **** |
13:util/crc8.c **** |-----------------------------------------------------------------------------------------
14:util/crc8.c **** | License:
15:util/crc8.c **** | This program is free software; you can redistribute it and/or modify it under
16:util/crc8.c **** | the terms of the GNU General Public License as published by the Free Software
17:util/crc8.c **** | Foundation; either version 2 of the License, or (at your option) any later
18:util/crc8.c **** | version.
19:util/crc8.c **** | This program is distributed in the hope that it will be useful, but
20:util/crc8.c **** |
21:util/crc8.c **** | WITHOUT ANY WARRANTY;
22:util/crc8.c **** |
23:util/crc8.c **** | without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
24:util/crc8.c **** | PURPOSE. See the GNU General Public License for more details.
25:util/crc8.c **** |
26:util/crc8.c **** | You should have received a copy of the GNU General Public License along with
27:util/crc8.c **** | this program; if not, write to the Free Software Foundation, Inc., 51
28:util/crc8.c **** | Franklin St, Fifth Floor, Boston, MA 02110, USA
29:util/crc8.c **** |
30:util/crc8.c **** | http://www.gnu.de/gpl-ger.html
31:util/crc8.c **** `-----------------------------------------------------------------------------------------*/
32:util/crc8.c **** #include "crc8.h"
33:util/crc8.c ****
34:util/crc8.c **** unsigned char crc8_calc(unsigned char *data, unsigned char crc_start, unsigned int len){
35:util/crc8.c **** unsigned int i;
36:util/crc8.c **** unsigned char crc = crc_start;
37:util/crc8.c ****
38:util/crc8.c **** for(i=0; i<len; i++){
39:util/crc8.c **** crc = crc8_calc_byte(crc,data[len]); //pgm_read_byte(&crc8_lookuptable[crc ^ data[len]]);
40:util/crc8.c **** }
41:util/crc8.c **** return crc;
42:util/crc8.c **** }
43:util/crc8.c ****
44:util/crc8.c **** //crc8, reversed, poly 0x07
45:util/crc8.c **** unsigned char crc8_calc_byte_rev0x07(unsigned char crc, unsigned char data){
92 tabn 68,0,46,.LM1-.LFBB1
93 .LM1:
94 eor r22,r24
96 .LM2:
46:util/crc8.c **** crc, unsigned char data){
97 , @function
98 crc8_calc_byte_rev0x07:
47:util/crc8.c **** crc, unsigned char data){
48:util/crc8.c **** data ^= crc;
100 0,crc8_calc_byte_rev0x07
103 0004 60FD .global crc8_calc_byte_rev0x07
105 0008 90E0 crc8_calc_byte_rev0x07:
107 .LM0:
108 000c 91E9 .LFBB1:
109 /* prologue: function */
49:util/crc8.c **** har data){
110 11)",64,0,0,24
112 000e 21FF .global crc8_calc_byte_rev0x07
114 0012 83EE crc8_calc_byte_rev0x07:
116 .LM0:
50:util/crc8.c **** crc, unsigned char data){
117 calc_byte_rev0x07
120 0018 00C0 .global crc8_calc_byte_rev0x07
122 001c 9827 crc8_calc_byte_rev0x07:
51:util/crc8.c **** crc, unsigned char data){
124 0,crc8_calc_byte_rev0x07
127 0020 00C0 .global crc8_calc_byte_rev0x07
129 0024 9827 crc8_calc_byte_rev0x07:
52:util/crc8.c **** crc, unsigned char data){
131 0,crc8_calc_byte_rev0x07
134 0028 00C0 .global crc8_calc_byte_rev0x07
136 002c 9827 crc8_calc_byte_rev0x07:
53:util/crc8.c **** crc, unsigned char data){
138 0,crc8_calc_byte_rev0x07
141 0030 00C0 .global crc8_calc_byte_rev0x07
143 0034 9827 crc8_calc_byte_rev0x07:
54:util/crc8.c **** crc, unsigned char data){
145 0,crc8_calc_byte_rev0x07
148 0038 00C0 .global crc8_calc_byte_rev0x07
150 003c 9827 crc8_calc_byte_rev0x07:
55:util/crc8.c **** crc, unsigned char data){
152 0,crc8_calc_byte_rev0x07
155 0040 00C0 .global crc8_calc_byte_rev0x07
157 0044 9827 crc8_calc_byte_rev0x07:
56:util/crc8.c **** crc, unsigned char data){
57:util/crc8.c **** data ^= crc;
159 0,crc8_calc_byte_rev0x07
162 .global crc8_calc_byte_rev0x07
164 crc8_calc_byte_rev0x07:
166 .LM0:
167 .LFBB1:
168 /* prologue: function */
169 /* frame size = 0 */
171 .LM1:
58:util/crc8.c **** har data){
59:util/crc8.c **** data ^= crc;
172 c8_calc_byte_rev0x07
174 crc8_calc_byte_rev0x07:
176 .LM0:
60:util/crc8.c **** har data){
177 calc_byte_rev0x07
61:util/crc8.c **** crc, unsigned char data){
62:util/crc8.c **** data ^= crc;
180 stabs "prog_uint64_t:t(2,11)=(4,8)",128,0,0,0
186 0054 00C0 .global crc8_calc_byte_rev0x07
188 0056 9EE5 crc8_calc_byte_rev0x07:
63:util/crc8.c **** har data){
190 0,crc8_calc_byte_rev0x07
193 005a 00C0 .global crc8_calc_byte_rev0x07
195 005e 9827 crc8_calc_byte_rev0x07:
64:util/crc8.c **** crc, unsigned char data){
197 0,crc8_calc_byte_rev0x07
200 0062 00C0 .global crc8_calc_byte_rev0x07
202 0066 9827 crc8_calc_byte_rev0x07:
65:util/crc8.c **** crc, unsigned char data){
204 0,crc8_calc_byte_rev0x07
207 006a 00C0 .global crc8_calc_byte_rev0x07
209 006e 9827 crc8_calc_byte_rev0x07:
66:util/crc8.c **** crc, unsigned char data){
211 0,crc8_calc_byte_rev0x07
214 0072 00C0 .global crc8_calc_byte_rev0x07
216 0076 9827 crc8_calc_byte_rev0x07:
67:util/crc8.c **** crc, unsigned char data){
218 0,crc8_calc_byte_rev0x07
221 007a 00C0 .global crc8_calc_byte_rev0x07
223 007e 9827 crc8_calc_byte_rev0x07:
68:util/crc8.c **** crc, unsigned char data){
225 0,crc8_calc_byte_rev0x07
228 0082 00C0 .global crc8_calc_byte_rev0x07
230 0086 9827 crc8_calc_byte_rev0x07:
69:util/crc8.c **** crc, unsigned char data){
232 0,crc8_calc_byte_rev0x07
235 008a 00C0 .global crc8_calc_byte_rev0x07
237 008e 9827 crc8_calc_byte_rev0x07:
70:util/crc8.c **** crc, unsigned char data){
71:util/crc8.c **** data ^= crc;
239 0,crc8_calc_byte_rev0x07
242 .global crc8_calc_byte_rev0x07
244 crc8_calc_byte_rev0x07:
246 .LM0:
247 .LFBB1:
248 /* prologue: function */
249 /* frame size = 0 */
251 .LM1:
252 eor r22,r24
254 .LM2:
255 mov r18,r22
256 0094 EF92 sbrc r22,0
257 0096 FF92 rjmp .L2
258 0098 0F93 ldi r25,lo8(0)
259 009a 1F93 rjmp .L3
260 009c CF93 .L2:
261 009e DF93 ldi r25,lo8(-111)
262 .L3:
264 00a0 8A01 .LM3:
265 sbrs r18,1
266 rjmp .L4
267 00a2 C0E0 ldi r24,lo8(-29)
268 00a4 D0E0 eor r25,r24
269 .L4:
271 00a6 7C01 .LM4:
272 00a8 E40E sbrs r18,2
273 00aa F51E rjmp .L5
274 00ac 00C0 ldi r24,lo8(7)
275 eor r25,r24
276 00ae 862F .L5:
278 00b2 6081 .LM5:
279 00b4 0E94 0000 sbrs r18,3
280 00b8 682F rjmp .L6
281 ldi r24,lo8(14)
282 eor r25,r24
283 00ba 2196 .L6:
285 00bc C017 .LM6:
286 00be D107 sbrs r18,4
287 00c0 00F0 rjmp .L7
288 ldi r24,lo8(28)
289 eor r25,r24
290 00c2 862F .L7:
292 00c4 DF91 .LM7:
293 00c6 CF91 sbrs r18,5
294 00c8 1F91 rjmp .L8
295 00ca 0F91 ldi r24,lo8(56)
296 00cc FF90 eor r25,r24
297 00ce EF90 .L8:
299 .LM8:
300 sbrs r18,6
301 rjmp .L9
302 ldi r24,lo8(112)
303 eor r25,r24
304 .L9:
306 .LM9:
DEFINED SYMBOLS
*ABS*:00000000 crc8.c
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccQiYaY3.s:2 *ABS*:0000003f __SREG__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccQiYaY3.s:3 *ABS*:0000003e __SP_H__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccQiYaY3.s:4 *ABS*:0000003d __SP_L__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccQiYaY3.s:5 *ABS*:00000034 __CCP__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccQiYaY3.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccQiYaY3.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccQiYaY3.s:91 .text:00000000 crc8_calc_byte_rev0x07
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccQiYaY3.s:171 .text:0000004a crc8_calc_byte
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccQiYaY3.s:252 .text:00000094 crc8_calc
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -