| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773 |
- ARM GAS C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s page 1
- 1 .cpu cortex-m4
- 2 .arch armv7e-m
- 3 .fpu fpv4-sp-d16
- 4 .eabi_attribute 27, 1
- 5 .eabi_attribute 28, 1
- 6 .eabi_attribute 20, 1
- 7 .eabi_attribute 21, 1
- 8 .eabi_attribute 23, 3
- 9 .eabi_attribute 24, 1
- 10 .eabi_attribute 25, 1
- 11 .eabi_attribute 26, 1
- 12 .eabi_attribute 30, 6
- 13 .eabi_attribute 34, 1
- 14 .eabi_attribute 18, 4
- 15 .file "soft_crc.c"
- 16 .text
- 17 .Ltext0:
- 18 .cfi_sections .debug_frame
- 19 .global ccitt_table
- 20 .section .rodata.ccitt_table,"a"
- 21 .align 2
- 24 ccitt_table:
- 25 0000 00000000 .word 0
- 26 0004 21100000 .word 4129
- 27 0008 42200000 .word 8258
- 28 000c 63300000 .word 12387
- 29 0010 84400000 .word 16516
- 30 0014 A5500000 .word 20645
- 31 0018 C6600000 .word 24774
- 32 001c E7700000 .word 28903
- 33 0020 08810000 .word 33032
- 34 0024 29910000 .word 37161
- 35 0028 4AA10000 .word 41290
- 36 002c 6BB10000 .word 45419
- 37 0030 8CC10000 .word 49548
- 38 0034 ADD10000 .word 53677
- 39 0038 CEE10000 .word 57806
- 40 003c EFF10000 .word 61935
- 41 0040 31120000 .word 4657
- 42 0044 10020000 .word 528
- 43 0048 73320000 .word 12915
- 44 004c 52220000 .word 8786
- 45 0050 B5520000 .word 21173
- 46 0054 94420000 .word 17044
- 47 0058 F7720000 .word 29431
- 48 005c D6620000 .word 25302
- 49 0060 39930000 .word 37689
- 50 0064 18830000 .word 33560
- 51 0068 7BB30000 .word 45947
- 52 006c 5AA30000 .word 41818
- 53 0070 BDD30000 .word 54205
- 54 0074 9CC30000 .word 50076
- 55 0078 FFF30000 .word 62463
- 56 007c DEE30000 .word 58334
- 57 0080 62240000 .word 9314
- 58 0084 43340000 .word 13379
- 59 0088 20040000 .word 1056
- ARM GAS C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s page 2
- 60 008c 01140000 .word 5121
- 61 0090 E6640000 .word 25830
- 62 0094 C7740000 .word 29895
- 63 0098 A4440000 .word 17572
- 64 009c 85540000 .word 21637
- 65 00a0 6AA50000 .word 42346
- 66 00a4 4BB50000 .word 46411
- 67 00a8 28850000 .word 34088
- 68 00ac 09950000 .word 38153
- 69 00b0 EEE50000 .word 58862
- 70 00b4 CFF50000 .word 62927
- 71 00b8 ACC50000 .word 50604
- 72 00bc 8DD50000 .word 54669
- 73 00c0 53360000 .word 13907
- 74 00c4 72260000 .word 9842
- 75 00c8 11160000 .word 5649
- 76 00cc 30060000 .word 1584
- 77 00d0 D7760000 .word 30423
- 78 00d4 F6660000 .word 26358
- 79 00d8 95560000 .word 22165
- 80 00dc B4460000 .word 18100
- 81 00e0 5BB70000 .word 46939
- 82 00e4 7AA70000 .word 42874
- 83 00e8 19970000 .word 38681
- 84 00ec 38870000 .word 34616
- 85 00f0 DFF70000 .word 63455
- 86 00f4 FEE70000 .word 59390
- 87 00f8 9DD70000 .word 55197
- 88 00fc BCC70000 .word 51132
- 89 0100 C4480000 .word 18628
- 90 0104 E5580000 .word 22757
- 91 0108 86680000 .word 26758
- 92 010c A7780000 .word 30887
- 93 0110 40080000 .word 2112
- 94 0114 61180000 .word 6241
- 95 0118 02280000 .word 10242
- 96 011c 23380000 .word 14371
- 97 0120 CCC90000 .word 51660
- 98 0124 EDD90000 .word 55789
- 99 0128 8EE90000 .word 59790
- 100 012c AFF90000 .word 63919
- 101 0130 48890000 .word 35144
- 102 0134 69990000 .word 39273
- 103 0138 0AA90000 .word 43274
- 104 013c 2BB90000 .word 47403
- 105 0140 F55A0000 .word 23285
- 106 0144 D44A0000 .word 19156
- 107 0148 B77A0000 .word 31415
- 108 014c 966A0000 .word 27286
- 109 0150 711A0000 .word 6769
- 110 0154 500A0000 .word 2640
- 111 0158 333A0000 .word 14899
- 112 015c 122A0000 .word 10770
- 113 0160 FDDB0000 .word 56317
- 114 0164 DCCB0000 .word 52188
- 115 0168 BFFB0000 .word 64447
- 116 016c 9EEB0000 .word 60318
- ARM GAS C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s page 3
- 117 0170 799B0000 .word 39801
- 118 0174 588B0000 .word 35672
- 119 0178 3BBB0000 .word 47931
- 120 017c 1AAB0000 .word 43802
- 121 0180 A66C0000 .word 27814
- 122 0184 877C0000 .word 31879
- 123 0188 E44C0000 .word 19684
- 124 018c C55C0000 .word 23749
- 125 0190 222C0000 .word 11298
- 126 0194 033C0000 .word 15363
- 127 0198 600C0000 .word 3168
- 128 019c 411C0000 .word 7233
- 129 01a0 AEED0000 .word 60846
- 130 01a4 8FFD0000 .word 64911
- 131 01a8 ECCD0000 .word 52716
- 132 01ac CDDD0000 .word 56781
- 133 01b0 2AAD0000 .word 44330
- 134 01b4 0BBD0000 .word 48395
- 135 01b8 688D0000 .word 36200
- 136 01bc 499D0000 .word 40265
- 137 01c0 977E0000 .word 32407
- 138 01c4 B66E0000 .word 28342
- 139 01c8 D55E0000 .word 24277
- 140 01cc F44E0000 .word 20212
- 141 01d0 133E0000 .word 15891
- 142 01d4 322E0000 .word 11826
- 143 01d8 511E0000 .word 7761
- 144 01dc 700E0000 .word 3696
- 145 01e0 9FFF0000 .word 65439
- 146 01e4 BEEF0000 .word 61374
- 147 01e8 DDDF0000 .word 57309
- 148 01ec FCCF0000 .word 53244
- 149 01f0 1BBF0000 .word 48923
- 150 01f4 3AAF0000 .word 44858
- 151 01f8 599F0000 .word 40793
- 152 01fc 788F0000 .word 36728
- 153 0200 88910000 .word 37256
- 154 0204 A9810000 .word 33193
- 155 0208 CAB10000 .word 45514
- 156 020c EBA10000 .word 41451
- 157 0210 0CD10000 .word 53516
- 158 0214 2DC10000 .word 49453
- 159 0218 4EF10000 .word 61774
- 160 021c 6FE10000 .word 57711
- 161 0220 80100000 .word 4224
- 162 0224 A1000000 .word 161
- 163 0228 C2300000 .word 12482
- 164 022c E3200000 .word 8419
- 165 0230 04500000 .word 20484
- 166 0234 25400000 .word 16421
- 167 0238 46700000 .word 28742
- 168 023c 67600000 .word 24679
- 169 0240 B9830000 .word 33721
- 170 0244 98930000 .word 37784
- 171 0248 FBA30000 .word 41979
- 172 024c DAB30000 .word 46042
- 173 0250 3DC30000 .word 49981
- ARM GAS C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s page 4
- 174 0254 1CD30000 .word 54044
- 175 0258 7FE30000 .word 58239
- 176 025c 5EF30000 .word 62302
- 177 0260 B1020000 .word 689
- 178 0264 90120000 .word 4752
- 179 0268 F3220000 .word 8947
- 180 026c D2320000 .word 13010
- 181 0270 35420000 .word 16949
- 182 0274 14520000 .word 21012
- 183 0278 77620000 .word 25207
- 184 027c 56720000 .word 29270
- 185 0280 EAB50000 .word 46570
- 186 0284 CBA50000 .word 42443
- 187 0288 A8950000 .word 38312
- 188 028c 89850000 .word 34185
- 189 0290 6EF50000 .word 62830
- 190 0294 4FE50000 .word 58703
- 191 0298 2CD50000 .word 54572
- 192 029c 0DC50000 .word 50445
- 193 02a0 E2340000 .word 13538
- 194 02a4 C3240000 .word 9411
- 195 02a8 A0140000 .word 5280
- 196 02ac 81040000 .word 1153
- 197 02b0 66740000 .word 29798
- 198 02b4 47640000 .word 25671
- 199 02b8 24540000 .word 21540
- 200 02bc 05440000 .word 17413
- 201 02c0 DBA70000 .word 42971
- 202 02c4 FAB70000 .word 47098
- 203 02c8 99870000 .word 34713
- 204 02cc B8970000 .word 38840
- 205 02d0 5FE70000 .word 59231
- 206 02d4 7EF70000 .word 63358
- 207 02d8 1DC70000 .word 50973
- 208 02dc 3CD70000 .word 55100
- 209 02e0 D3260000 .word 9939
- 210 02e4 F2360000 .word 14066
- 211 02e8 91060000 .word 1681
- 212 02ec B0160000 .word 5808
- 213 02f0 57660000 .word 26199
- 214 02f4 76760000 .word 30326
- 215 02f8 15460000 .word 17941
- 216 02fc 34560000 .word 22068
- 217 0300 4CD90000 .word 55628
- 218 0304 6DC90000 .word 51565
- 219 0308 0EF90000 .word 63758
- 220 030c 2FE90000 .word 59695
- 221 0310 C8990000 .word 39368
- 222 0314 E9890000 .word 35305
- 223 0318 8AB90000 .word 47498
- 224 031c ABA90000 .word 43435
- 225 0320 44580000 .word 22596
- 226 0324 65480000 .word 18533
- 227 0328 06780000 .word 30726
- 228 032c 27680000 .word 26663
- 229 0330 C0180000 .word 6336
- 230 0334 E1080000 .word 2273
- ARM GAS C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s page 5
- 231 0338 82380000 .word 14466
- 232 033c A3280000 .word 10403
- 233 0340 7DCB0000 .word 52093
- 234 0344 5CDB0000 .word 56156
- 235 0348 3FEB0000 .word 60223
- 236 034c 1EFB0000 .word 64286
- 237 0350 F98B0000 .word 35833
- 238 0354 D89B0000 .word 39896
- 239 0358 BBAB0000 .word 43963
- 240 035c 9ABB0000 .word 48026
- 241 0360 754A0000 .word 19061
- 242 0364 545A0000 .word 23124
- 243 0368 376A0000 .word 27191
- 244 036c 167A0000 .word 31254
- 245 0370 F10A0000 .word 2801
- 246 0374 D01A0000 .word 6864
- 247 0378 B32A0000 .word 10931
- 248 037c 923A0000 .word 14994
- 249 0380 2EFD0000 .word 64814
- 250 0384 0FED0000 .word 60687
- 251 0388 6CDD0000 .word 56684
- 252 038c 4DCD0000 .word 52557
- 253 0390 AABD0000 .word 48554
- 254 0394 8BAD0000 .word 44427
- 255 0398 E89D0000 .word 40424
- 256 039c C98D0000 .word 36297
- 257 03a0 267C0000 .word 31782
- 258 03a4 076C0000 .word 27655
- 259 03a8 645C0000 .word 23652
- 260 03ac 454C0000 .word 19525
- 261 03b0 A23C0000 .word 15522
- 262 03b4 832C0000 .word 11395
- 263 03b8 E01C0000 .word 7392
- 264 03bc C10C0000 .word 3265
- 265 03c0 1FEF0000 .word 61215
- 266 03c4 3EFF0000 .word 65342
- 267 03c8 5DCF0000 .word 53085
- 268 03cc 7CDF0000 .word 57212
- 269 03d0 9BAF0000 .word 44955
- 270 03d4 BABF0000 .word 49082
- 271 03d8 D98F0000 .word 36825
- 272 03dc F89F0000 .word 40952
- 273 03e0 176E0000 .word 28183
- 274 03e4 367E0000 .word 32310
- 275 03e8 554E0000 .word 20053
- 276 03ec 745E0000 .word 24180
- 277 03f0 932E0000 .word 11923
- 278 03f4 B23E0000 .word 16050
- 279 03f8 D10E0000 .word 3793
- 280 03fc F01E0000 .word 7920
- 281 .section .text.crc_ccitt,"ax",%progbits
- 282 .align 1
- 283 .global crc_ccitt
- 284 .syntax unified
- 285 .thumb
- 286 .thumb_func
- 288 crc_ccitt:
- ARM GAS C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s page 6
- 289 .LFB235:
- 290 .file 1 "Core/Src/soft_crc.c"
- 1:Core/Src/soft_crc.c **** #include "soft_crc.h"
- 2:Core/Src/soft_crc.c **** #include "stm32f4xx_hal.h"
- 3:Core/Src/soft_crc.c **** //32位编码表
- 4:Core/Src/soft_crc.c **** const unsigned int ccitt_table[256] = {0x0000, 0x1021, 0x2042, 0x3063, 0x4084,
- 5:Core/Src/soft_crc.c **** 0x50A5, 0x60C6, 0x70E7, 0x8108, 0x9129, 0xA14A, 0xB16B, 0xC18C, 0xD1AD, 0xE1CE,
- 6:Core/Src/soft_crc.c **** 0xF1EF, 0x1231, 0x0210, 0x3273, 0x2252, 0x52B5, 0x4294, 0x72F7, 0x62D6, 0x9339,
- 7:Core/Src/soft_crc.c **** 0x8318, 0xB37B, 0xA35A, 0xD3BD, 0xC39C, 0xF3FF, 0xE3DE, 0x2462, 0x3443, 0x0420,
- 8:Core/Src/soft_crc.c **** 0x1401, 0x64E6, 0x74C7, 0x44A4, 0x5485, 0xA56A, 0xB54B, 0x8528, 0x9509, 0xE5EE,
- 9:Core/Src/soft_crc.c **** 0xF5CF, 0xC5AC, 0xD58D, 0x3653, 0x2672, 0x1611, 0x0630, 0x76D7, 0x66F6, 0x5695,
- 10:Core/Src/soft_crc.c **** 0x46B4, 0xB75B, 0xA77A, 0x9719, 0x8738, 0xF7DF, 0xE7FE, 0xD79D, 0xC7BC, 0x48C4,
- 11:Core/Src/soft_crc.c **** 0x58E5, 0x6886, 0x78A7, 0x0840, 0x1861, 0x2802, 0x3823, 0xC9CC, 0xD9ED, 0xE98E,
- 12:Core/Src/soft_crc.c **** 0xF9AF, 0x8948, 0x9969, 0xA90A, 0xB92B, 0x5AF5, 0x4AD4, 0x7AB7, 0x6A96, 0x1A71,
- 13:Core/Src/soft_crc.c **** 0x0A50, 0x3A33, 0x2A12, 0xDBFD, 0xCBDC, 0xFBBF, 0xEB9E, 0x9B79, 0x8B58, 0xBB3B,
- 14:Core/Src/soft_crc.c **** 0xAB1A, 0x6CA6, 0x7C87, 0x4CE4, 0x5CC5, 0x2C22, 0x3C03, 0x0C60, 0x1C41, 0xEDAE,
- 15:Core/Src/soft_crc.c **** 0xFD8F, 0xCDEC, 0xDDCD, 0xAD2A, 0xBD0B, 0x8D68, 0x9D49, 0x7E97, 0x6EB6, 0x5ED5,
- 16:Core/Src/soft_crc.c **** 0x4EF4, 0x3E13, 0x2E32, 0x1E51, 0x0E70, 0xFF9F, 0xEFBE, 0xDFDD, 0xCFFC, 0xBF1B,
- 17:Core/Src/soft_crc.c **** 0xAF3A, 0x9F59, 0x8F78, 0x9188, 0x81A9, 0xB1CA, 0xA1EB, 0xD10C, 0xC12D, 0xF14E,
- 18:Core/Src/soft_crc.c **** 0xE16F, 0x1080, 0x00A1, 0x30C2, 0x20E3, 0x5004, 0x4025, 0x7046, 0x6067, 0x83B9,
- 19:Core/Src/soft_crc.c **** 0x9398, 0xA3FB, 0xB3DA, 0xC33D, 0xD31C, 0xE37F, 0xF35E, 0x02B1, 0x1290, 0x22F3,
- 20:Core/Src/soft_crc.c **** 0x32D2, 0x4235, 0x5214, 0x6277, 0x7256, 0xB5EA, 0xA5CB, 0x95A8, 0x8589, 0xF56E,
- 21:Core/Src/soft_crc.c **** 0xE54F, 0xD52C, 0xC50D, 0x34E2, 0x24C3, 0x14A0, 0x0481, 0x7466, 0x6447, 0x5424,
- 22:Core/Src/soft_crc.c **** 0x4405, 0xA7DB, 0xB7FA, 0x8799, 0x97B8, 0xE75F, 0xF77E, 0xC71D, 0xD73C, 0x26D3,
- 23:Core/Src/soft_crc.c **** 0x36F2, 0x0691, 0x16B0, 0x6657, 0x7676, 0x4615, 0x5634, 0xD94C, 0xC96D, 0xF90E,
- 24:Core/Src/soft_crc.c **** 0xE92F, 0x99C8, 0x89E9, 0xB98A, 0xA9AB, 0x5844, 0x4865, 0x7806, 0x6827, 0x18C0,
- 25:Core/Src/soft_crc.c **** 0x08E1, 0x3882, 0x28A3, 0xCB7D, 0xDB5C, 0xEB3F, 0xFB1E, 0x8BF9, 0x9BD8, 0xABBB,
- 26:Core/Src/soft_crc.c **** 0xBB9A, 0x4A75, 0x5A54, 0x6A37, 0x7A16, 0x0AF1, 0x1AD0, 0x2AB3, 0x3A92, 0xFD2E,
- 27:Core/Src/soft_crc.c **** 0xED0F, 0xDD6C, 0xCD4D, 0xBDAA, 0xAD8B, 0x9DE8, 0x8DC9, 0x7C26, 0x6C07, 0x5C64,
- 28:Core/Src/soft_crc.c **** 0x4C45, 0x3CA2, 0x2C83, 0x1CE0, 0x0CC1, 0xEF1F, 0xFF3E, 0xCF5D, 0xDF7C, 0xAF9B,
- 29:Core/Src/soft_crc.c **** 0xBFBA, 0x8FD9, 0x9FF8, 0x6E17, 0x7E36, 0x4E55, 0x5E74, 0x2E93, 0x3EB2, 0x0ED1,
- 30:Core/Src/soft_crc.c **** 0x1EF0};
- 31:Core/Src/soft_crc.c ****
- 32:Core/Src/soft_crc.c **** unsigned short crc_ccitt(unsigned char *q, int len)
- 33:Core/Src/soft_crc.c **** {
- 291 .loc 1 33 1
- 292 .cfi_startproc
- 293 @ args = 0, pretend = 0, frame = 16
- 294 @ frame_needed = 1, uses_anonymous_args = 0
- 295 @ link register save eliminated.
- 296 0000 80B4 push {r7}
- 297 .LCFI0:
- 298 .cfi_def_cfa_offset 4
- 299 .cfi_offset 7, -4
- 300 0002 85B0 sub sp, sp, #20
- 301 .LCFI1:
- 302 .cfi_def_cfa_offset 24
- 303 0004 00AF add r7, sp, #0
- 304 .LCFI2:
- 305 .cfi_def_cfa_register 7
- 306 0006 7860 str r0, [r7, #4]
- 307 0008 3960 str r1, [r7]
- 34:Core/Src/soft_crc.c **** unsigned int crc = 0;
- 308 .loc 1 34 15
- 309 000a 0023 movs r3, #0
- 310 000c FB60 str r3, [r7, #12]
- 35:Core/Src/soft_crc.c **** while (len-- > 0)
- ARM GAS C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s page 7
- 311 .loc 1 35 8
- 312 000e 0EE0 b .L2
- 313 .L3:
- 36:Core/Src/soft_crc.c **** crc = ccitt_table[(crc >> 8 ^ *q++) & 0xff] ^ (crc << 8);
- 314 .loc 1 36 26
- 315 0010 FB68 ldr r3, [r7, #12]
- 316 0012 1A0A lsrs r2, r3, #8
- 317 .loc 1 36 35
- 318 0014 7B68 ldr r3, [r7, #4]
- 319 0016 591C adds r1, r3, #1
- 320 0018 7960 str r1, [r7, #4]
- 321 .loc 1 36 33
- 322 001a 1B78 ldrb r3, [r3] @ zero_extendqisi2
- 323 .loc 1 36 31
- 324 001c 5340 eors r3, r3, r2
- 325 .loc 1 36 39
- 326 001e DBB2 uxtb r3, r3
- 327 .loc 1 36 20
- 328 0020 094A ldr r2, .L5
- 329 0022 52F82320 ldr r2, [r2, r3, lsl #2]
- 330 .loc 1 36 54
- 331 0026 FB68 ldr r3, [r7, #12]
- 332 0028 1B02 lsls r3, r3, #8
- 333 .loc 1 36 7
- 334 002a 5340 eors r3, r3, r2
- 335 002c FB60 str r3, [r7, #12]
- 336 .L2:
- 35:Core/Src/soft_crc.c **** while (len-- > 0)
- 337 .loc 1 35 12
- 338 002e 3B68 ldr r3, [r7]
- 339 0030 5A1E subs r2, r3, #1
- 340 0032 3A60 str r2, [r7]
- 35:Core/Src/soft_crc.c **** while (len-- > 0)
- 341 .loc 1 35 8
- 342 0034 002B cmp r3, #0
- 343 0036 EBDC bgt .L3
- 37:Core/Src/soft_crc.c **** return crc;
- 344 .loc 1 37 9
- 345 0038 FB68 ldr r3, [r7, #12]
- 346 003a 9BB2 uxth r3, r3
- 38:Core/Src/soft_crc.c **** }
- 347 .loc 1 38 1
- 348 003c 1846 mov r0, r3
- 349 003e 1437 adds r7, r7, #20
- 350 .LCFI3:
- 351 .cfi_def_cfa_offset 4
- 352 0040 BD46 mov sp, r7
- 353 .LCFI4:
- 354 .cfi_def_cfa_register 13
- 355 @ sp needed
- 356 0042 5DF8047B ldr r7, [sp], #4
- 357 .LCFI5:
- 358 .cfi_restore 7
- 359 .cfi_def_cfa_offset 0
- 360 0046 7047 bx lr
- 361 .L6:
- 362 .align 2
- ARM GAS C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s page 8
- 363 .L5:
- 364 0048 00000000 .word ccitt_table
- 365 .cfi_endproc
- 366 .LFE235:
- 368 .global auchCRCHi
- 369 .section .rodata.auchCRCHi,"a"
- 370 .align 2
- 373 auchCRCHi:
- 374 0000 00C18140 .ascii "\000\301\201@\001\300\200A\001\300\200A\000\301\201"
- 374 01C08041
- 374 01C08041
- 374 00C181
- 375 000f 4001C080 .ascii "@\001\300\200A\000\301\201@\000\301\201@\001\300\200"
- 375 4100C181
- 375 4000C181
- 375 4001C080
- 376 001f 4101C080 .ascii "A\001\300\200A\000\301\201@\000\301\201@\001\300\200"
- 376 4100C181
- 376 4000C181
- 376 4001C080
- 377 002f 4100C181 .ascii "A\000\301\201@\001\300\200A\001\300\200A\000\301\201"
- 377 4001C080
- 377 4101C080
- 377 4100C181
- 378 003f 4001C080 .ascii "@\001\300\200A\000\301\201@\000\301\201@\001\300\200"
- 378 4100C181
- 378 4000C181
- 378 4001C080
- 379 004f 4100C181 .ascii "A\000\301\201@\001\300\200A\001\300\200A\000\301\201"
- 379 4001C080
- 379 4101C080
- 379 4100C181
- 380 005f 4000C181 .ascii "@\000\301\201@\001\300\200A\001\300\200A\000\301\201"
- 380 4001C080
- 380 4101C080
- 380 4100C181
- 381 006f 4001C080 .ascii "@\001\300\200A\000\301\201@\000\301\201@\001\300\200"
- 381 4100C181
- 381 4000C181
- 381 4001C080
- 382 007f 4101C080 .ascii "A\001\300\200A\000\301\201@\000\301\201@\001\300\200"
- 382 4100C181
- 382 4000C181
- 382 4001C080
- 383 008f 4100C181 .ascii "A\000\301\201@\001\300\200A\001\300\200A\000\301\201"
- 383 4001C080
- 383 4101C080
- 383 4100C181
- 384 009f 4000C181 .ascii "@\000\301\201@\001\300\200A\001\300\200A\000\301\201"
- 384 4001C080
- 384 4101C080
- 384 4100C181
- 385 00af 4001C080 .ascii "@\001\300\200A\000\301\201@\000\301\201@\001\300\200"
- 385 4100C181
- 385 4000C181
- 385 4001C080
- 386 00bf 4100C181 .ascii "A\000\301\201@\001\300\200A\001\300\200A\000\301\201"
- ARM GAS C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s page 9
- 386 4001C080
- 386 4101C080
- 386 4100C181
- 387 00cf 4001C080 .ascii "@\001\300\200A\000\301\201@\000\301\201@\001\300\200"
- 387 4100C181
- 387 4000C181
- 387 4001C080
- 388 00df 4101C080 .ascii "A\001\300\200A\000\301\201@\000\301\201@\001\300\200"
- 388 4100C181
- 388 4000C181
- 388 4001C080
- 389 00ef 4100C181 .ascii "A\000\301\201@\001\300\200A\001\300\200A\000\301\201"
- 389 4001C080
- 389 4101C080
- 389 4100C181
- 390 00ff 40 .ascii "@"
- 391 .global auchCRCLo
- 392 .section .rodata.auchCRCLo,"a"
- 393 .align 2
- 396 auchCRCLo:
- 397 0000 00C0C101 .ascii "\000\300\301\001\303\003\002\302\306\006\007\307\005"
- 397 C30302C2
- 397 C60607C7
- 397 05
- 398 000d C5C404CC .ascii "\305\304\004\314\014\015\315\017\317\316\016\012\312"
- 398 0C0DCD0F
- 398 CFCE0E0A
- 398 CA
- 399 001a CB0BC909 .ascii "\313\013\311\011\010\310\330\030\031\331\033\333\332"
- 399 08C8D818
- 399 19D91BDB
- 399 DA
- 400 0027 1A1EDEDF .ascii "\032\036\336\337\037\335\035\034\334\024\324\325\025"
- 400 1FDD1D1C
- 400 DC14D4D5
- 400 15
- 401 0034 D71716D6 .ascii "\327\027\026\326\322\022\023\323\021\321\320\020\360"
- 401 D21213D3
- 401 11D1D010
- 401 F0
- 402 0041 3031F133 .ascii "01\3613\363\36226\366\3677\36554\364<\374\375=\377?"
- 402 F3F23236
- 402 F6F737F5
- 402 3534F43C
- 402 FCFD3DFF
- 403 0056 3EFEFA3A .ascii ">\376\372:;\3739\371\3708(\350\351)\353+*\352\356./"
- 403 3BFB39F9
- 403 F83828E8
- 403 E929EB2B
- 403 2AEAEE2E
- 404 006b EF2DEDEC .ascii "\357-\355\354,\344$%\345'\347\346&\"\342\343#\341! "
- 404 2CE42425
- 404 E527E7E6
- 404 2622E2E3
- 404 23E12120
- 405 007f E0A06061 .ascii "\340\240`a\241c\243\242bf\246\247g\245ed\244l\254\255"
- 405 A163A3A2
- ARM GAS C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s page 10
- 405 6266A6A7
- 405 67A56564
- 405 A46CACAD
- 406 0093 6DAF6F6E .ascii "m\257on\256\252jk\253i\251\250hx\270\271y\273{z\272"
- 406 AEAA6A6B
- 406 AB69A9A8
- 406 6878B8B9
- 406 79BB7B7A
- 407 00a8 BE7E7FBF .ascii "\276~\177\277}\275\274|\264tu\265w\267\266vr\262\263"
- 407 7DBDBC7C
- 407 B47475B5
- 407 77B7B676
- 407 72B2B3
- 408 00bb 73B17170 .ascii "s\261qp\260P\220\221Q\223SR\222\226VW\227U\225\224T"
- 408 B0509091
- 408 51935352
- 408 92965657
- 408 97559594
- 409 00d0 9C5C5D9D .ascii "\234\\]\235_\237\236^Z\232\233[\231YX\230\210HI\211"
- 409 5F9F9E5E
- 409 5A9A9B5B
- 409 99595898
- 409 88484989
- 410 00e4 4B8B8A4A .ascii "K\213\212JN\216\217O\215ML\214D\204\205E\207GF\206\202"
- 410 4E8E8F4F
- 410 8D4D4C8C
- 410 44848545
- 410 87474686
- 411 00f9 42438341 .ascii "BC\203A\201\200@"
- 411 818040
- 412 .section .text.Get_Crc16,"ax",%progbits
- 413 .align 1
- 414 .global Get_Crc16
- 415 .syntax unified
- 416 .thumb
- 417 .thumb_func
- 419 Get_Crc16:
- 420 .LFB236:
- 39:Core/Src/soft_crc.c ****
- 40:Core/Src/soft_crc.c **** //16位编码表
- 41:Core/Src/soft_crc.c **** //高位
- 42:Core/Src/soft_crc.c **** const uint8_t auchCRCHi[] = {
- 43:Core/Src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
- 44:Core/Src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
- 45:Core/Src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
- 46:Core/Src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
- 47:Core/Src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
- 48:Core/Src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
- 49:Core/Src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
- 50:Core/Src/soft_crc.c **** 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
- 51:Core/Src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
- 52:Core/Src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
- 53:Core/Src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
- 54:Core/Src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
- 55:Core/Src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
- 56:Core/Src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
- 57:Core/Src/soft_crc.c **** 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
- ARM GAS C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s page 11
- 58:Core/Src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
- 59:Core/Src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
- 60:Core/Src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
- 61:Core/Src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
- 62:Core/Src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
- 63:Core/Src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
- 64:Core/Src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40};
- 65:Core/Src/soft_crc.c **** //低位
- 66:Core/Src/soft_crc.c **** const uint8_t auchCRCLo[] = {
- 67:Core/Src/soft_crc.c **** 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7,
- 68:Core/Src/soft_crc.c **** 0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E,
- 69:Core/Src/soft_crc.c **** 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9,
- 70:Core/Src/soft_crc.c **** 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC,
- 71:Core/Src/soft_crc.c **** 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,
- 72:Core/Src/soft_crc.c **** 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32,
- 73:Core/Src/soft_crc.c **** 0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D,
- 74:Core/Src/soft_crc.c **** 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38,
- 75:Core/Src/soft_crc.c **** 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF,
- 76:Core/Src/soft_crc.c **** 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,
- 77:Core/Src/soft_crc.c **** 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1,
- 78:Core/Src/soft_crc.c **** 0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4,
- 79:Core/Src/soft_crc.c **** 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB,
- 80:Core/Src/soft_crc.c **** 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA,
- 81:Core/Src/soft_crc.c **** 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,
- 82:Core/Src/soft_crc.c **** 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0,
- 83:Core/Src/soft_crc.c **** 0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97,
- 84:Core/Src/soft_crc.c **** 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E,
- 85:Core/Src/soft_crc.c **** 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89,
- 86:Core/Src/soft_crc.c **** 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,
- 87:Core/Src/soft_crc.c **** 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83,
- 88:Core/Src/soft_crc.c **** 0x41, 0x81, 0x80, 0x40};
- 89:Core/Src/soft_crc.c ****
- 90:Core/Src/soft_crc.c **** //获取校验值
- 91:Core/Src/soft_crc.c **** uint16_t Get_Crc16(uint8_t *puchMsg, uint16_t usDataLen)
- 92:Core/Src/soft_crc.c **** {
- 421 .loc 1 92 1
- 422 .cfi_startproc
- 423 @ args = 0, pretend = 0, frame = 16
- 424 @ frame_needed = 1, uses_anonymous_args = 0
- 425 @ link register save eliminated.
- 426 0000 80B4 push {r7}
- 427 .LCFI6:
- 428 .cfi_def_cfa_offset 4
- 429 .cfi_offset 7, -4
- 430 0002 85B0 sub sp, sp, #20
- 431 .LCFI7:
- 432 .cfi_def_cfa_offset 24
- 433 0004 00AF add r7, sp, #0
- 434 .LCFI8:
- 435 .cfi_def_cfa_register 7
- 436 0006 7860 str r0, [r7, #4]
- 437 0008 0B46 mov r3, r1
- 438 000a 7B80 strh r3, [r7, #2] @ movhi
- 93:Core/Src/soft_crc.c **** uint8_t uchCRCHi = 0xFF; //高CRC
- 439 .loc 1 93 13
- 440 000c FF23 movs r3, #255
- 441 000e FB73 strb r3, [r7, #15]
- ARM GAS C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s page 12
- 94:Core/Src/soft_crc.c **** uint8_t uchCRCLo = 0xFF; //低CRC
- 442 .loc 1 94 13
- 443 0010 FF23 movs r3, #255
- 444 0012 BB73 strb r3, [r7, #14]
- 95:Core/Src/soft_crc.c **** uint32_t uIndex; // 循环索引
- 96:Core/Src/soft_crc.c **** while (usDataLen--) //消息缓冲区
- 445 .loc 1 96 11
- 446 0014 13E0 b .L8
- 447 .L9:
- 97:Core/Src/soft_crc.c **** {
- 98:Core/Src/soft_crc.c **** uIndex = uchCRCLo ^ *puchMsg++; //计算CRC
- 448 .loc 1 98 37
- 449 0016 7B68 ldr r3, [r7, #4]
- 450 0018 5A1C adds r2, r3, #1
- 451 001a 7A60 str r2, [r7, #4]
- 452 .loc 1 98 29
- 453 001c 1A78 ldrb r2, [r3] @ zero_extendqisi2
- 454 .loc 1 98 27
- 455 001e BB7B ldrb r3, [r7, #14]
- 456 0020 5340 eors r3, r3, r2
- 457 0022 DBB2 uxtb r3, r3
- 458 .loc 1 98 16
- 459 0024 BB60 str r3, [r7, #8]
- 99:Core/Src/soft_crc.c **** uchCRCLo = uchCRCHi ^ auchCRCHi[uIndex];
- 460 .loc 1 99 40
- 461 0026 0F4A ldr r2, .L11
- 462 0028 BB68 ldr r3, [r7, #8]
- 463 002a 1344 add r3, r3, r2
- 464 002c 1A78 ldrb r2, [r3] @ zero_extendqisi2
- 465 .loc 1 99 18
- 466 002e FB7B ldrb r3, [r7, #15]
- 467 0030 5340 eors r3, r3, r2
- 468 0032 BB73 strb r3, [r7, #14]
- 100:Core/Src/soft_crc.c **** uchCRCHi = auchCRCLo[uIndex];
- 469 .loc 1 100 18
- 470 0034 0C4A ldr r2, .L11+4
- 471 0036 BB68 ldr r3, [r7, #8]
- 472 0038 1344 add r3, r3, r2
- 473 003a 1B78 ldrb r3, [r3]
- 474 003c FB73 strb r3, [r7, #15]
- 475 .L8:
- 96:Core/Src/soft_crc.c **** {
- 476 .loc 1 96 21
- 477 003e 7B88 ldrh r3, [r7, #2]
- 478 0040 5A1E subs r2, r3, #1
- 479 0042 7A80 strh r2, [r7, #2] @ movhi
- 96:Core/Src/soft_crc.c **** {
- 480 .loc 1 96 11
- 481 0044 002B cmp r3, #0
- 482 0046 E6D1 bne .L9
- 101:Core/Src/soft_crc.c **** }
- 102:Core/Src/soft_crc.c **** return (uchCRCHi << 8 | uchCRCLo);
- 483 .loc 1 102 22
- 484 0048 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
- 485 004a 1B02 lsls r3, r3, #8
- 486 .loc 1 102 27
- 487 004c 1AB2 sxth r2, r3
- ARM GAS C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s page 13
- 488 004e BB7B ldrb r3, [r7, #14] @ zero_extendqisi2
- 489 0050 1BB2 sxth r3, r3
- 490 0052 1343 orrs r3, r3, r2
- 491 0054 1BB2 sxth r3, r3
- 492 0056 9BB2 uxth r3, r3
- 103:Core/Src/soft_crc.c **** }...
- 493 .loc 1 103 1
- 494 0058 1846 mov r0, r3
- 495 005a 1437 adds r7, r7, #20
- 496 .LCFI9:
- 497 .cfi_def_cfa_offset 4
- 498 005c BD46 mov sp, r7
- 499 .LCFI10:
- 500 .cfi_def_cfa_register 13
- 501 @ sp needed
- 502 005e 5DF8047B ldr r7, [sp], #4
- 503 .LCFI11:
- 504 .cfi_restore 7
- 505 .cfi_def_cfa_offset 0
- 506 0062 7047 bx lr
- 507 .L12:
- 508 .align 2
- 509 .L11:
- 510 0064 00000000 .word auchCRCHi
- 511 0068 00000000 .word auchCRCLo
- 512 .cfi_endproc
- 513 .LFE236:
- 515 .text
- 516 .Letext0:
- 517 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
- 518 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
- ARM GAS C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s page 14
- DEFINED SYMBOLS
- *ABS*:00000000 soft_crc.c
- C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s:24 .rodata.ccitt_table:00000000 ccitt_table
- C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s:21 .rodata.ccitt_table:00000000 $d
- C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s:282 .text.crc_ccitt:00000000 $t
- C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s:288 .text.crc_ccitt:00000000 crc_ccitt
- C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s:364 .text.crc_ccitt:00000048 $d
- C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s:373 .rodata.auchCRCHi:00000000 auchCRCHi
- C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s:370 .rodata.auchCRCHi:00000000 $d
- C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s:396 .rodata.auchCRCLo:00000000 auchCRCLo
- C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s:393 .rodata.auchCRCLo:00000000 $d
- C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s:413 .text.Get_Crc16:00000000 $t
- C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s:419 .text.Get_Crc16:00000000 Get_Crc16
- C:\Users\10728\AppData\Local\Temp\ccPTv0Ry.s:510 .text.Get_Crc16:00000064 $d
- NO UNDEFINED SYMBOLS
|