如何在MASM中将字符串转换为整数

时间:2011-08-03 21:22:19

标签: string parsing integer masm

我想简单地让用户输入一个数字。我可以得到输入(我认为),但这是一个字符串,我需要将其转换为数字(DWORD)。我找不到任何有效的MASM。我尝试了C函数strtol和atoi,但它找不到它们。是否有一些功能在MASM中有效?或者我是否必须编写自己的转换?

我尝试了几个包含文件,但我无法获得C函数:
windows.inc
kernel32.inc
user32.inc
msvcrt.inc

2 个答案:

答案 0 :(得分:1)

自从我使用MASM以来已有20多年,所以我有点生疏了。算法很简单。

  • 假设您的字符串是ASCII
  • 从字符串的末尾开始
  • 您需要将每个字符从字符串中分离出来并从中减去30H以得到数字
  • 将该数字存储在注册表中
  • 计算你的下一个10的力量
  • 每次向左移动一个字符并将该数字乘以下一个十次幂
  • 添加到累加器

E.g表示整数

31H 32H 33H

31h-30H = 1H 32H-30H = 2H * 10 33H-30H = 3H * 10 * 10

宾果!

如果数字代表双倍,你需要以类似的方式应对。

答案 1 :(得分:0)

我做了atoi PROTO C strptr:DWORD,然后我就可以致电atoi