現在、趣味で x86 アセンブリを学んでいる最中です。マイクロコントローラーのプログラミングが大好きなので、アセンブリに精通しています。
現在、私はこの質問への答えを高低で検索してきましたが、それを見つけることができないようです.DSレジスタは、私のプログラムのグローバルデータを指しているはずですが、私は知りません.それがどのように機能するかを正確に知っています。私は NASM を使用しています。ほとんどの単純なプログラムでは、次のように表示されます。
[組織 0x7C00] [ビット 16] 主要: 移動斧、0x0000 ムーブDS、斧 移動、[メッセージ] 移動ああ、0x0E mov bx, 0x0007 整数 0x10 ジャンプ $ メッセージ データベース 'X' 倍 510-($-$$) デシベル 0 dw 0xAA55
これは (太字のコードを省略しても) 完全に機能しますが、どうすればよいでしょうか? CPU は 0x0000 から始まるグローバル変数を自動的にロードしますか? それとも、私が見逃している本質的なものがありますか?