汇编语言实现CRC校验

这篇博客详细介绍了如何用MASM汇编语言实现CRC校验,包括L_shift过程、Gencrc过程、Appendcrc过程和Checkcrc过程。通过示例代码展示了从输入字符串到计算CRC值,再到附加CRC值和校验CRC的过程。
摘要由CSDN通过智能技术生成
TITLE MASM CRC (main.asm)
.686P		; Pentium Pro or later
.MODEL flat, stdcall
.STACK 40960
option casemap:none;  大小不敏感

printf          PROTO C :dword,:vararg
scanf           PROTO C :dword,:vararg
gets		PROTO C :dword
getchar		PROTO C
strlen		PROTO C :dword
ExitProcess	PROTO,dwExitCode:DWORD	  	; exit program
exit		EQU <INVOKE ExitProcess,0>

INCLUDELIB C:\ASM\USER32.LIB
INCLUDELIB C:\ASM\KERNEL32.LIB
INCLUDELIB C:\ASM\MSVCRT.LIB

chr$ MACRO any_text:VARARG
        LOCAL txtname
        .data
          txtname db any_text,0
          align 4
        .code
          EXITM <OFFSET txtname>
ENDM

.data
buf	BYTE	100 dup(0)
sdata BYTE  100 dup(0)
crc  BYTE   100 dup(0)
res  BYTE ?

oldhbit BYTE ?
newhbit BYTE ?
hbit BYTE ?

scrc BYTE 10 dup(0)
bcrc BYTE 10 dup(0)

.code
;------------------------L_shift-----------------------------------------------
L_shift PROC USES eax ebx ecx edx esi edi
	invoke	strlen,addr buf
	mov	ebx,offset buf
	add eax,2
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值