私はアセンブリ言語の初心者で、今まで多くのことを理解していますが、何日も 1 つのセクションにとどまり、混乱を招き、インターネットでアクセスした多くのページで情報が再びねじれていることが最悪の原因です。このセクションはアドレッシング モード、具体的にはメモリ参照です。たとえば、アセンブリ言語のアドレッシング モード (IA-32 NASM)
2 つの指示は同じように見えますが、コメントは異なります
- mov esi, var : var のアドレス(0x0040120e など) を esi にコピーします
- mov dword [eax], var1 : var1 の値
を eax で指定されたメモリ スロットにコピーします。
どちらの命令もラベルである var または var1 を扱いますが、一方のコメントではコンテンツのコピーであり、他方のコメントではアドレスのコピーであると述べられています。
それで、別の質問をします。
- mov bx, [var]
また、これらの指示の違いは何ですか
- mov [var], bx -これは、var が配列である場合にのみ適用され、次の命令と異なるものではない場合
- 移動変数、bx
- lea eax, [var] — var の値が EAX に配置されます。ここでは平均値です
- LEA EBX、[MY_TABLE]ここに平均有効アドレス
だから私は違いが何であるかを知る必要があり、私が読むことができる信頼できる情報源があり、それが正しいことを確認する必要があります.ちなみに、私はこのチュートリアルを使用しており、Windowsの下でアセンブラーとしてNASMを使用しています.