| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195 |
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cco7lAgg.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 0000 .short 0
- 26 0002 2110 .short 4129
- 27 0004 4220 .short 8258
- 28 0006 6330 .short 12387
- 29 0008 8440 .short 16516
- 30 000a A550 .short 20645
- 31 000c C660 .short 24774
- 32 000e E770 .short 28903
- 33 0010 0881 .short -32504
- 34 0012 2991 .short -28375
- 35 0014 4AA1 .short -24246
- 36 0016 6BB1 .short -20117
- 37 0018 8CC1 .short -15988
- 38 001a ADD1 .short -11859
- 39 001c CEE1 .short -7730
- 40 001e EFF1 .short -3601
- 41 0020 3112 .short 4657
- 42 0022 1002 .short 528
- 43 0024 7332 .short 12915
- 44 0026 5222 .short 8786
- 45 0028 B552 .short 21173
- 46 002a 9442 .short 17044
- 47 002c F772 .short 29431
- 48 002e D662 .short 25302
- 49 0030 3993 .short -27847
- 50 0032 1883 .short -31976
- 51 0034 7BB3 .short -19589
- 52 0036 5AA3 .short -23718
- 53 0038 BDD3 .short -11331
- 54 003a 9CC3 .short -15460
- 55 003c FFF3 .short -3073
- 56 003e DEE3 .short -7202
- 57 0040 6224 .short 9314
- 58 0042 4334 .short 13379
- 59 0044 2004 .short 1056
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s page 2
- 60 0046 0114 .short 5121
- 61 0048 E664 .short 25830
- 62 004a C774 .short 29895
- 63 004c A444 .short 17572
- 64 004e 8554 .short 21637
- 65 0050 6AA5 .short -23190
- 66 0052 4BB5 .short -19125
- 67 0054 2885 .short -31448
- 68 0056 0995 .short -27383
- 69 0058 EEE5 .short -6674
- 70 005a CFF5 .short -2609
- 71 005c ACC5 .short -14932
- 72 005e 8DD5 .short -10867
- 73 0060 5336 .short 13907
- 74 0062 7226 .short 9842
- 75 0064 1116 .short 5649
- 76 0066 3006 .short 1584
- 77 0068 D776 .short 30423
- 78 006a F666 .short 26358
- 79 006c 9556 .short 22165
- 80 006e B446 .short 18100
- 81 0070 5BB7 .short -18597
- 82 0072 7AA7 .short -22662
- 83 0074 1997 .short -26855
- 84 0076 3887 .short -30920
- 85 0078 DFF7 .short -2081
- 86 007a FEE7 .short -6146
- 87 007c 9DD7 .short -10339
- 88 007e BCC7 .short -14404
- 89 0080 C448 .short 18628
- 90 0082 E558 .short 22757
- 91 0084 8668 .short 26758
- 92 0086 A778 .short 30887
- 93 0088 4008 .short 2112
- 94 008a 6118 .short 6241
- 95 008c 0228 .short 10242
- 96 008e 2338 .short 14371
- 97 0090 CCC9 .short -13876
- 98 0092 EDD9 .short -9747
- 99 0094 8EE9 .short -5746
- 100 0096 AFF9 .short -1617
- 101 0098 4889 .short -30392
- 102 009a 6999 .short -26263
- 103 009c 0AA9 .short -22262
- 104 009e 2BB9 .short -18133
- 105 00a0 F55A .short 23285
- 106 00a2 D44A .short 19156
- 107 00a4 B77A .short 31415
- 108 00a6 966A .short 27286
- 109 00a8 711A .short 6769
- 110 00aa 500A .short 2640
- 111 00ac 333A .short 14899
- 112 00ae 122A .short 10770
- 113 00b0 FDDB .short -9219
- 114 00b2 DCCB .short -13348
- 115 00b4 BFFB .short -1089
- 116 00b6 9EEB .short -5218
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s page 3
- 117 00b8 799B .short -25735
- 118 00ba 588B .short -29864
- 119 00bc 3BBB .short -17605
- 120 00be 1AAB .short -21734
- 121 00c0 A66C .short 27814
- 122 00c2 877C .short 31879
- 123 00c4 E44C .short 19684
- 124 00c6 C55C .short 23749
- 125 00c8 222C .short 11298
- 126 00ca 033C .short 15363
- 127 00cc 600C .short 3168
- 128 00ce 411C .short 7233
- 129 00d0 AEED .short -4690
- 130 00d2 8FFD .short -625
- 131 00d4 ECCD .short -12820
- 132 00d6 CDDD .short -8755
- 133 00d8 2AAD .short -21206
- 134 00da 0BBD .short -17141
- 135 00dc 688D .short -29336
- 136 00de 499D .short -25271
- 137 00e0 977E .short 32407
- 138 00e2 B66E .short 28342
- 139 00e4 D55E .short 24277
- 140 00e6 F44E .short 20212
- 141 00e8 133E .short 15891
- 142 00ea 322E .short 11826
- 143 00ec 511E .short 7761
- 144 00ee 700E .short 3696
- 145 00f0 9FFF .short -97
- 146 00f2 BEEF .short -4162
- 147 00f4 DDDF .short -8227
- 148 00f6 FCCF .short -12292
- 149 00f8 1BBF .short -16613
- 150 00fa 3AAF .short -20678
- 151 00fc 599F .short -24743
- 152 00fe 788F .short -28808
- 153 0100 8891 .short -28280
- 154 0102 A981 .short -32343
- 155 0104 CAB1 .short -20022
- 156 0106 EBA1 .short -24085
- 157 0108 0CD1 .short -12020
- 158 010a 2DC1 .short -16083
- 159 010c 4EF1 .short -3762
- 160 010e 6FE1 .short -7825
- 161 0110 8010 .short 4224
- 162 0112 A100 .short 161
- 163 0114 C230 .short 12482
- 164 0116 E320 .short 8419
- 165 0118 0450 .short 20484
- 166 011a 2540 .short 16421
- 167 011c 4670 .short 28742
- 168 011e 6760 .short 24679
- 169 0120 B983 .short -31815
- 170 0122 9893 .short -27752
- 171 0124 FBA3 .short -23557
- 172 0126 DAB3 .short -19494
- 173 0128 3DC3 .short -15555
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s page 4
- 174 012a 1CD3 .short -11492
- 175 012c 7FE3 .short -7297
- 176 012e 5EF3 .short -3234
- 177 0130 B102 .short 689
- 178 0132 9012 .short 4752
- 179 0134 F322 .short 8947
- 180 0136 D232 .short 13010
- 181 0138 3542 .short 16949
- 182 013a 1452 .short 21012
- 183 013c 7762 .short 25207
- 184 013e 5672 .short 29270
- 185 0140 EAB5 .short -18966
- 186 0142 CBA5 .short -23093
- 187 0144 A895 .short -27224
- 188 0146 8985 .short -31351
- 189 0148 6EF5 .short -2706
- 190 014a 4FE5 .short -6833
- 191 014c 2CD5 .short -10964
- 192 014e 0DC5 .short -15091
- 193 0150 E234 .short 13538
- 194 0152 C324 .short 9411
- 195 0154 A014 .short 5280
- 196 0156 8104 .short 1153
- 197 0158 6674 .short 29798
- 198 015a 4764 .short 25671
- 199 015c 2454 .short 21540
- 200 015e 0544 .short 17413
- 201 0160 DBA7 .short -22565
- 202 0162 FAB7 .short -18438
- 203 0164 9987 .short -30823
- 204 0166 B897 .short -26696
- 205 0168 5FE7 .short -6305
- 206 016a 7EF7 .short -2178
- 207 016c 1DC7 .short -14563
- 208 016e 3CD7 .short -10436
- 209 0170 D326 .short 9939
- 210 0172 F236 .short 14066
- 211 0174 9106 .short 1681
- 212 0176 B016 .short 5808
- 213 0178 5766 .short 26199
- 214 017a 7676 .short 30326
- 215 017c 1546 .short 17941
- 216 017e 3456 .short 22068
- 217 0180 4CD9 .short -9908
- 218 0182 6DC9 .short -13971
- 219 0184 0EF9 .short -1778
- 220 0186 2FE9 .short -5841
- 221 0188 C899 .short -26168
- 222 018a E989 .short -30231
- 223 018c 8AB9 .short -18038
- 224 018e ABA9 .short -22101
- 225 0190 4458 .short 22596
- 226 0192 6548 .short 18533
- 227 0194 0678 .short 30726
- 228 0196 2768 .short 26663
- 229 0198 C018 .short 6336
- 230 019a E108 .short 2273
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s page 5
- 231 019c 8238 .short 14466
- 232 019e A328 .short 10403
- 233 01a0 7DCB .short -13443
- 234 01a2 5CDB .short -9380
- 235 01a4 3FEB .short -5313
- 236 01a6 1EFB .short -1250
- 237 01a8 F98B .short -29703
- 238 01aa D89B .short -25640
- 239 01ac BBAB .short -21573
- 240 01ae 9ABB .short -17510
- 241 01b0 754A .short 19061
- 242 01b2 545A .short 23124
- 243 01b4 376A .short 27191
- 244 01b6 167A .short 31254
- 245 01b8 F10A .short 2801
- 246 01ba D01A .short 6864
- 247 01bc B32A .short 10931
- 248 01be 923A .short 14994
- 249 01c0 2EFD .short -722
- 250 01c2 0FED .short -4849
- 251 01c4 6CDD .short -8852
- 252 01c6 4DCD .short -12979
- 253 01c8 AABD .short -16982
- 254 01ca 8BAD .short -21109
- 255 01cc E89D .short -25112
- 256 01ce C98D .short -29239
- 257 01d0 267C .short 31782
- 258 01d2 076C .short 27655
- 259 01d4 645C .short 23652
- 260 01d6 454C .short 19525
- 261 01d8 A23C .short 15522
- 262 01da 832C .short 11395
- 263 01dc E01C .short 7392
- 264 01de C10C .short 3265
- 265 01e0 1FEF .short -4321
- 266 01e2 3EFF .short -194
- 267 01e4 5DCF .short -12451
- 268 01e6 7CDF .short -8324
- 269 01e8 9BAF .short -20581
- 270 01ea BABF .short -16454
- 271 01ec D98F .short -28711
- 272 01ee F89F .short -24584
- 273 01f0 176E .short 28183
- 274 01f2 367E .short 32310
- 275 01f4 554E .short 20053
- 276 01f6 745E .short 24180
- 277 01f8 932E .short 11923
- 278 01fa B23E .short 16050
- 279 01fc D10E .short 3793
- 280 01fe F01E .short 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\zl835\AppData\Local\Temp\cco7lAgg.s page 6
- 289 .LFB130:
- 290 .file 1 "user_src/soft_crc.c"
- 1:user_src/soft_crc.c **** #include "soft_crc.h"
- 2:user_src/soft_crc.c **** #include "stm32f3xx_hal.h"
- 3:user_src/soft_crc.c **** //32����
- 4:user_src/soft_crc.c **** const unsigned short ccitt_table[256] = {0x0000, 0x1021, 0x2042, 0x3063, 0x4084,
- 5:user_src/soft_crc.c **** 0x50A5, 0x60C6, 0x70E7, 0x8108, 0x9129, 0xA14A, 0xB16B, 0xC18C, 0xD1AD, 0xE1CE,
- 6:user_src/soft_crc.c **** 0xF1EF, 0x1231, 0x0210, 0x3273, 0x2252, 0x52B5, 0x4294, 0x72F7, 0x62D6, 0x9339,
- 7:user_src/soft_crc.c **** 0x8318, 0xB37B, 0xA35A, 0xD3BD, 0xC39C, 0xF3FF, 0xE3DE, 0x2462, 0x3443, 0x0420,
- 8:user_src/soft_crc.c **** 0x1401, 0x64E6, 0x74C7, 0x44A4, 0x5485, 0xA56A, 0xB54B, 0x8528, 0x9509, 0xE5EE,
- 9:user_src/soft_crc.c **** 0xF5CF, 0xC5AC, 0xD58D, 0x3653, 0x2672, 0x1611, 0x0630, 0x76D7, 0x66F6, 0x5695,
- 10:user_src/soft_crc.c **** 0x46B4, 0xB75B, 0xA77A, 0x9719, 0x8738, 0xF7DF, 0xE7FE, 0xD79D, 0xC7BC, 0x48C4,
- 11:user_src/soft_crc.c **** 0x58E5, 0x6886, 0x78A7, 0x0840, 0x1861, 0x2802, 0x3823, 0xC9CC, 0xD9ED, 0xE98E,
- 12:user_src/soft_crc.c **** 0xF9AF, 0x8948, 0x9969, 0xA90A, 0xB92B, 0x5AF5, 0x4AD4, 0x7AB7, 0x6A96, 0x1A71,
- 13:user_src/soft_crc.c **** 0x0A50, 0x3A33, 0x2A12, 0xDBFD, 0xCBDC, 0xFBBF, 0xEB9E, 0x9B79, 0x8B58, 0xBB3B,
- 14:user_src/soft_crc.c **** 0xAB1A, 0x6CA6, 0x7C87, 0x4CE4, 0x5CC5, 0x2C22, 0x3C03, 0x0C60, 0x1C41, 0xEDAE,
- 15:user_src/soft_crc.c **** 0xFD8F, 0xCDEC, 0xDDCD, 0xAD2A, 0xBD0B, 0x8D68, 0x9D49, 0x7E97, 0x6EB6, 0x5ED5,
- 16:user_src/soft_crc.c **** 0x4EF4, 0x3E13, 0x2E32, 0x1E51, 0x0E70, 0xFF9F, 0xEFBE, 0xDFDD, 0xCFFC, 0xBF1B,
- 17:user_src/soft_crc.c **** 0xAF3A, 0x9F59, 0x8F78, 0x9188, 0x81A9, 0xB1CA, 0xA1EB, 0xD10C, 0xC12D, 0xF14E,
- 18:user_src/soft_crc.c **** 0xE16F, 0x1080, 0x00A1, 0x30C2, 0x20E3, 0x5004, 0x4025, 0x7046, 0x6067, 0x83B9,
- 19:user_src/soft_crc.c **** 0x9398, 0xA3FB, 0xB3DA, 0xC33D, 0xD31C, 0xE37F, 0xF35E, 0x02B1, 0x1290, 0x22F3,
- 20:user_src/soft_crc.c **** 0x32D2, 0x4235, 0x5214, 0x6277, 0x7256, 0xB5EA, 0xA5CB, 0x95A8, 0x8589, 0xF56E,
- 21:user_src/soft_crc.c **** 0xE54F, 0xD52C, 0xC50D, 0x34E2, 0x24C3, 0x14A0, 0x0481, 0x7466, 0x6447, 0x5424,
- 22:user_src/soft_crc.c **** 0x4405, 0xA7DB, 0xB7FA, 0x8799, 0x97B8, 0xE75F, 0xF77E, 0xC71D, 0xD73C, 0x26D3,
- 23:user_src/soft_crc.c **** 0x36F2, 0x0691, 0x16B0, 0x6657, 0x7676, 0x4615, 0x5634, 0xD94C, 0xC96D, 0xF90E,
- 24:user_src/soft_crc.c **** 0xE92F, 0x99C8, 0x89E9, 0xB98A, 0xA9AB, 0x5844, 0x4865, 0x7806, 0x6827, 0x18C0,
- 25:user_src/soft_crc.c **** 0x08E1, 0x3882, 0x28A3, 0xCB7D, 0xDB5C, 0xEB3F, 0xFB1E, 0x8BF9, 0x9BD8, 0xABBB,
- 26:user_src/soft_crc.c **** 0xBB9A, 0x4A75, 0x5A54, 0x6A37, 0x7A16, 0x0AF1, 0x1AD0, 0x2AB3, 0x3A92, 0xFD2E,
- 27:user_src/soft_crc.c **** 0xED0F, 0xDD6C, 0xCD4D, 0xBDAA, 0xAD8B, 0x9DE8, 0x8DC9, 0x7C26, 0x6C07, 0x5C64,
- 28:user_src/soft_crc.c **** 0x4C45, 0x3CA2, 0x2C83, 0x1CE0, 0x0CC1, 0xEF1F, 0xFF3E, 0xCF5D, 0xDF7C, 0xAF9B,
- 29:user_src/soft_crc.c **** 0xBFBA, 0x8FD9, 0x9FF8, 0x6E17, 0x7E36, 0x4E55, 0x5E74, 0x2E93, 0x3EB2, 0x0ED1,
- 30:user_src/soft_crc.c **** 0x1EF0};
- 31:user_src/soft_crc.c ****
- 32:user_src/soft_crc.c **** unsigned int crc_ccitt(unsigned char *q, int len)
- 33:user_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:user_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:user_src/soft_crc.c **** while (len-- > 0)
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s page 7
- 311 .loc 1 35 8
- 312 000e 0FE0 b .L2
- 313 .L3:
- 36:user_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 0A4A ldr r2, .L5
- 329 0022 32F81330 ldrh r3, [r2, r3, lsl #1]
- 330 0026 1A46 mov r2, r3
- 331 .loc 1 36 54
- 332 0028 FB68 ldr r3, [r7, #12]
- 333 002a 1B02 lsls r3, r3, #8
- 334 .loc 1 36 7
- 335 002c 5340 eors r3, r3, r2
- 336 002e FB60 str r3, [r7, #12]
- 337 .L2:
- 35:user_src/soft_crc.c **** while (len-- > 0)
- 338 .loc 1 35 12
- 339 0030 3B68 ldr r3, [r7]
- 340 0032 5A1E subs r2, r3, #1
- 341 0034 3A60 str r2, [r7]
- 35:user_src/soft_crc.c **** while (len-- > 0)
- 342 .loc 1 35 8
- 343 0036 002B cmp r3, #0
- 344 0038 EADC bgt .L3
- 37:user_src/soft_crc.c **** return ~crc;
- 345 .loc 1 37 9
- 346 003a FB68 ldr r3, [r7, #12]
- 347 003c DB43 mvns r3, r3
- 38:user_src/soft_crc.c **** }
- 348 .loc 1 38 1
- 349 003e 1846 mov r0, r3
- 350 0040 1437 adds r7, r7, #20
- 351 .LCFI3:
- 352 .cfi_def_cfa_offset 4
- 353 0042 BD46 mov sp, r7
- 354 .LCFI4:
- 355 .cfi_def_cfa_register 13
- 356 @ sp needed
- 357 0044 5DF8047B ldr r7, [sp], #4
- 358 .LCFI5:
- 359 .cfi_restore 7
- 360 .cfi_def_cfa_offset 0
- 361 0048 7047 bx lr
- 362 .L6:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s page 8
- 363 004a 00BF .align 2
- 364 .L5:
- 365 004c 00000000 .word ccitt_table
- 366 .cfi_endproc
- 367 .LFE130:
- 369 .section .text.crc16_ccitt,"ax",%progbits
- 370 .align 1
- 371 .global crc16_ccitt
- 372 .syntax unified
- 373 .thumb
- 374 .thumb_func
- 376 crc16_ccitt:
- 377 .LFB131:
- 39:user_src/soft_crc.c ****
- 40:user_src/soft_crc.c **** unsigned short crc16_ccitt(unsigned char *buf, unsigned int len)
- 41:user_src/soft_crc.c **** {
- 378 .loc 1 41 1
- 379 .cfi_startproc
- 380 @ args = 0, pretend = 0, frame = 16
- 381 @ frame_needed = 1, uses_anonymous_args = 0
- 382 @ link register save eliminated.
- 383 0000 80B4 push {r7}
- 384 .LCFI6:
- 385 .cfi_def_cfa_offset 4
- 386 .cfi_offset 7, -4
- 387 0002 85B0 sub sp, sp, #20
- 388 .LCFI7:
- 389 .cfi_def_cfa_offset 24
- 390 0004 00AF add r7, sp, #0
- 391 .LCFI8:
- 392 .cfi_def_cfa_register 7
- 393 0006 7860 str r0, [r7, #4]
- 394 0008 3960 str r1, [r7]
- 42:user_src/soft_crc.c **** unsigned int counter;
- 43:user_src/soft_crc.c **** unsigned short crc = 0;
- 395 .loc 1 43 20
- 396 000a 0023 movs r3, #0
- 397 000c 7B81 strh r3, [r7, #10] @ movhi
- 44:user_src/soft_crc.c **** for( counter = 0; counter < len; counter++)
- 398 .loc 1 44 18
- 399 000e 0023 movs r3, #0
- 400 0010 FB60 str r3, [r7, #12]
- 401 .loc 1 44 5
- 402 0012 16E0 b .L8
- 403 .L9:
- 45:user_src/soft_crc.c **** crc = (crc<<8) ^ ccitt_table[((crc>>8) ^ *(unsigned char*)buf++)&0x00FF];
- 404 .loc 1 45 19 discriminator 3
- 405 0014 7B89 ldrh r3, [r7, #10]
- 406 0016 1B02 lsls r3, r3, #8
- 407 .loc 1 45 24 discriminator 3
- 408 0018 1AB2 sxth r2, r3
- 409 .loc 1 45 43 discriminator 3
- 410 001a 7B89 ldrh r3, [r7, #10]
- 411 001c 1B0A lsrs r3, r3, #8
- 412 001e 9BB2 uxth r3, r3
- 413 0020 1846 mov r0, r3
- 414 .loc 1 45 51 discriminator 3
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s page 9
- 415 0022 7B68 ldr r3, [r7, #4]
- 416 0024 591C adds r1, r3, #1
- 417 0026 7960 str r1, [r7, #4]
- 418 .loc 1 45 50 discriminator 3
- 419 0028 1B78 ldrb r3, [r3] @ zero_extendqisi2
- 420 .loc 1 45 48 discriminator 3
- 421 002a 4340 eors r3, r3, r0
- 422 .loc 1 45 73 discriminator 3
- 423 002c DBB2 uxtb r3, r3
- 424 .loc 1 45 37 discriminator 3
- 425 002e 0A49 ldr r1, .L11
- 426 0030 31F81330 ldrh r3, [r1, r3, lsl #1]
- 427 0034 1BB2 sxth r3, r3
- 428 .loc 1 45 24 discriminator 3
- 429 0036 5340 eors r3, r3, r2
- 430 0038 1BB2 sxth r3, r3
- 431 .loc 1 45 13 discriminator 3
- 432 003a 7B81 strh r3, [r7, #10] @ movhi
- 44:user_src/soft_crc.c **** for( counter = 0; counter < len; counter++)
- 433 .loc 1 44 45 discriminator 3
- 434 003c FB68 ldr r3, [r7, #12]
- 435 003e 0133 adds r3, r3, #1
- 436 0040 FB60 str r3, [r7, #12]
- 437 .L8:
- 44:user_src/soft_crc.c **** for( counter = 0; counter < len; counter++)
- 438 .loc 1 44 5 discriminator 1
- 439 0042 FA68 ldr r2, [r7, #12]
- 440 0044 3B68 ldr r3, [r7]
- 441 0046 9A42 cmp r2, r3
- 442 0048 E4D3 bcc .L9
- 46:user_src/soft_crc.c ****
- 47:user_src/soft_crc.c **** return crc;
- 443 .loc 1 47 12
- 444 004a 7B89 ldrh r3, [r7, #10]
- 48:user_src/soft_crc.c **** }
- 445 .loc 1 48 1
- 446 004c 1846 mov r0, r3
- 447 004e 1437 adds r7, r7, #20
- 448 .LCFI9:
- 449 .cfi_def_cfa_offset 4
- 450 0050 BD46 mov sp, r7
- 451 .LCFI10:
- 452 .cfi_def_cfa_register 13
- 453 @ sp needed
- 454 0052 5DF8047B ldr r7, [sp], #4
- 455 .LCFI11:
- 456 .cfi_restore 7
- 457 .cfi_def_cfa_offset 0
- 458 0056 7047 bx lr
- 459 .L12:
- 460 .align 2
- 461 .L11:
- 462 0058 00000000 .word ccitt_table
- 463 .cfi_endproc
- 464 .LFE131:
- 466 .global auchCRCHi
- 467 .section .rodata.auchCRCHi,"a"
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s page 10
- 468 .align 2
- 471 auchCRCHi:
- 472 0000 00C18140 .ascii "\000\301\201@\001\300\200A\001\300\200A\000\301\201"
- 472 01C08041
- 472 01C08041
- 472 00C181
- 473 000f 4001C080 .ascii "@\001\300\200A\000\301\201@\000\301\201@\001\300\200"
- 473 4100C181
- 473 4000C181
- 473 4001C080
- 474 001f 4101C080 .ascii "A\001\300\200A\000\301\201@\000\301\201@\001\300\200"
- 474 4100C181
- 474 4000C181
- 474 4001C080
- 475 002f 4100C181 .ascii "A\000\301\201@\001\300\200A\001\300\200A\000\301\201"
- 475 4001C080
- 475 4101C080
- 475 4100C181
- 476 003f 4001C080 .ascii "@\001\300\200A\000\301\201@\000\301\201@\001\300\200"
- 476 4100C181
- 476 4000C181
- 476 4001C080
- 477 004f 4100C181 .ascii "A\000\301\201@\001\300\200A\001\300\200A\000\301\201"
- 477 4001C080
- 477 4101C080
- 477 4100C181
- 478 005f 4000C181 .ascii "@\000\301\201@\001\300\200A\001\300\200A\000\301\201"
- 478 4001C080
- 478 4101C080
- 478 4100C181
- 479 006f 4001C080 .ascii "@\001\300\200A\000\301\201@\000\301\201@\001\300\200"
- 479 4100C181
- 479 4000C181
- 479 4001C080
- 480 007f 4101C080 .ascii "A\001\300\200A\000\301\201@\000\301\201@\001\300\200"
- 480 4100C181
- 480 4000C181
- 480 4001C080
- 481 008f 4100C181 .ascii "A\000\301\201@\001\300\200A\001\300\200A\000\301\201"
- 481 4001C080
- 481 4101C080
- 481 4100C181
- 482 009f 4000C181 .ascii "@\000\301\201@\001\300\200A\001\300\200A\000\301\201"
- 482 4001C080
- 482 4101C080
- 482 4100C181
- 483 00af 4001C080 .ascii "@\001\300\200A\000\301\201@\000\301\201@\001\300\200"
- 483 4100C181
- 483 4000C181
- 483 4001C080
- 484 00bf 4100C181 .ascii "A\000\301\201@\001\300\200A\001\300\200A\000\301\201"
- 484 4001C080
- 484 4101C080
- 484 4100C181
- 485 00cf 4001C080 .ascii "@\001\300\200A\000\301\201@\000\301\201@\001\300\200"
- 485 4100C181
- 485 4000C181
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s page 11
- 485 4001C080
- 486 00df 4101C080 .ascii "A\001\300\200A\000\301\201@\000\301\201@\001\300\200"
- 486 4100C181
- 486 4000C181
- 486 4001C080
- 487 00ef 4100C181 .ascii "A\000\301\201@\001\300\200A\001\300\200A\000\301\201"
- 487 4001C080
- 487 4101C080
- 487 4100C181
- 488 00ff 40 .ascii "@"
- 489 .global auchCRCLo
- 490 .section .rodata.auchCRCLo,"a"
- 491 .align 2
- 494 auchCRCLo:
- 495 0000 00C0C101 .ascii "\000\300\301\001\303\003\002\302\306\006\007\307\005"
- 495 C30302C2
- 495 C60607C7
- 495 05
- 496 000d C5C404CC .ascii "\305\304\004\314\014\015\315\017\317\316\016\012\312"
- 496 0C0DCD0F
- 496 CFCE0E0A
- 496 CA
- 497 001a CB0BC909 .ascii "\313\013\311\011\010\310\330\030\031\331\033\333\332"
- 497 08C8D818
- 497 19D91BDB
- 497 DA
- 498 0027 1A1EDEDF .ascii "\032\036\336\337\037\335\035\034\334\024\324\325\025"
- 498 1FDD1D1C
- 498 DC14D4D5
- 498 15
- 499 0034 D71716D6 .ascii "\327\027\026\326\322\022\023\323\021\321\320\020\360"
- 499 D21213D3
- 499 11D1D010
- 499 F0
- 500 0041 3031F133 .ascii "01\3613\363\36226\366\3677\36554\364<\374\375=\377?"
- 500 F3F23236
- 500 F6F737F5
- 500 3534F43C
- 500 FCFD3DFF
- 501 0056 3EFEFA3A .ascii ">\376\372:;\3739\371\3708(\350\351)\353+*\352\356./"
- 501 3BFB39F9
- 501 F83828E8
- 501 E929EB2B
- 501 2AEAEE2E
- 502 006b EF2DEDEC .ascii "\357-\355\354,\344$%\345'\347\346&\"\342\343#\341! "
- 502 2CE42425
- 502 E527E7E6
- 502 2622E2E3
- 502 23E12120
- 503 007f E0A06061 .ascii "\340\240`a\241c\243\242bf\246\247g\245ed\244l\254\255"
- 503 A163A3A2
- 503 6266A6A7
- 503 67A56564
- 503 A46CACAD
- 504 0093 6DAF6F6E .ascii "m\257on\256\252jk\253i\251\250hx\270\271y\273{z\272"
- 504 AEAA6A6B
- 504 AB69A9A8
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s page 12
- 504 6878B8B9
- 504 79BB7B7A
- 505 00a8 BE7E7FBF .ascii "\276~\177\277}\275\274|\264tu\265w\267\266vr\262\263"
- 505 7DBDBC7C
- 505 B47475B5
- 505 77B7B676
- 505 72B2B3
- 506 00bb 73B17170 .ascii "s\261qp\260P\220\221Q\223SR\222\226VW\227U\225\224T"
- 506 B0509091
- 506 51935352
- 506 92965657
- 506 97559594
- 507 00d0 9C5C5D9D .ascii "\234\\]\235_\237\236^Z\232\233[\231YX\230\210HI\211"
- 507 5F9F9E5E
- 507 5A9A9B5B
- 507 99595898
- 507 88484989
- 508 00e4 4B8B8A4A .ascii "K\213\212JN\216\217O\215ML\214D\204\205E\207GF\206\202"
- 508 4E8E8F4F
- 508 8D4D4C8C
- 508 44848545
- 508 87474686
- 509 00f9 42438341 .ascii "BC\203A\201\200@"
- 509 818040
- 510 .section .text.Get_Crc16,"ax",%progbits
- 511 .align 1
- 512 .global Get_Crc16
- 513 .syntax unified
- 514 .thumb
- 515 .thumb_func
- 517 Get_Crc16:
- 518 .LFB132:
- 49:user_src/soft_crc.c ****
- 50:user_src/soft_crc.c **** //16����
- 51:user_src/soft_crc.c **** //��λ
- 52:user_src/soft_crc.c **** const uint8_t auchCRCHi[] = {
- 53:user_src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
- 54:user_src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
- 55:user_src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
- 56:user_src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
- 57:user_src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
- 58:user_src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
- 59:user_src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
- 60:user_src/soft_crc.c **** 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
- 61:user_src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
- 62:user_src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
- 63:user_src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
- 64:user_src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
- 65:user_src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
- 66:user_src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
- 67:user_src/soft_crc.c **** 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
- 68:user_src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
- 69:user_src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
- 70:user_src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
- 71:user_src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
- 72:user_src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
- 73:user_src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s page 13
- 74:user_src/soft_crc.c **** 0x00, 0xC1, 0x81, 0x40};
- 75:user_src/soft_crc.c **** //��λ
- 76:user_src/soft_crc.c **** const uint8_t auchCRCLo[] = {
- 77:user_src/soft_crc.c **** 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7,
- 78:user_src/soft_crc.c **** 0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E,
- 79:user_src/soft_crc.c **** 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9,
- 80:user_src/soft_crc.c **** 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC,
- 81:user_src/soft_crc.c **** 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,
- 82:user_src/soft_crc.c **** 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32,
- 83:user_src/soft_crc.c **** 0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D,
- 84:user_src/soft_crc.c **** 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38,
- 85:user_src/soft_crc.c **** 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF,
- 86:user_src/soft_crc.c **** 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,
- 87:user_src/soft_crc.c **** 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1,
- 88:user_src/soft_crc.c **** 0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4,
- 89:user_src/soft_crc.c **** 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB,
- 90:user_src/soft_crc.c **** 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA,
- 91:user_src/soft_crc.c **** 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,
- 92:user_src/soft_crc.c **** 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0,
- 93:user_src/soft_crc.c **** 0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97,
- 94:user_src/soft_crc.c **** 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E,
- 95:user_src/soft_crc.c **** 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89,
- 96:user_src/soft_crc.c **** 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,
- 97:user_src/soft_crc.c **** 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83,
- 98:user_src/soft_crc.c **** 0x41, 0x81, 0x80, 0x40};
- 99:user_src/soft_crc.c ****
- 100:user_src/soft_crc.c **** //��ȡУ��ֵ
- 101:user_src/soft_crc.c **** uint16_t Get_Crc16(uint8_t *puchMsg, uint16_t usDataLen)
- 102:user_src/soft_crc.c **** {
- 519 .loc 1 102 1
- 520 .cfi_startproc
- 521 @ args = 0, pretend = 0, frame = 16
- 522 @ frame_needed = 1, uses_anonymous_args = 0
- 523 @ link register save eliminated.
- 524 0000 80B4 push {r7}
- 525 .LCFI12:
- 526 .cfi_def_cfa_offset 4
- 527 .cfi_offset 7, -4
- 528 0002 85B0 sub sp, sp, #20
- 529 .LCFI13:
- 530 .cfi_def_cfa_offset 24
- 531 0004 00AF add r7, sp, #0
- 532 .LCFI14:
- 533 .cfi_def_cfa_register 7
- 534 0006 7860 str r0, [r7, #4]
- 535 0008 0B46 mov r3, r1
- 536 000a 7B80 strh r3, [r7, #2] @ movhi
- 103:user_src/soft_crc.c **** uint8_t uchCRCHi = 0xFF; //��CRC
- 537 .loc 1 103 13
- 538 000c FF23 movs r3, #255
- 539 000e FB73 strb r3, [r7, #15]
- 104:user_src/soft_crc.c **** uint8_t uchCRCLo = 0xFF; //��CRC
- 540 .loc 1 104 13
- 541 0010 FF23 movs r3, #255
- 542 0012 BB73 strb r3, [r7, #14]
- 105:user_src/soft_crc.c **** uint32_t uIndex; // ѭ������
- 106:user_src/soft_crc.c **** while (usDataLen--) //��Ϣ������
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s page 14
- 543 .loc 1 106 11
- 544 0014 13E0 b .L14
- 545 .L15:
- 107:user_src/soft_crc.c **** {
- 108:user_src/soft_crc.c **** uIndex = uchCRCLo ^ *puchMsg++; //����CRC
- 546 .loc 1 108 37
- 547 0016 7B68 ldr r3, [r7, #4]
- 548 0018 5A1C adds r2, r3, #1
- 549 001a 7A60 str r2, [r7, #4]
- 550 .loc 1 108 29
- 551 001c 1A78 ldrb r2, [r3] @ zero_extendqisi2
- 552 .loc 1 108 27
- 553 001e BB7B ldrb r3, [r7, #14]
- 554 0020 5340 eors r3, r3, r2
- 555 0022 DBB2 uxtb r3, r3
- 556 .loc 1 108 16
- 557 0024 BB60 str r3, [r7, #8]
- 109:user_src/soft_crc.c **** uchCRCLo = uchCRCHi ^ auchCRCHi[uIndex];
- 558 .loc 1 109 40
- 559 0026 0F4A ldr r2, .L17
- 560 0028 BB68 ldr r3, [r7, #8]
- 561 002a 1344 add r3, r3, r2
- 562 002c 1A78 ldrb r2, [r3] @ zero_extendqisi2
- 563 .loc 1 109 18
- 564 002e FB7B ldrb r3, [r7, #15]
- 565 0030 5340 eors r3, r3, r2
- 566 0032 BB73 strb r3, [r7, #14]
- 110:user_src/soft_crc.c **** uchCRCHi = auchCRCLo[uIndex];
- 567 .loc 1 110 18
- 568 0034 0C4A ldr r2, .L17+4
- 569 0036 BB68 ldr r3, [r7, #8]
- 570 0038 1344 add r3, r3, r2
- 571 003a 1B78 ldrb r3, [r3]
- 572 003c FB73 strb r3, [r7, #15]
- 573 .L14:
- 106:user_src/soft_crc.c **** {
- 574 .loc 1 106 21
- 575 003e 7B88 ldrh r3, [r7, #2]
- 576 0040 5A1E subs r2, r3, #1
- 577 0042 7A80 strh r2, [r7, #2] @ movhi
- 106:user_src/soft_crc.c **** {
- 578 .loc 1 106 11
- 579 0044 002B cmp r3, #0
- 580 0046 E6D1 bne .L15
- 111:user_src/soft_crc.c **** }
- 112:user_src/soft_crc.c **** return (uchCRCHi << 8 | uchCRCLo);
- 581 .loc 1 112 22
- 582 0048 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
- 583 004a 1B02 lsls r3, r3, #8
- 584 .loc 1 112 27
- 585 004c 1AB2 sxth r2, r3
- 586 004e BB7B ldrb r3, [r7, #14] @ zero_extendqisi2
- 587 0050 1BB2 sxth r3, r3
- 588 0052 1343 orrs r3, r3, r2
- 589 0054 1BB2 sxth r3, r3
- 590 0056 9BB2 uxth r3, r3
- 113:user_src/soft_crc.c **** }
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s page 15
- 591 .loc 1 113 1
- 592 0058 1846 mov r0, r3
- 593 005a 1437 adds r7, r7, #20
- 594 .LCFI15:
- 595 .cfi_def_cfa_offset 4
- 596 005c BD46 mov sp, r7
- 597 .LCFI16:
- 598 .cfi_def_cfa_register 13
- 599 @ sp needed
- 600 005e 5DF8047B ldr r7, [sp], #4
- 601 .LCFI17:
- 602 .cfi_restore 7
- 603 .cfi_def_cfa_offset 0
- 604 0062 7047 bx lr
- 605 .L18:
- 606 .align 2
- 607 .L17:
- 608 0064 00000000 .word auchCRCHi
- 609 0068 00000000 .word auchCRCLo
- 610 .cfi_endproc
- 611 .LFE132:
- 613 .section .text.crcAddByte,"ax",%progbits
- 614 .align 1
- 615 .global crcAddByte
- 616 .syntax unified
- 617 .thumb
- 618 .thumb_func
- 620 crcAddByte:
- 621 .LFB133:
- 114:user_src/soft_crc.c ****
- 115:user_src/soft_crc.c ****
- 116:user_src/soft_crc.c **** uint16_t crcAddByte( uint16_t crc_val, uint8_t byte )
- 117:user_src/soft_crc.c **** {
- 622 .loc 1 117 1
- 623 .cfi_startproc
- 624 @ args = 0, pretend = 0, frame = 16
- 625 @ frame_needed = 1, uses_anonymous_args = 0
- 626 @ link register save eliminated.
- 627 0000 80B4 push {r7}
- 628 .LCFI18:
- 629 .cfi_def_cfa_offset 4
- 630 .cfi_offset 7, -4
- 631 0002 85B0 sub sp, sp, #20
- 632 .LCFI19:
- 633 .cfi_def_cfa_offset 24
- 634 0004 00AF add r7, sp, #0
- 635 .LCFI20:
- 636 .cfi_def_cfa_register 7
- 637 0006 0346 mov r3, r0
- 638 0008 0A46 mov r2, r1
- 639 000a FB80 strh r3, [r7, #6] @ movhi
- 640 000c 1346 mov r3, r2
- 641 000e 7B71 strb r3, [r7, #5]
- 118:user_src/soft_crc.c **** crc_val ^= ( uint16_t )( ( uint16_t )( byte ) << 8 );
- 642 .loc 1 118 16
- 643 0010 7B79 ldrb r3, [r7, #5] @ zero_extendqisi2
- 644 0012 9BB2 uxth r3, r3
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s page 16
- 645 0014 1B02 lsls r3, r3, #8
- 646 0016 9AB2 uxth r2, r3
- 647 .loc 1 118 13
- 648 0018 FB88 ldrh r3, [r7, #6] @ movhi
- 649 001a 5340 eors r3, r3, r2
- 650 001c FB80 strh r3, [r7, #6] @ movhi
- 651 .LBB2:
- 119:user_src/soft_crc.c **** for ( int j = 0; j < 8; j++ )
- 652 .loc 1 119 15
- 653 001e 0023 movs r3, #0
- 654 0020 FB60 str r3, [r7, #12]
- 655 .loc 1 119 5
- 656 0022 12E0 b .L20
- 657 .L23:
- 120:user_src/soft_crc.c **** {
- 121:user_src/soft_crc.c **** if ( crc_val & 0x8000U )
- 658 .loc 1 121 14
- 659 0024 B7F90630 ldrsh r3, [r7, #6]
- 660 .loc 1 121 12
- 661 0028 002B cmp r3, #0
- 662 002a 08DA bge .L21
- 122:user_src/soft_crc.c **** {
- 123:user_src/soft_crc.c **** crc_val = ( uint16_t )( ( uint16_t )( crc_val << 1 ) ^ 0x1021U );
- 663 .loc 1 123 37
- 664 002c FB88 ldrh r3, [r7, #6] @ movhi
- 665 002e 5B00 lsls r3, r3, #1
- 666 0030 9BB2 uxth r3, r3
- 667 .loc 1 123 21
- 668 0032 83F48153 eor r3, r3, #4128
- 669 0036 83F00103 eor r3, r3, #1
- 670 003a FB80 strh r3, [r7, #6] @ movhi
- 671 003c 02E0 b .L22
- 672 .L21:
- 124:user_src/soft_crc.c **** }
- 125:user_src/soft_crc.c **** else
- 126:user_src/soft_crc.c **** {
- 127:user_src/soft_crc.c **** crc_val = ( uint16_t )( crc_val << 1 );
- 673 .loc 1 127 21
- 674 003e FB88 ldrh r3, [r7, #6] @ movhi
- 675 0040 5B00 lsls r3, r3, #1
- 676 0042 FB80 strh r3, [r7, #6] @ movhi
- 677 .L22:
- 119:user_src/soft_crc.c **** {
- 678 .loc 1 119 30 discriminator 2
- 679 0044 FB68 ldr r3, [r7, #12]
- 680 0046 0133 adds r3, r3, #1
- 681 0048 FB60 str r3, [r7, #12]
- 682 .L20:
- 119:user_src/soft_crc.c **** {
- 683 .loc 1 119 5 discriminator 1
- 684 004a FB68 ldr r3, [r7, #12]
- 685 004c 072B cmp r3, #7
- 686 004e E9DD ble .L23
- 687 .LBE2:
- 128:user_src/soft_crc.c **** }
- 129:user_src/soft_crc.c **** }
- 130:user_src/soft_crc.c **** return crc_val;
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s page 17
- 688 .loc 1 130 12
- 689 0050 FB88 ldrh r3, [r7, #6]
- 131:user_src/soft_crc.c **** }
- 690 .loc 1 131 1
- 691 0052 1846 mov r0, r3
- 692 0054 1437 adds r7, r7, #20
- 693 .LCFI21:
- 694 .cfi_def_cfa_offset 4
- 695 0056 BD46 mov sp, r7
- 696 .LCFI22:
- 697 .cfi_def_cfa_register 13
- 698 @ sp needed
- 699 0058 5DF8047B ldr r7, [sp], #4
- 700 .LCFI23:
- 701 .cfi_restore 7
- 702 .cfi_def_cfa_offset 0
- 703 005c 7047 bx lr
- 704 .cfi_endproc
- 705 .LFE133:
- 707 .section .text.crcAddSignature,"ax",%progbits
- 708 .align 1
- 709 .global crcAddSignature
- 710 .syntax unified
- 711 .thumb
- 712 .thumb_func
- 714 crcAddSignature:
- 715 .LFB134:
- 132:user_src/soft_crc.c **** /*
- 133:user_src/soft_crc.c **** ���� 64Bit ����ǩ��
- 134:user_src/soft_crc.c **** */
- 135:user_src/soft_crc.c **** uint16_t crcAddSignature( uint16_t crc_val, uint64_t data_type_signature )
- 136:user_src/soft_crc.c **** {
- 716 .loc 1 136 1
- 717 .cfi_startproc
- 718 @ args = 0, pretend = 0, frame = 24
- 719 @ frame_needed = 1, uses_anonymous_args = 0
- 720 0000 F0B5 push {r4, r5, r6, r7, lr}
- 721 .LCFI24:
- 722 .cfi_def_cfa_offset 20
- 723 .cfi_offset 4, -20
- 724 .cfi_offset 5, -16
- 725 .cfi_offset 6, -12
- 726 .cfi_offset 7, -8
- 727 .cfi_offset 14, -4
- 728 0002 87B0 sub sp, sp, #28
- 729 .LCFI25:
- 730 .cfi_def_cfa_offset 48
- 731 0004 00AF add r7, sp, #0
- 732 .LCFI26:
- 733 .cfi_def_cfa_register 7
- 734 0006 0146 mov r1, r0
- 735 0008 C7E90023 strd r2, [r7]
- 736 000c 0B46 mov r3, r1 @ movhi
- 737 000e FB81 strh r3, [r7, #14] @ movhi
- 738 .LBB3:
- 137:user_src/soft_crc.c **** for ( int shift_val = 0; shift_val < 64; shift_val += 8 )
- 739 .loc 1 137 15
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s page 18
- 740 0010 0023 movs r3, #0
- 741 0012 7B61 str r3, [r7, #20]
- 742 .loc 1 137 5
- 743 0014 1BE0 b .L26
- 744 .L27:
- 138:user_src/soft_crc.c **** {
- 139:user_src/soft_crc.c **** crc_val = crcAddByte( crc_val, ( uint8_t )( data_type_signature >> shift_val ) );
- 745 .loc 1 139 73 discriminator 3
- 746 0016 D7E90023 ldrd r2, [r7]
- 747 001a 7969 ldr r1, [r7, #20]
- 748 001c C1F12006 rsb r6, r1, #32
- 749 0020 A1F12000 sub r0, r1, #32
- 750 0024 22FA01F4 lsr r4, r2, r1
- 751 0028 03FA06F6 lsl r6, r3, r6
- 752 002c 3443 orrs r4, r4, r6
- 753 002e 23FA00F0 lsr r0, r3, r0
- 754 0032 0443 orrs r4, r4, r0
- 755 0034 23FA01F5 lsr r5, r3, r1
- 756 .loc 1 139 19 discriminator 3
- 757 0038 E2B2 uxtb r2, r4
- 758 003a FB89 ldrh r3, [r7, #14]
- 759 003c 1146 mov r1, r2
- 760 003e 1846 mov r0, r3
- 761 0040 FFF7FEFF bl crcAddByte
- 762 0044 0346 mov r3, r0
- 763 0046 FB81 strh r3, [r7, #14] @ movhi
- 137:user_src/soft_crc.c **** for ( int shift_val = 0; shift_val < 64; shift_val += 8 )
- 764 .loc 1 137 56 discriminator 3
- 765 0048 7B69 ldr r3, [r7, #20]
- 766 004a 0833 adds r3, r3, #8
- 767 004c 7B61 str r3, [r7, #20]
- 768 .L26:
- 137:user_src/soft_crc.c **** for ( int shift_val = 0; shift_val < 64; shift_val += 8 )
- 769 .loc 1 137 5 discriminator 1
- 770 004e 7B69 ldr r3, [r7, #20]
- 771 0050 3F2B cmp r3, #63
- 772 0052 E0DD ble .L27
- 773 .LBE3:
- 140:user_src/soft_crc.c **** }
- 141:user_src/soft_crc.c **** return crc_val;
- 774 .loc 1 141 12
- 775 0054 FB89 ldrh r3, [r7, #14]
- 142:user_src/soft_crc.c **** }
- 776 .loc 1 142 1
- 777 0056 1846 mov r0, r3
- 778 0058 1C37 adds r7, r7, #28
- 779 .LCFI27:
- 780 .cfi_def_cfa_offset 20
- 781 005a BD46 mov sp, r7
- 782 .LCFI28:
- 783 .cfi_def_cfa_register 13
- 784 @ sp needed
- 785 005c F0BD pop {r4, r5, r6, r7, pc}
- 786 .cfi_endproc
- 787 .LFE134:
- 789 .section .text.crcAdd,"ax",%progbits
- 790 .align 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s page 19
- 791 .global crcAdd
- 792 .syntax unified
- 793 .thumb
- 794 .thumb_func
- 796 crcAdd:
- 797 .LFB135:
- 143:user_src/soft_crc.c ****
- 144:user_src/soft_crc.c **** /*
- 145:user_src/soft_crc.c **** ���� Payload ������
- 146:user_src/soft_crc.c **** */
- 147:user_src/soft_crc.c **** uint16_t crcAdd( uint16_t crc_val, const uint8_t *bytes, size_t len )
- 148:user_src/soft_crc.c **** {
- 798 .loc 1 148 1
- 799 .cfi_startproc
- 800 @ args = 0, pretend = 0, frame = 16
- 801 @ frame_needed = 1, uses_anonymous_args = 0
- 802 0000 80B5 push {r7, lr}
- 803 .LCFI29:
- 804 .cfi_def_cfa_offset 8
- 805 .cfi_offset 7, -8
- 806 .cfi_offset 14, -4
- 807 0002 84B0 sub sp, sp, #16
- 808 .LCFI30:
- 809 .cfi_def_cfa_offset 24
- 810 0004 00AF add r7, sp, #0
- 811 .LCFI31:
- 812 .cfi_def_cfa_register 7
- 813 0006 0346 mov r3, r0
- 814 0008 B960 str r1, [r7, #8]
- 815 000a 7A60 str r2, [r7, #4]
- 816 000c FB81 strh r3, [r7, #14] @ movhi
- 149:user_src/soft_crc.c **** while ( len-- )
- 817 .loc 1 149 11
- 818 000e 0AE0 b .L30
- 819 .L31:
- 150:user_src/soft_crc.c **** {
- 151:user_src/soft_crc.c **** crc_val = crcAddByte( crc_val, *bytes++ );
- 820 .loc 1 151 46
- 821 0010 BB68 ldr r3, [r7, #8]
- 822 0012 5A1C adds r2, r3, #1
- 823 0014 BA60 str r2, [r7, #8]
- 824 .loc 1 151 19
- 825 0016 1A78 ldrb r2, [r3] @ zero_extendqisi2
- 826 0018 FB89 ldrh r3, [r7, #14]
- 827 001a 1146 mov r1, r2
- 828 001c 1846 mov r0, r3
- 829 001e FFF7FEFF bl crcAddByte
- 830 0022 0346 mov r3, r0
- 831 0024 FB81 strh r3, [r7, #14] @ movhi
- 832 .L30:
- 149:user_src/soft_crc.c **** while ( len-- )
- 833 .loc 1 149 16
- 834 0026 7B68 ldr r3, [r7, #4]
- 835 0028 5A1E subs r2, r3, #1
- 836 002a 7A60 str r2, [r7, #4]
- 149:user_src/soft_crc.c **** while ( len-- )
- 837 .loc 1 149 11
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s page 20
- 838 002c 002B cmp r3, #0
- 839 002e EFD1 bne .L31
- 152:user_src/soft_crc.c **** }
- 153:user_src/soft_crc.c **** return crc_val;
- 840 .loc 1 153 12
- 841 0030 FB89 ldrh r3, [r7, #14]
- 154:user_src/soft_crc.c **** }
- 842 .loc 1 154 1
- 843 0032 1846 mov r0, r3
- 844 0034 1037 adds r7, r7, #16
- 845 .LCFI32:
- 846 .cfi_def_cfa_offset 8
- 847 0036 BD46 mov sp, r7
- 848 .LCFI33:
- 849 .cfi_def_cfa_register 13
- 850 @ sp needed
- 851 0038 80BD pop {r7, pc}
- 852 .cfi_endproc
- 853 .LFE135:
- 855 .text
- 856 .Letext0:
- 857 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
- 858 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
- 859 .file 4 "d:\\arm-gcc\\lib\\gcc\\arm-none-eabi\\10.3.1\\include\\stddef.h"
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s page 21
- DEFINED SYMBOLS
- *ABS*:00000000 soft_crc.c
- C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s:24 .rodata.ccitt_table:00000000 ccitt_table
- C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s:21 .rodata.ccitt_table:00000000 $d
- C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s:282 .text.crc_ccitt:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s:288 .text.crc_ccitt:00000000 crc_ccitt
- C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s:365 .text.crc_ccitt:0000004c $d
- C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s:370 .text.crc16_ccitt:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s:376 .text.crc16_ccitt:00000000 crc16_ccitt
- C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s:462 .text.crc16_ccitt:00000058 $d
- C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s:471 .rodata.auchCRCHi:00000000 auchCRCHi
- C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s:468 .rodata.auchCRCHi:00000000 $d
- C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s:494 .rodata.auchCRCLo:00000000 auchCRCLo
- C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s:491 .rodata.auchCRCLo:00000000 $d
- C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s:511 .text.Get_Crc16:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s:517 .text.Get_Crc16:00000000 Get_Crc16
- C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s:608 .text.Get_Crc16:00000064 $d
- C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s:614 .text.crcAddByte:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s:620 .text.crcAddByte:00000000 crcAddByte
- C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s:708 .text.crcAddSignature:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s:714 .text.crcAddSignature:00000000 crcAddSignature
- C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s:790 .text.crcAdd:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cco7lAgg.s:796 .text.crcAdd:00000000 crcAdd
- NO UNDEFINED SYMBOLS
|