-3

システムプログラミングにおける「アセンブラ」とは何ですか? 「ワンパス」アセンブラと「ツーパス」アセンブラの違いは何ですか? 詳細な説明を探しています。

4

2 に答える 2

2

アセンブリは、人間がまだ使用できる最低レベルのプログラミング言語です。つまり、バイナリに音訳されます。すべての命令はバイナリと同等のリテラルを持ち、プロセスには解釈がなく、シンボルを一定量のバイナリ命令に置き換えるだけです。ビットの。

2 パス アセンブラは、コード全体を 2 回処理します。最初にすべてのシンボルを収集し、シンボルとアドレスを照合するテーブルを作成し、次にシンボルをアドレスに置き換えます (リンク プロセス)。これにより、コンパイラは最初にすべてのコードで定義を調べ、次に定義の使用を調べるため、好きな場所で物事を定義できます。

ワンパス アセンブラはコードを 1 回実行し、プロセス全体を一度に実行しようとします。つまり、1 回の読み取りでファイルと定義をラベルにリンクします。ここでは、順序を正しく保つことが重要です。つまり、これを行わないと、使用しようとした後に定義したシンボルが見つからないため、まったく機能しません。

もちろん、最初のアプローチはより自然ですが、2 倍の時間がかかります。低速の古いコンピューターでは、これは大きなオーバーヘッドであったため、コードを一度調べて、どこでもシンボルを定義できるようにすることが好まれました。

于 2013-01-21T06:14:01.847 に答える
0

これらは、M/CA と互換性のあるアセンブリ言語プログラムを M/CA と互換性のある機械語プログラムに自動的に変換するシステム プログラムですが、その下にある M/CS は

于 2015-02-04T12:12:27.180 に答える