1
文字列を整数に変換する方法を学習しようとしています。私はかなり近いと思う。私のコードは260以下の数字でも機能します。入力した数字が260以上になると、0に変換されます。バイトのサイズと関係するかもしれませんが、それを修正する。助言がありますか? いくつかのアーバイン関数が含まれていますが、自分のReadInt関数を記述しようとしています。文字列をDWORDに変換する(アセンブリx86)
文字列を整数に変換する方法を学習しようとしています。私はかなり近いと思う。私のコードは260以下の数字でも機能します。入力した数字が260以上になると、0に変換されます。バイトのサイズと関係するかもしれませんが、それを修正する。助言がありますか? いくつかのアーバイン関数が含まれていますが、自分のReadInt関数を記述しようとしています。文字列をDWORDに変換する(アセンブリx86)
私は問題を見ることができます。
lodsb
命令は、al
(eax
の下位8ビット)に1バイトをロードします。これは、ヒントです。 eax
の残りは変更されていません。 lodsb
で変更されていない余分なビットが、eax
に含まれる原因は何ですか?
私は、Assemblyにはかなり新しいので混乱していると思います。私はlodsbをlodsdに変更しようとしましたが、それを行うと、xは常に0になります。私はeaxレジスタの代わりにalレジスタを使用すると同じことが起こります。 – shades
気にしないで、私はそれを理解した!ありがとう! – shades