gdb を使用して、x86 アセンブリでプログラムをデバッグしています。私はいくつかの変数の奇妙な振る舞いをしていますが、その理由を理解できません。
これが私がそれらを定義して表示する方法です:
section .data
CountDied: dd 0000
OnesFound: db 00
section .text
global _start
_start:
nop
... code
gdb を段階的に実行すると、変数が最初の命令で正しい値を持っているかどうかを確認すると、次のようになります。
print CountDied
$1=0
print OnesFound
$2=167772672
ただし、次の手順では、OnesFound は正しい方法で動作するようです。本当に困惑しています。ご提案いただきありがとうございます。