ホームページ >よくある問題 >アセンブリプログラムは複数の言語が混在して書かれたプログラムですか?

アセンブリプログラムは複数の言語が混在して書かれたプログラムですか?

青灯夜游
青灯夜游オリジナル
2020-07-21 15:15:439916ブラウズ

エラー。アセンブラは複数の言語が混在して書かれたプログラムではありません。アセンブラは、アセンブリ言語で書かれたプログラムを同等の機械語プログラムに翻訳する翻訳プログラムです。アセンブラの入力はアセンブリ言語で記述されたソースプログラムであり、出力は機械語で表現されたターゲットプログラムです。

アセンブリプログラムは複数の言語が混在して書かれたプログラムですか?

アセンブリ言語は、特定のコンピュータまたはコンピュータ シリーズ向けに設計された機械指向言語であり、アセンブリ実行命令とアセンブリ疑似命令で構成されます。

アセンブリ言語でのプログラムの記述は、高級プログラミング言語ほど単純かつ直観的ではありませんが、アセンブルされたターゲット プログラムはメモリ占有量が少なく、動作効率が高く、コンピュータのさまざまなデバイス リソースを直接参照できます。通常、システムのコア部分のプログラムを作成する場合、または実行時間が長く、高いリアルタイム パフォーマンスが必要なプログラム セグメントを作成する場合に使用されます。

背景情報

アセンブリ実行命令は機械命令を記号的に表現したもので、オペレーションコードはニーモニック、アドレスコードはラベルや変数名で直接表現されます。 、定数などで表現します。アセンブリ実行命令はアセンブラによって機械語命令に変換され、基本的に両者は 1 対 1 の対応関係を保ちます。アセンブリ命令とも呼ばれるアセンブリ疑似命令は、ユーザー定義のシンボル、データ型、データ領域の長さ、およびターゲット プログラムの形式や保存場所などのプロンプト情報をアセンブラに提供するために使用されます。アセンブラにアセンブル方法を指示することです。アセンブリ言語で記述されたソース コードは、対応するアセンブラを使用して実行可能なマシン コードに変換する必要があります。この工程を組立工程といいます。

多くのアセンブラは、アドレスと定数を表すラベルとシンボルを認識できるため、ハードコーディングすることなく文字を使用してオペランドを表すことができます。一般に、特定のアセンブリ言語と特定の機械語命令セットの間には 1 対 1 の対応関係があります。

多くのアセンブラは、プログラム開発、アセンブリ制御、および補助的なデバッグのための追加のサポート メカニズムを提供します。一部のアセンブリ言語プログラミング ツールは、多くの場合、マクロ アセンブラとも呼ばれるマクロを提供します。

アセンブリ言語は、他のほとんどのプログラミング言語のようにプログラミングには広く使用されていません。実際のアプリケーションでは、通常、低レベルのハードウェア操作やプログラムの最適化が要求される場合に使用されます。アセンブリ言語は、ドライバー、組み込みオペレーティング システム、およびリアルタイム実行プログラムに必要です。

分類

  • ##単純なアセンブラ

    単純なアセンブラ 「ロードして実行」アセンブラとも呼ばれます。そのシンプルさから広く使われています。この種のアセンブラの特徴は、アセンブルされた機械語プログラムがすぐに実行できる状態でメモリに直接配置されることです。ターゲットプログラムが占める格納場所はアセンブル中に固定されており、後から変更することはできないため、この方法では独立してアセンブルされた複数のサブプログラムをマージして完全なプログラムを作成することはできず、ターゲットプログラムと競合しない場所のみを呼び出すことができます。プログラムライブラリにあります。

  • モジュールアセンブラ

    モジュールアセンブラは、モジュールプログラミング手法に適応するために開発されています。単純なアセンブリ プログラムの欠点を克服するだけでなく、さまざまなプログラム モジュールの設計、コーディング、デバッグを並行して実行し、プログラムを変更するときに関連するモジュールのみを変更する機能も提供します。アセンブルされた各プログラムモジュールはオブジェクトモジュールと呼ばれ、複数のオブジェクトモジュールはアセンブリプログラムを接続することで完全な実行可能プログラムに結合されます。

  • 条件付きアセンブラ

    条件付きアセンブラの主な機能は、特定のプログラム セグメントを選択してアセンブルできることです。これは、ユーザーのニーズやデバイスの構成に応じて適切なソフトウェアを調整およびコンパイルできるように、より選択的なプログラムまたはプログラム パッケージを作成するのに適しています。この種のアセンブリ言語では、通常、「条件付き転送」や「転送」などのアセンブリ命令が導入されており、ユーザーが指定したアセンブリ条件に従って、特定のプログラム部分を選択的に組み立てたり、アセンブリプログラムの処理経路を制御したりすることができます。

  • マクロアセンブラ

    マクロアセンブラ アセンブラにマクロ処理機能を追加するのが大きな特徴です。これにより、ユーザーはマクロ命令を簡単に定義して使用できるようになり、プログラム内の複数の場所に表示され、特定の形式を持ち、いくつかのパラメーターを調整することで変更できるプログラム段落に適しています。この方法を使用すると、プログラムの長さが短縮され、可読性が向上するだけでなく、プログラム段落の書式を変更する必要がある場合でも、ユースポイントごとに変更するのではなく、定義部分のみを変更するだけで済みます。

  • 高級アセンブラ

    高級アセンブラ 高級プログラミング言語の制御文構造を使用するアセンブラ。アセンブリ言語の高い表現力と高いプログラム動作効率の利点をそのままに、シンプルで読みやすい高級言語の利点を十分に吸収しています。

    これは、高級アセンブリ プログラムでは、ユーザーが高級プログラミング言語の制御ステートメント (条件文、ループ ステートメント、関数、プロシージャなど) を使用してプログラムの制御部分を作成できるためです。また、ユーザーはアセンブリ言語を直接使用して、ストレージ割り当てを直接制御したり、レジスタ ハードウェアにアクセスしたり、高級言語で表現するのが難しいアルゴリズムを記述したりすることもできます。

    最初の高級アセンブラは、N.ワース氏がIBM360システム向けに開発したPL/360言語アセンブラで、プログラムの制御部分を高級言語の制御文で記述し、データ処理を行うのが特徴です。この部分は IBM360 アセンブリ命令を使用して書かれています。その後、ALGOLやFATに似た、FORTRANに似たアセンブラが次々と登場しました。

関連知識の詳細については、PHP 中国語 Web サイト をご覧ください。

以上がアセンブリプログラムは複数の言語が混在して書かれたプログラムですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。