hexencode.asm

来自「ASM 多种hash模块,汇编源码 MD2,4,5 SHA 等多种加密算法 」· 汇编 代码 · 共 41 行

ASM
41
字号
.686
.model flat,stdcall
option casemap:none

.code
HexEncode proc uses edi esi ebx pBuff:dword,dwLen:dword,pOutBuff:dword
	mov ebx,dwLen
	mov edi,pOutBuff
	test ebx,ebx
	mov esi,pBuff
	jz @F
	.repeat
		movzx eax,byte ptr [esi]
		mov ecx,eax
		add edi,2
		shr ecx,4
		and eax,1111b
		and ecx,1111b
		cmp eax,10
		sbb edx,edx
		adc eax,0
		lea eax,[eax+edx*8+'7']
		cmp ecx,10
		sbb edx,edx
		adc ecx,0
		shl eax,8
		lea ecx,[ecx+edx*8+'7']
		or eax,ecx
		inc esi
		mov [edi-2],ax
		dec ebx
	.until ZERO?
@@:
	mov eax,edi
	mov byte ptr [edi],0
	sub eax,pOutBuff
	ret
HexEncode endp

end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?