我正在尝试学习如何将字符串转换为整数。我觉得我很亲密。我的代码适用于260以下的数字。一旦输入的数字大于或等于260,那么它只是将它们转换为0.我认为它可能与BYTE的大小有关,但我不知道如何要解决这个问题。有什么建议? 包含了一些Irvine函数,但我正在尝试编写自己的ReadInt函数。
答案 0 :(得分:2)
我可以看到问题所在。而不是完全放弃答案,这是一个暗示:
lodsb
指令将一个字节加载到al
(eax
的低8位)。 eax
的其余部分没有变化。什么可能导致eax
包含lodsb
未更改的额外位?