汇编语言实现CRC校验

这篇博客详细介绍了如何用MASM汇编语言实现CRC校验,包括L_shift过程、Gencrc过程、Appendcrc过程和Checkcrc过程。通过示例代码展示了从输入字符串到计算CRC值,再到附加CRC值和校验CRC的过程。
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
	
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值