Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 将字符串转换为DWORD(程序集x86)_String_Assembly_X86 - Fatal编程技术网

String 将字符串转换为DWORD(程序集x86)

String 将字符串转换为DWORD(程序集x86),string,assembly,x86,String,Assembly,X86,我正在尝试学习如何将字符串转换为整数。我想我已经很接近了。我的代码适用于260以下的数字。一旦输入的数字大于或等于260,它就会将其转换为0。我认为这可能与字节大小有关,但我不确定如何修复它。有什么建议吗? 包括了一些Irvine函数,但我正在尝试编写自己的ReadInt函数。我看到了问题所在。与其完全给出答案,不如给出一个提示: lodsb指令将一个字节加载到al(这是eax的低位8位)。eax的其余部分保持不变。是什么原因导致eax包含的额外位不会被lodsb更改?我想我有点困惑,因为我对汇

我正在尝试学习如何将字符串转换为整数。我想我已经很接近了。我的代码适用于260以下的数字。一旦输入的数字大于或等于260,它就会将其转换为0。我认为这可能与字节大小有关,但我不确定如何修复它。有什么建议吗?
包括了一些Irvine函数,但我正在尝试编写自己的ReadInt函数。

我看到了问题所在。与其完全给出答案,不如给出一个提示:


lodsb
指令将一个字节加载到
al
(这是
eax
的低位8位)。eax的其余部分保持不变。是什么原因导致
eax
包含的额外位不会被
lodsb
更改?

我想我有点困惑,因为我对汇编相当陌生。我已尝试将lodsb更改为lodsd,但当我这样做时,x将始终等于0。如果我使用al寄存器而不是eax寄存器,它也会做同样的事情。