使用RedAsm/MASM将word/dword转换为字符串
2008-07-27 23:12
246 查看
;将双字转换为十六进制字符串
;mov ecx, 16
DWordToStr proc dwValue : DWORD, szBuf :DWORD, dwSize : DWORD ; convert dword to string LOCAL szTemp[MAX_PATH] : byte ; save the regs push ebx push ecx push esi push edi ; reset the index xor ebx, ebx ; load the destions addr lea edi, szTemp ; set the de-Diver mov ecx, 16 ; save dwValue mov eax, dwValue xor edx, edx ; edx = 0, eax = dwValue ; if dwValue == 0, no need to deal .if eax == 0 mov byte ptr [edi + ebx], '0' ; szTemp[0] = '0' inc ebx ; number cnt = 0 .endif ; loop to count each dex number .while eax > 0 div ecx .if dl < 10 mov byte ptr [edi + ebx], '0' ; szTemp[nIndex] = '0' .else mov byte ptr [edi + ebx], 'A' sub dl, 10 .endif add byte ptr [edi + ebx], dl ; szTemp[nIndex] = '0' + number inc ebx ; ebx += 1 xor edx, edx .endw lea esi, szTemp mov edi, szBuf mov ecx, ebx xor ebx, ebx ; reverse the szTemp .while ecx > 0 mov al, byte ptr[esi + ecx - 1] mov byte ptr[edi + ebx], al inc ebx dec ecx .endw ; restore the regs and return pop edi pop esi pop ecx pop ebx ret DWordToStr endp[code]
相关文章推荐
- 项目中使用svg格式的字符串转换图片并把图片插入到word和pdf文档
- 编写高质量代码改善C#程序的157个建议[正确操作字符串、使用默认转型方法、却别对待强制转换与as和is]
- 字符串转换为数字---使用java7的装箱功能
- sql server 使用for xml path 将1列多行转换为字符串连接起来
- strtoul函数的使用(将字符串转换成无符号长整型数)
- JSON-lib 使用过程中将一个很长的字符串 转换成 json 对象时 ,耗时太久的解决方式。
- 使用Jacob实现html和word的相互转换
- 使用FastJson在JSON字符串、JSON对象及JavaBean、Map之间的相互转换
- 使用jackson来进行数组格式的json字符串转换成List。
- 使用URLDecoder.decode解析字符串含有"+","+"号这个特殊字符会被吃掉,转换成空格
- Java使用Jacob转换Word为HTML
- 使用poi将word转换为html
- 使用jackson对Java对象与JSON字符串相互转换的一些总结
- 编写一个函数escape(s,t),将字符串t复制到字符串s中,并在复制过程中将换行符、制表符等不可见字符分别转换为\n、\t等相应的可见的转义字符序列。要求使用switch语句。
- 使用sed把字符串转换为数据库中in子句的例子。
- 使用移位操作把十进制转换为二进制与十六进制字符串输出
- VC编程中的数据类型转换16位数据(WORD)合成32位数据(DWORD),VARIANT 、_variant_t 与 COleVariant,BSTR、_bstr_t与CComB
- 使用 STL stringstream 做各种不同进制的字符串到整数的转换
- c++ 不建议使用字符串常量到 char*的转换