📄 _crc_algs.lst
字号:
# Errors: 0 #
# Warnings: 0 #
# Bytes: 48 #
##############################
###############################################################################
# #
# 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 #
# #
###############################################################################
407 000000
408 000000 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;
409 000000
410 000000 NAME CRC32_TABLE
411 000000
412 000000 ;unsigned short __crc32MakeTableMethod(unsigned
long crc, unsigned long *table,
413 000000 ; unsigned
char *pmsg, unsigned int msg_size)
414 000000
415 000000 PUBLIC __crc32MakeTableMethod
416 000000 RSEG CODE
417 000000
418 000000 __crc32MakeTableMethod
419 000000
420 000000 #define r_crc_h R13
421 000000 #define r_crc_l R12
422 000000 #define r_ptable R14
423 000000
424 000000 #define r_mask R7
425 000000 #define r_tmp R8
426 000000 #define r_index R9
427 000000 #define r_msg_size R10
428 000000 #define r_pmsg R11
429 000000
430 000000 _a
431 000000 0712 PUSH R7
432 000002 0812 PUSH R8
433 000004 0912 PUSH R9
434 000006 0A12 PUSH R10
435 000008 0B12 PUSH R11
436 00000A _b
437 00000A 1B410C00 MOV (_b-_a+2)(SP),r_pmsg
; CAREFUL, frame
pointer may change
438 00000E 1A410E00 MOV (_b-_a+4)(SP),r_msg_size
; CAREFUL,
frame pointer may
change
439 000012 374000FF MOV #0xFF00,r_mask
440 000016 _loop
441 000016 8D10 SWPB r_crc_h
442 000018 494D MOV.B r_crc_h,r_index
443 00001A 79EB XOR.B @r_pmsg+,r_index
444 00001C 0959 ADD r_index,r_index
445 00001E 0959 ADD r_index,r_index
446 000020 095E ADD r_ptable,r_index
447 000022 8C10 SWPB r_crc_l
448 000024 484C MOV.B r_crc_l,r_tmp
449 000026 0DF7 AND r_mask,r_crc_h
450 000028 0DD8 BIS r_tmp,r_crc_h ; OR
operation
451 00002A 0CF7 AND r_mask,r_crc_l
452 00002C 3CE9 XOR @r_index+,r_crc_l
453 00002E 2DE9 XOR @r_index,r_crc_h
454 000030 1A83 DEC r_msg_size
455 000032 F123 JNZ _loop
456 000034 #if (CRC32_FINAL_XOR != 0)
457 000034 3DE3 XOR #(CRC32_FINAL_XOR>>16),r
_crc_h
458 000036 3CE3 XOR #(CRC32_FINAL_XOR&0xFFFF
),r_crc_l
459 000038 #endif
460 000038 3B41 POP R11
461 00003A 3A41 POP R10
462 00003C 3941 POP R9
463 00003E 3841 POP R8
464 000040 3741 POP R7
465 000042 3041 RET
466 000044
467 000044 ;crc is already in R13:R12, return
register
468 000044
469 000044 #undef r_crc_h
470 000044 #undef r_crc_l
471 000044 #undef r_ptable
472 000044 #undef r_mask
473 000044 #undef r_tmp
474 000044 #undef r_index
475 000044 #undef r_msg_size
476 000044 #undef r_pmsg
477 000044
478 000044 ENDMOD
##############################
# CRC:8232 #
# Errors: 0 #
# Warnings: 0 #
# Bytes: 68 #
##############################
###############################################################################
# #
# 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 #
# #
###############################################################################
479 000000
480 000000 NAME BIT_REFLECT
481 000000
482 000000 ;unsigned long __bitReflect8(unsigned long
data)
483 000000
484 000000 PUBLIC __bitReflect8
485 000000 RSEG CODE
486 000000
487 000000 __bitReflect8
488 000000
489 000000 #define r_data R12
490 000000
491 000000 #define r_bitmask R8
492 000000 #define r_j R9
493 000000 #define r_result R10
494 000000 #define r_bit R11
495 000000
496 000000 0912 PUSH R9
497 000002 0A12 PUSH R10
498 000004 0B12 PUSH R11
499 000006
500 000006 38408000 MOV #0x80,r_bitmask
501 00000A 3942 MOV #8,r_j
502 00000C 1B43 MOV #1,r_bit
503 00000E _loop
504 00000E 0CB8 BIT r_bitmask,r_data
505 000010 0130 JN _bitiszero
506 000012 0ADB BIS r_bit,r_result
507 000014 _bitiszero
508 000014 0B5B RLA r_bit
509 000016 0C5C RLA r_data
510 000018 1983 DEC r_j
511 00001A F923 JNZ _loop
512 00001C
513 00001C 3B41 POP R11
514 00001E 3A41 POP R10
515 000020 3941 POP R9
516 000022 3041 RET
517 000024
518 000024 #undef r_data
519 000024 #undef r_bitmask
520 000024 #undef r_j
521 000024 #undef r_result
522 000024 #undef r_bit
523 000024
524 000024 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;
525 000024
526 000024 END
##############################
# CRC:9290 #
# Errors: 0 #
# Warnings: 0 #
# Bytes: 36 #
# Modules: 7 #
# Total errors: 0 #
# Total warnings: 0 #
##############################
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -