📄 _crc_algs.lst
字号:
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 + -