⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crc8.lst

📁 ENC28J60 System HTTP
💻 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 + -