- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
crc68.s
资源名称:unzip540.zip [点击查看]
上传用户:andy_li
上传日期:2007-01-06
资源大小:1019k
文件大小:2k
源码类别:
压缩解压
开发平台:
MultiPlatform
- .text
- .globl _crc32 ; (ulg val, uch *buf, extent bufsize)
- .globl _get_crc_table ; ulg *get_crc_table(void)
- _crc32:
- move.l 8(sp),d0
- bne valid
- moveq #0,d0
- rts
- valid: movem.l d2/d3,-(sp)
- jsr _get_crc_table
- move.l d0,a0
- move.l 12(sp),d0
- move.l 16(sp),a1
- move.l 20(sp),d1
- not.l d0
- move.l d1,d2
- lsr.l #3,d1
- bra decr8
- loop8: moveq #0,d3
- move.b (a1)+,d3
- eor.b d0,d3
- lsl.w #2,d3
- move.l 0(a0,d3.w),d3
- lsr.l #8,d0
- eor.l d3,d0
- moveq #0,d3
- move.b (a1)+,d3
- eor.b d0,d3
- lsl.w #2,d3
- move.l 0(a0,d3.w),d3
- lsr.l #8,d0
- eor.l d3,d0
- moveq #0,d3
- move.b (a1)+,d3
- eor.b d0,d3
- lsl.w #2,d3
- move.l 0(a0,d3.w),d3
- lsr.l #8,d0
- eor.l d3,d0
- moveq #0,d3
- move.b (a1)+,d3
- eor.b d0,d3
- lsl.w #2,d3
- move.l 0(a0,d3.w),d3
- lsr.l #8,d0
- eor.l d3,d0
- moveq #0,d3
- move.b (a1)+,d3
- eor.b d0,d3
- lsl.w #2,d3
- move.l 0(a0,d3.w),d3
- lsr.l #8,d0
- eor.l d3,d0
- moveq #0,d3
- move.b (a1)+,d3
- eor.b d0,d3
- lsl.w #2,d3
- move.l 0(a0,d3.w),d3
- lsr.l #8,d0
- eor.l d3,d0
- moveq #0,d3
- move.b (a1)+,d3
- eor.b d0,d3
- lsl.w #2,d3
- move.l 0(a0,d3.w),d3
- lsr.l #8,d0
- eor.l d3,d0
- moveq #0,d3
- move.b (a1)+,d3
- eor.b d0,d3
- lsl.w #2,d3
- move.l 0(a0,d3.w),d3
- lsr.l #8,d0
- eor.l d3,d0
- decr8: dbra d1,loop8
- and.w #7,d2
- bra decr1
- loop1: moveq #0,d3
- move.b (a1)+,d3
- eor.b d0,d3
- lsl.w #2,d3
- move.l 0(a0,d3.w),d3
- lsr.l #8,d0
- eor.l d3,d0
- decr1: dbra d2,loop1
- done: movem.l (sp)+,d2/d3
- not.l d0
- rts