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
汇编语言实现CRC校验
最新推荐文章于 2020-04-13 12:10:50 发布
这篇博客详细介绍了如何用MASM汇编语言实现CRC校验,包括L_shift过程、Gencrc过程、Appendcrc过程和Checkcrc过程。通过示例代码展示了从输入字符串到计算CRC值,再到附加CRC值和校验CRC的过程。
摘要由CSDN通过智能技术生成