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

📄 _crc_algs.lst

📁 用TI单片机MSP430系列写的CRC检验程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
    129    000012 774B                 MOV.B           @r_pmsg+,r_msg
    130    000014 784B                 MOV.B           @r_pmsg+,r_tmp
    131    000016 8810                 SWPB            r_tmp
    132    000018 07D8                 BIS             r_tmp,r_msg       ;
                                                              OR
    133    00001A 0CE7                 XOR             r_msg,r_crc
    134    00001C              
    135    00001C 3842                 MOV             #8,r_bitcnt
    136    00001E              _outter_loop
    137    00001E 774B                 MOV.B           @r_pmsg+,r_msg
    138    000020 0948                 MOV             r_bitcnt,r_j
    139    000022              _inner_loop
    140    000022 0711                 RRA             r_msg
    141    000024 0C10                 RRC             r_crc
    142    000026 0128                 JNC             _continue
    143    000028 0CEE                 XOR             r_poly,r_crc
    144    00002A              _continue
    145    00002A 1983                 DEC             r_j
    146    00002C FA23                 JNZ             _inner_loop
    147    00002E 1A83                 DEC             r_msg_size
    148    000030 F623                 JNZ             _outter_loop   
                                                                        
    149    000032              #if (CRC16R_FINAL_XOR != 0)
    151    000032              #endif
    152    000032 3B41                 POP             R11
    153    000034 3A41                 POP             R10
    154    000036 3941                 POP             R9
    155    000038 3841                 POP             R8
    156    00003A 3741                 POP             R7
    157    00003C 3041                 RET
    158    00003E              
    159    00003E                      ;crc is already in R12, return
                                register
    160    00003E              
    161    00003E              #undef  r_crc           
    162    00003E              #undef  r_poly
    163    00003E              #undef  r_msg           
    164    00003E              #undef  r_tmp           
    165    00003E              #undef  r_bitcnt        
    166    00003E              #undef  r_j             
    167    00003E              #undef  r_msg_size     
    168    00003E              #undef  r_pmsg  
    169    00003E              
    170    00003E                      ENDMOD
##############################
#          CRC:C74           #
#        Errors:   0         #
#        Warnings: 0         #
#         Bytes: 62          #
##############################



