能力值:
( LV12,RANK:210 )
|
-
-
2 楼
指令没有, masm32提供的库中有函数可以完成这个功能
|
能力值:
( LV6,RANK:90 )
|
-
-
3 楼
你说的 1234cdef 是字符串还是双字
如果是双字的话直接用 dd 定义就行
如果是字符串的话 '1234cdef' 编译过以后每个字符就占一个字节
eax是双字==四个字节
不过eax可以做为指向'1234cdef'的指针
另外,这们兄弟好像,还弄不大清楚,在内存里的数据没有字符串、数值分,就看你拿它当作什么类型处理,不过通常所说的字符串都是以'\0'结尾罢了。
|
能力值:
( LV12,RANK:290 )
|
-
-
4 楼
我的意思是有一个字符串为1234cdef
我想让一个寄存器的值为1234cdef,并不是指向那个字符串
我的方法只是把字符串从前循环到尾,计算值
在我的意思下,内存中字符串和数值就有分别了
数值1存储为01
字符串1存储为31
|
能力值:
( LV12,RANK:210 )
|
-
-
5 楼
使用atodw函数:
include \masm32\m32lib\masm32.inc
includelib \masm32\m32lib\masm32.lib
....
invoke atodw, OFFSET stringnum
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
越看反而糊涂了,第一贴的问题可以使用atodw
|
能力值:
( LV12,RANK:290 )
|
-
-
7 楼
谢谢thebutterfly和aketou
|
能力值:
( LV6,RANK:90 )
|
-
-
8 楼
晕~~
还是看不懂什么意思,楼主想干什么.
就是想把 类似非压缩BCD数的 16进制数的 字符串转换成它所表示的数值?
把字串"1234567890abcdef"转换成数值的0x1234567890abcdef?
|
|
|