それらはアセンブラ ディレクティブです。つまり、コンパイルされたマシン コードにプロセッサ命令を挿入するのではなく、別のことを行うようアセンブラに指示する特別な指示です。
この.data
ディレクティブは、実行可能ファイルのセクションのサブセクションの 1 つの末尾に次の命令を発行するようにアセンブラーに指示しdata
ます。通常、マシンコードは実行可能ファイルのいわゆるtext
セクションに出力されますが、グローバル変数などの非実行可能データは、いわゆるdata
セクションの 1 つに格納されます。異なるセクションは、他の機能の中でも特に、実行時に異なるメモリ許可を持っています。
このディレクティブは、リテラル数値をマシン コードに挿入することを指示するディレクティブ.long
と同等です。そのため、シンボルの位置の数値を挿入します。.int
.long SYMBOL_NAME(sys_ni_call)
sys_ni_call
したがって、これらをまとめると、.data
ディレクティブの後にディレクティブが続く.long
と、アセンブラーは特定の整数値をdata
結果のオブジェクト コードのセクションの 1 つに配置します。sys_call_table
これらの値は実行不可になり、セクションのサブセクションの権限がどのように構成されているかに応じて、読み取り専用または読み書き可能になりdata
ます。