###############################################################################
#                                                                             #
#     IAR Systems MSP430 Assembler V2.21B/W32  17/Aug/2004  19:23:25          #
#     Copyright 1996-2003 IAR Systems. All rights reserved.                   #
#                                                                             #
#           Source file   =  C:\Program Files\IAR Systems\Embedded Workbench 3.2\myProjects\CRC\src\_crc_algs.s43#
#           List file     =  C:\Program Files\IAR Systems\Embedded Workbench 3.2\myProjects\CRC\MSP430\Debug\List\_crc_algs.lst#
#           Object file   =  C:\Program Files\IAR Systems\Embedded Workbench 3.2\myProjects\CRC\MSP430\Debug\Obj\_crc_algs.r43#
#           Command line  =  -OC:\Program Files\IAR Systems\Embedded Workbench 3.2\myProjects\CRC\MSP430\Debug\Obj\ #
#                            -s+ -M<> -w+                                     #
#                            -LC:\Program Files\IAR Systems\Embedded Workbench 3.2\myProjects\CRC\MSP430\Debug\List\ #
#                            -t8                                              #
#                            -IC:\Program Files\IAR Systems\Embedded Workbench 3.2\430\inc\ #
#                            -r                                               #
#                            C:\Program Files\IAR Systems\Embedded Workbench 3.2\myProjects\CRC\src\_crc_algs.s43 #
#                                                                             #
###############################################################################

    171    000000              
    172    000000              ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                               ;;;;;;;;;;;;;;
    173    000000              
    174    000000                      NAME    CRC32_BITWISE
    175    000000              
    176    000000              ;unsigned long __crc32MakeBitByBit(unsigned long
                                crc, unsigned long poly, 
    177    000000              ;                       unsigned char *pmsg,
                                unsigned int msg_size)
    178    000000              
    179    000000                      PUBLIC  __crc32MakeBitwise
    180    000000                      RSEG    CODE
    181    000000              
    182    000000              __crc32MakeBitwise
    183    000000              
    184    000000              #define r_crc_h         R13
    185    000000              #define r_crc_l         R12
    186    000000              #define r_poly_h        R15
    187    000000              #define r_poly_l        R14
    188    000000              
    189    000000              #define r_msg           R7
    190    000000              #define r_tmp           R8
    191    000000              #define r_bitcnt        R8
    192    000000              #define r_j             R9
    193    000000              #define r_msg_size      R10
    194    000000              #define r_pmsg          R11
    195    000000              
    196    000000              _a
    197    000000 0712                 PUSH    R7
    198    000002 0812                 PUSH    R8
    199    000004 0912                 PUSH    R9
    200    000006 0A12                 PUSH    R10
    201    000008 0B12                 PUSH    R11
    202    00000A              _b
    203    00000A 1B410C00             MOV             (_b-_a+2)(SP),r_pmsg   
                                                            ; CAREFUL, frame
                                                            pointer may change 
                                                               
    204    00000E 1A410E00             MOV             (_b-_a+4)(SP),r_msg_size
                                                                   ; CAREFUL,
                                                            frame pointer may
                                                            change    
                                                            
    205    000012              
    206    000012 774B                 MOV.B           @r_pmsg+,r_msg
    207    000014 8710                 SWPB            r_msg
    208    000016 784B                 MOV.B           @r_pmsg+,r_tmp
    209    000018 07D8                 BIS             r_tmp,r_msg       ;
                                                              OR
    210    00001A 0DE7                 XOR             r_msg,r_crc_h
    211    00001C                      
    212    00001C 774B                 MOV.B           @r_pmsg+,r_msg
    213    00001E 8710                 SWPB            r_msg
    214    000020 784B                 MOV.B           @r_pmsg+,r_tmp
    215    000022 07D8                 BIS             r_tmp,r_msg       ;
                                                              OR
    216    000024 0CE7                 XOR             r_msg,r_crc_l       
                                                              
    217    000026                      
    218    000026 3842                 MOV             #8,r_bitcnt
    219    000028              _outter_loop
    220    000028 774B                 MOV.B           @r_pmsg+,r_msg
    221    00002A 8710                 SWPB            r_msg
    222    00002C 0948                 MOV             r_bitcnt,r_j
    223    00002E              _inner_loop
    224    00002E 0757                 RLA             r_msg
    225    000030 0C6C                 RLC             r_crc_l
    226    000032 0D6D                 RLC             r_crc_h 
    227    000034 0228                 JNC             _continue
    228    000036 0DEF                 XOR             r_poly_h,r_crc_h
    229    000038 0CEE                 XOR             r_poly_l,r_crc_l       
                                                                 
    230    00003A              _continue
    231    00003A 1983                 DEC             r_j
    232    00003C F823                 JNZ             _inner_loop
    233    00003E 1A83                 DEC             r_msg_size
    234    000040 F323                 JNZ             _outter_loop
    235    000042              #if (CRC32_FINAL_XOR != 0)
    236    000042 3DE3                 XOR             #(CRC32_FINAL_XOR>>16),r
 _crc_h
    237    000044 3CE3                 XOR             #(CRC32_FINAL_XOR&0xFFFF
 ),r_crc_l
    238    000046              #endif
    239    000046 3B41                 POP             R11
    240    000048 3A41                 POP             R10
    241    00004A 3941                 POP             R9
    242    00004C 3841                 POP             R8
    243    00004E 3741                 POP             R7
    244    000050 3041                 RET
    245    000052              
    246    000052                      ;crc is already in R13:R12, return
                                registers
    247    000052              
    248    000052              #undef  r_crc_h         
    249    000052              #undef  r_crc_l         
    250    000052              #undef  r_poly_h        
    251    000052              #undef  r_poly_l        
    252    000052              #undef  r_msg           
    253    000052              #undef  r_tmp           
    254    000052              #undef  r_bitcnt        
    255    000052              #undef  r_j             
    256    000052              #undef  r_msg_size      
    257    000052              #undef  r_pmsg          
    258    000052                      
    259    000052                      ENDMOD
##############################
#          CRC:BB5F          #
#        Errors:   0         #
#        Warnings: 0         #
#         Bytes: 82          #
##############################



###############################################################################
#                                                                             #
#     IAR Systems MSP430 Assembler V2.21B/W32  17/Aug/2004  19:23:25          #
#     Copyright 1996-2003 IAR Systems. All rights reserved.                   #
#                                                                             #
#           Source file   =  C:\Program Files\IAR Systems\Embedded Workbench 3.2\myProjects\CRC\src\_crc_algs.s43#
#           List file     =  C:\Program Files\IAR Systems\Embedded Workbench 3.2\myProjects\CRC\MSP430\Debug\List\_crc_algs.lst#
#           Object file   =  C:\Program Files\IAR Systems\Embedded Workbench 3.2\myProjects\CRC\MSP430\Debug\Obj\_crc_algs.r43#
#           Command line  =  -OC:\Program Files\IAR Systems\Embedded Workbench 3.2\myProjects\CRC\MSP430\Debug\Obj\ #
#                            -s+ -M<> -w+                                     #
#                            -LC:\Program Files\IAR Systems\Embedded Workbench 3.2\myProjects\CRC\MSP430\Debug\List\ #
#                            -t8                                              #
#                            -IC:\Program Files\IAR Systems\Embedded Workbench 3.2\430\inc\ #
#                            -r                                               #
#                            C:\Program Files\IAR Systems\Embedded Workbench 3.2\myProjects\CRC\src\_crc_algs.s43 #
#                                                                             #
###############################################################################

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -