ホームページ  >  記事  >  バイナリシーケンスで書かれたプログラムを何と呼びますか?

バイナリシーケンスで書かれたプログラムを何と呼びますか?

青灯夜游
青灯夜游オリジナル
2022-07-25 13:55:184141ブラウズ

バイナリシーケンスで書かれたプログラムは「機械語」プログラムと呼ばれます。機械語は、バイナリコードの命令によって直接表現されるコンピュータ言語であり、命令は0と1からなるコードの列であり、一定の桁数を持ち、いくつかの部分に分かれており、各部分の符号化により異なる意味が表現されます。機械語でプログラムを書くには、プログラマはまず使用するコンピュータの命令コードとその意味をすべて暗記する必要があります。

バイナリシーケンスで書かれたプログラムを何と呼びますか?

このチュートリアルの動作環境: Windows 7 システム、Dell G3 コンピューター。

バイナリシーケンスで書かれたプログラムは「機械語」プログラムと呼ばれます。

マシン語とは、コンピュータ ハードウェアが直接認識できる命令の集合を指し、最も初期のコンピュータ言語です。機械語はハードウェア装置に従属します。コンピューターデバイスごとに異なる機械語が搭載されているため、機械語は機械指向の言語です。

機械語は、バイナリコード命令によって直接表現されるコンピュータ言語であり、命令は0と1から構成されるコードの列であり、一定の桁数を持ち、いくつかのセグメントに分かれています。セグメントは異なる意味を表します。たとえば、あるコンピュータの語長は 64 ビット (bit) です。つまり、命令やその他の情報を構成する 2 進数が 64 個あります。 64 個の 0 と 1 をさまざまな順列や組み合わせに形成し、ワイヤを通じて電気信号に変換することで、コンピュータがさまざまな演算を実行できるようになります。

命令とは機械語の文であり、意味のあるバイナリコードの集合です命令の基本的な形式はオペレーションコードフィールドとアドレスコードフィールドなどですオペレーションコードは動作の性質を指定しますおよび命令の機能、アドレス コードはオペランドまたはオペランドのアドレスを示します。

機械語でプログラムを書くには、プログラマはまず使用するコンピュータの命令コードとその意味をすべて暗記する必要があります。ハンドプログラミングの場合、プログラマはストレージの割り当てや各命令とデータの入出力を自分で処理する必要があり、プログラミングプロセスの各ステップで使用されるワークユニットの状態も覚えておく必要があります。これはとても面倒な作業です。プログラムの作成にかかる時間は、実際の実行時間よりも数十倍、数百倍かかることがよくあります。さらに、コンパイルされたプログラムはすべて 0 と 1 の命令コードであるため、直感的ではなく、エラーが発生しやすくなります。コンピューターメーカーの専門家を除いて、大多数のプログラマーはもはや機械語を学んでいません。

機械語命令の形式

コンピュータは命令を実行することでさまざまなデータを処理します。データのソース、演算結果の宛先、および実行された演算を示すために、命令には次の情報が含まれている必要があります。

(1) 演算コード。操作の性質と機能を指定します。コンピューターには数十から数百の命令があり、各命令には対応するオペレーション コードがあり、コンピューターはオペレーション コードを認識することでさまざまな操作を完了します。

(2) オペランドのアドレス。 CPU は、このアドレスを通じて必要なオペランドを取得できます。

(3) 演算結果の格納アドレス。オペランドの処理結果は、再利用のためにこのアドレスに保存されます。

(4) 次の命令のアドレス。プログラムを実行する際、ほとんどの命令は主記憶から順番にフェッチされて実行されますが、転送命令が発生した場合にのみプログラムの実行順序が変わります。命令の長さを圧縮するために、プログラム カウンター (ProgramCounter、PC) を使用して命令アドレスを保存できます。命令が実行されるたびに、PC の命令アドレスは自動的に 1 に設定され (命令が 1 つのメイン メモリ ユニットのみを占有すると仮定して)、次に実行される命令のアドレスを示します。転送命令が発生すると、転送アドレスを使用して PC の内容が変更されます。 PC を使用するため、次に実行される命令のアドレスを命令内で明示的に指定する必要はありません。

命令には、実際にはオペレーションコードとアドレスコードという2種類の情報が含まれています。オペレーションコード (OperationCode、OP) は、命令によって完了する演算 (加算、減算、乗算、除算、データ転送など) を表すために使用され、その長さは命令システム内の命令の数に依存します。 。アドレスコードは命令のオペランドを記述するために使用され、オペランドを直接与えるか、オペランドのメモリアドレスやレジスタアドレス(つまりレジスタ名)を示します。

命令には、オペコード フィールドとアドレス フィールドの 2 つの部分が含まれています。アドレス フィールドに含まれるアドレスの数に応じて、一般的な命令フォーマットは次のとおりです。

① 3 アドレス命令: 一般アドレス フィールドの A1 と A2 がそれぞれ第 1 オペランド アドレスと第 2 オペランド アドレスを決定します。 A3 は結果のアドレスを決定します。次の命令のアドレスは通常、プログラム カウンタによって順次与えられます。

②2 つのアドレス命令: アドレス フィールドの A1 は最初のオペランド アドレスを決定し、A2 は 2 番目のオペランド アドレスと結果アドレスを同時に決定します。

③単一アドレス命令: アドレス フィールドの A により、最初のオペランドのアドレスが決まります。 2 番目のオペランドと演算結果を格納するための特定のレジスタの使用が修正されました。したがって、それらのアドレスは命令に暗黙的に含まれます。

④ゼロ アドレス命令: スタック コンピューターでは、通常、オペランドはプッシュダウン スタックの最上部にある 2 つのユニットに格納され、結果はスタックの最上部に配置されます。アドレスは暗黙的です。したがって、ほとんどの命令にはオペレーション コードのみがあり、アドレス フィールドはありません。

⑤可変アドレス数命令:アドレスフィールドに含まれるアドレス数は動作定義により変わります。たとえば、一部のコンピュータの命令内のアドレスの数は、最小で 0 個、最大で 6 個まであります。

関連知識の詳細については、FAQ 列をご覧ください。

以上がバイナリシーケンスで書かれたプログラムを何と呼びますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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