首页
社区
课程
招聘
[求助]十六进制转换成十进制的汇编指令
发表于: 2005-3-2 16:25 9833

[求助]十六进制转换成十进制的汇编指令

2005-3-2 16:25
9833
请教个菜问题,哪位朋友能告诉我十六进制转换成十进制的汇编指令啊,我在学写注册机,算出的号码需要转换成十进制输出,试着跟踪计算器的运算过程,看不懂,网上也搜不到,谢谢大家了。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
2
szBuff db 50 dup(0) ;保存转换后十进制字符。
szFormat db "%d",0  ;输出十进制字符格式

mov eax,12345678h  ;Eax = 12345678h
invoke wsprintf,addr szBuff,addr szFormat,eax ;转换EAX数值
2005-3-2 16:36
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
3
GetDlgItemInt

SetDlgItemInt
2005-3-2 17:23
0
雪    币: 264
活跃值: (119)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
谢谢二位!
原指令是这样的:
mov eax,1
cpuid
此时我想把eax的十六进制数据以十进制输出,该怎么写呢?

是在keymaker2中用的,我按照2楼的朋友所说写的,但怎么会出错了?
2005-3-2 18:01
0
雪    币: 264
活跃值: (119)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
3楼的朋友,我看不懂那命令
2005-3-2 18:04
0
雪    币: 135
活跃值: (226)
能力值: ( LV12,RANK:330 )
在线值:
发帖
回帖
粉丝
6
逻辑上的数字无进制之分,数字的表示才有进制的区分
也就是说EAX里的就是个数字,转换成字符串后才有进制
wsprintf是格式化输出字符串的API,"%d"表示转换成十进制的字符串,MSDN有说明
2005-3-2 18:32
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
7
可以呀,以下是我测试的程序,你再参考一下再试试:
.const

.data
szHomePage db "http://www.365hz.net",0
szEmail    db "mailto:ljyljx@163.com",0
szErrMess  db "输入的序列号不正确!",0
szBuff db 50 dup(0)
szFormat db "%d",0


.code
mov eax,1
cpuid
invoke wsprintf,addr szBuff,addr szFormat,eax
lea eax,szBuff
2005-3-2 18:53
0
雪    币: 264
活跃值: (119)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
这下可以了,刚才打的是
invoke wsprintf,eax,addr szFormat,eax
嘿嘿嘿
感恩了!
2005-3-2 21:02
0
游客
登录 | 注册 方可回帖
返回
//