今天我蛋疼了
本帖最后由 aini6658 于 2013-01-08 19:10:31 编辑 表示今天无聊到蛋疼,决定不用查表法来将10进制转换为16进制(PS:因为大家设置缓存一般都对齐4字节的,所以这个也是只处理对齐部分的)
不知道还有没改进余地呢
IFNDEF _GLOBE_INC_
INCLUDE Globe.inc
ENDIF;// !_GLOBE_INC_
COMMENT */////////////////////////////////////////////////////////////////////////////////////////////
//======================================================================================================
// [value]::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// 0 1 2 3 4 5 6 7 8 9
// 0000|0000 0000|0001 0000|0010 0000|0011 0000|0100 0000|0101 0000|0110 0000|0111 0000|1000 0000|1001
// A B C D E F
// 0000|1010 0000|1011 0000|1100 0000|1101 0000|1110 0000|1111
// [string]:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// 0 1 2 3 4 5 6 7 8 9
// 0011|0000 0011|0001 0011|0010 0011|0011 0011|0100 0011|0101 0011|0110 0011|0111 0011|1000 0011|1001
// A B C D E F
// 0100|0001 0100|0010 0100|0011 0100|0100 0100|0101 0100|0110
//======================================================================================================*
.CODE
HexBufferA PROC STDCALL \
USES esi edi edx ebx
pbSource EQU <esi>
pbDest EQU <edi>
dwLength EQU <ecx>
temp EQU <ebx>
ALIGN AlignSize
shrdwLength,2
HexBuffer_LOOP_DWORD:
mov eax,DWORD PTR[pbSource]
mov edx,eax