📄 crc16.lst
字号:
\ 81E3402301E1
\ C021
\ 000000FC 802041E001A0 DC16 8320, 57409, 40961, 24768, 24960, 41281, 25344, 41921, 41601
\ C060806141A1
\ 0063C1A381A2
\ 0000010E 40620066C1A6 DC16 25152, 26112, 42689, 42881, 26432, 42241, 26048, 25728, 42049
\ 81A7406701A5
\ C065806441A4
\ 00000120 006CC1AC81AD DC16 27648, 44225, 44417, 27968, 44801, 28608, 28288, 44609, 43521
\ 406D01AFC06F
\ 806E41AE01AA
\ 00000132 C06A806B41AB DC16 27328, 27520, 43841, 26880, 43457, 43137, 26688, 30720, 47297
\ 0069C1A981A8
\ 40680078C1B8
\ 00000144 81B9407901BB DC16 47489, 31040, 47873, 31680, 31360, 47681, 48641, 32448, 32640
\ C07B807A41BA
\ 01BEC07E807F
\ 00000156 41BF007DC1BD DC16 48961, 32000, 48577, 48257, 31808, 46081, 29888, 30080, 46401
\ 81BC407C01B4
\ C074807541B5
\ 00000168 0077C1B781B6 DC16 30464, 47041, 46721, 30272, 29184, 45761, 45953, 29504, 45313
\ 40760072C1B2
\ 81B3407301B1
\ 0000017A C071807041B0 DC16 29120, 28800, 45121, 20480, 37057, 37249, 20800, 37633, 21440
\ 0050C1908191
\ 40510193C053
\ 0000018C 805241920196 DC16 21120, 37441, 38401, 22208, 22400, 38721, 21760, 38337, 38017
\ C05680574197
\ 0055C1958194
\ 0000019E 4054019CC05C DC16 21568, 39937, 23744, 23936, 40257, 24320, 40897, 40577, 24128
\ 805D419D005F
\ C19F819E405E
\ 000001B0 005AC19A819B DC16 23040, 39617, 39809, 23360, 39169, 22976, 22656, 38977, 34817
\ 405B0199C059
\ 805841980188
\ 000001C2 C04880494189 DC16 18624, 18816, 35137, 19200, 35777, 35457, 19008, 19968, 36545
\ 004BC18B818A
\ 404A004EC18E
\ 000001D4 818F404F018D DC16 36737, 20288, 36097, 19904, 19584, 35905, 17408, 33985, 34177
\ C04D804C418C
\ 0044C1848185
\ 000001E6 40450187C047 DC16 17728, 34561, 18368, 18048, 34369, 33281, 17088, 17280, 33601
\ 804641860182
\ C04280434183
\ 000001F8 0041C1818180 DC16 16640, 33217, 32897, 16448
\ 4040
15 0x0000, 0xC0C1, 0xC181, 0x0140, 0xC301, 0x03C0, 0x0280, 0xC241,
16 0xC601, 0x06C0, 0x0780, 0xC741, 0x0500, 0xC5C1, 0xC481, 0x0440,
17 0xCC01, 0x0CC0, 0x0D80, 0xCD41, 0x0F00, 0xCFC1, 0xCE81, 0x0E40,
18 0x0A00, 0xCAC1, 0xCB81, 0x0B40, 0xC901, 0x09C0, 0x0880, 0xC841,
19 0xD801, 0x18C0, 0x1980, 0xD941, 0x1B00, 0xDBC1, 0xDA81, 0x1A40,
20 0x1E00, 0xDEC1, 0xDF81, 0x1F40, 0xDD01, 0x1DC0, 0x1C80, 0xDC41,
21 0x1400, 0xD4C1, 0xD581, 0x1540, 0xD701, 0x17C0, 0x1680, 0xD641,
22 0xD201, 0x12C0, 0x1380, 0xD341, 0x1100, 0xD1C1, 0xD081, 0x1040,
23 0xF001, 0x30C0, 0x3180, 0xF141, 0x3300, 0xF3C1, 0xF281, 0x3240,
24 0x3600, 0xF6C1, 0xF781, 0x3740, 0xF501, 0x35C0, 0x3480, 0xF441,
25 0x3C00, 0xFCC1, 0xFD81, 0x3D40, 0xFF01, 0x3FC0, 0x3E80, 0xFE41,
26 0xFA01, 0x3AC0, 0x3B80, 0xFB41, 0x3900, 0xF9C1, 0xF881, 0x3840,
27 0x2800, 0xE8C1, 0xE981, 0x2940, 0xEB01, 0x2BC0, 0x2A80, 0xEA41,
28 0xEE01, 0x2EC0, 0x2F80, 0xEF41, 0x2D00, 0xEDC1, 0xEC81, 0x2C40,
29 0xE401, 0x24C0, 0x2580, 0xE541, 0x2700, 0xE7C1, 0xE681, 0x2640,
30 0x2200, 0xE2C1, 0xE381, 0x2340, 0xE101, 0x21C0, 0x2080, 0xE041,
31 0xA001, 0x60C0, 0x6180, 0xA141, 0x6300, 0xA3C1, 0xA281, 0x6240,
32 0x6600, 0xA6C1, 0xA781, 0x6740, 0xA501, 0x65C0, 0x6480, 0xA441,
33 0x6C00, 0xACC1, 0xAD81, 0x6D40, 0xAF01, 0x6FC0, 0x6E80, 0xAE41,
34 0xAA01, 0x6AC0, 0x6B80, 0xAB41, 0x6900, 0xA9C1, 0xA881, 0x6840,
35 0x7800, 0xB8C1, 0xB981, 0x7940, 0xBB01, 0x7BC0, 0x7A80, 0xBA41,
36 0xBE01, 0x7EC0, 0x7F80, 0xBF41, 0x7D00, 0xBDC1, 0xBC81, 0x7C40,
37 0xB401, 0x74C0, 0x7580, 0xB541, 0x7700, 0xB7C1, 0xB681, 0x7640,
38 0x7200, 0xB2C1, 0xB381, 0x7340, 0xB101, 0x71C0, 0x7080, 0xB041,
39 0x5000, 0x90C1, 0x9181, 0x5140, 0x9301, 0x53C0, 0x5280, 0x9241,
40 0x9601, 0x56C0, 0x5780, 0x9741, 0x5500, 0x95C1, 0x9481, 0x5440,
41 0x9C01, 0x5CC0, 0x5D80, 0x9D41, 0x5F00, 0x9FC1, 0x9E81, 0x5E40,
42 0x5A00, 0x9AC1, 0x9B81, 0x5B40, 0x9901, 0x59C0, 0x5880, 0x9841,
43 0x8801, 0x48C0, 0x4980, 0x8941, 0x4B00, 0x8BC1, 0x8A81, 0x4A40,
44 0x4E00, 0x8EC1, 0x8F81, 0x4F40, 0x8D01, 0x4DC0, 0x4C80, 0x8C41,
45 0x4400, 0x84C1, 0x8581, 0x4540, 0x8701, 0x47C0, 0x4680, 0x8641,
46 0x8201, 0x42C0, 0x4380, 0x8341, 0x4100, 0x81C1, 0x8081, 0x4040
47 };
48 //EXPORT_SYMBOL(crc16_table);
49
50 /**
51 * crc16 - compute the CRC-16 for the data buffer
52 * @crc: previous CRC value
53 * @buffer: data pointer
54 * @len: number of bytes in the buffer
55 *
56 * Returns the updated CRC value.
57 */
\ In section .text, align 4, keep-with-next
58 u16 crc16(u16 crc, u8 const *buffer, size_t len)
59 {
\ crc16:
\ 00000000 38402DE9 PUSH {R3-R5,LR}
\ 00000004 0150A0E1 MOV R5,R1
\ 00000008 0240B0E1 MOVS R4,R2
\ 0000000C 0400000A BEQ ??crc16_0
\ ??crc16_1:
\ 00000010 014044E2 SUB R4,R4,#+1
60 while (len--)
61 crc = crc16_byte(crc, *buffer++);
\ 00000014 0110D5E4 LDRB R1,[R5], #+1
\ 00000018 ........ BL crc16_byte
\ 0000001C 000054E3 CMP R4,#+0
\ 00000020 FAFFFF1A BNE ??crc16_1
62 return crc;
\ ??crc16_0:
\ 00000024 3240BDE8 POP {R1,R4,R5,LR}
\ 00000028 1EFF2FE1 BX LR ;; return
63 }
64 //EXPORT_SYMBOL(crc16);
65
66 //MODULE_DESCRIPTION("CRC16 calculations");
67 //MODULE_LICENSE("GPL");
68
Maximum stack usage in bytes:
Function .cstack
-------- -------
crc16 0
crc16_byte 0
Section sizes:
Function/Label Bytes
-------------- -----
crc16_byte 40
crc16_table 512
crc16 44
512 bytes in section .rodata
84 bytes in section .text
84 bytes of CODE memory
512 bytes of CONST memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -