ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
無料
ブラウザよりも高速アクセス!
 

機械語

索引 機械語

機械語(きかいご)またはマシン語(Machine code、machine language)とは、コンピュータのプロセッサが直接解釈実行可能な一連の命令群のデータそのもの(を、コンピュータ・プログラミング言語とみなしたもの)である。.

54 関係: 十六進法実行ファイル主記憶装置二進法互換性低水準言語ミニコンピュータマイクロコンピュータバイナリバグメモリアドレスライブラリリバースエンジニアリングリンケージエディタブートブートセクタプログラミング言語プログラム (コンピュータ)プログラム内蔵方式プロセッサパーソナルコンピュータテーブルジャンプデータデータ実行防止データ構造アライメントファームウェアファイルシステム命令 (コンピュータ)命令セットアセンブリ言語エンディアンオペレーティングシステムオペコードコンパイラコンピュータコアダンプ動的リンクCASLCISCCOFFCPUExecutable and Linkable Format補助記憶装置逆アセンブラGNU BinutilsIntel PentiumIOCCCPortable ExecutablePowerPCRandom Access Memory...Read only memoryRISCVLIW機械語モニタ インデックスを展開 (4 もっと) »

十六進法

十六進法(じゅうろくしんほう、 hexadecimal)とは、16を底(てい)とし、底およびその冪を基準にして数を表す方法である。.

新しい!!: 機械語と十六進法 · 続きを見る »

実行ファイル

実行ファイル(じっこうファイル、Executable、Executable file)とは、コンピュータがプログラムとして解釈実行できるファイルである。実行可能ファイル、実行形式ファイル、あるいは単に実行形式とも呼ばれる。 多くの場合、特定のCPUの機械語を格納したバイナリ形式である(この形式の実行ファイルを単に「バイナリ(ファイル)」と呼ぶこともある)。あるファイルが実行ファイルかどうかは、主に規約の問題である。オペレーティングシステムによっては実行ファイルであることを示すファイル名の規約が存在する(拡張子 ".bin" ".exe"など)。あるいはファイルのメタデータで実行ファイルかどうかを示す(例えばUNIX系オペレーティングシステムのファイルパーミッションビット)。 最近のアーキテクチャでは、実行ファイルにはプログラム自体に含まれない情報も格納される。例えば、実行に必要な環境についての情報、デバッグ情報、シンボル情報などである。 実行ファイルには特定のオペレーティングシステムのシステムコールを呼び出すコードが含まれることもある。つまり実行ファイルはプロセッサ固有であるだけでなくオペレーティングシステム固有でもある。 ソースファイルと実行ファイルの違いはあいまいである。というのもソースから実行形式への変換が暗黙のうちに行われることがあるためである。インタプリタのファイル(シェルスクリプトやバッチファイルを含む)は、厳密に言えばインタプリタプログラムが解釈する命令を与えるものである。.

新しい!!: 機械語と実行ファイル · 続きを見る »

主記憶装置

主記憶装置(しゅきおくそうち)は、記憶装置の分類で、「補助記憶装置」が一般に外部バスなど比較的CPUから離れていて大容量だが遅い記憶装置を指すのに対し、コンピュータのメインバスなどに直接接続されている記憶装置で、レイテンシやスループットは速いが比較すると小容量である。特に、CPUが入出力命令によって外部のインタフェースを操作するのではなく、「ロード・ストア命令」や、さらには通常の加算などの命令において直接読み書きできる対象であるものを指す。メインメモリ、一次記憶装置とも。.

新しい!!: 機械語と主記憶装置 · 続きを見る »

二進法

二進法(にしんほう)とは、2 を底(てい、基(base)とも)とし、底の冪の和で数を表現する方法である。 英語でバイナリ (binary) という。binaryという語には「二進法」の他に「二個一組」「二個単位」といったような語義もある(例: バイナリ空間分割)。.

新しい!!: 機械語と二進法 · 続きを見る »

互換性

互換性(ごかんせい、)とは、ある部品やコンポーネント(構成要素)などを置き換えても同様に動作させることができる性質のこと。 特に工業製品では、互換性を確保することで新たなシステムを用意する必要がなくなり、設計や部品の再利用性が高まることでコストカットを見込めることや、過去の製品からの買い替えなどを進めることができたりする。ただし、古い基準に縛られてしまうために技術革新の妨げとなるという側面もある。互換性を確保するために余計なコストがかかる場合は軽視されることがあるほか、メーカー間の互換性はベンダーロックインを狙うため、あえて削ぐものもある。.

新しい!!: 機械語と互換性 · 続きを見る »

低水準言語

低水準言語(low-level programming language: ていすいじゅんげんご、低級言語とも)は、コンピュータ用のプログラミング言語のうち、機械語ないし機械語に近いアセンブリ言語などの言語の総称である。システムの階層構造を考えた場合に、ハードウェア寄りに位置する低レイヤ(低水準)の言語という意味である。対義語は「高水準言語」である。「高級言語」の対は「低級言語」である。 次のような特徴がある。.

新しい!!: 機械語と低水準言語 · 続きを見る »

ミニコンピュータ

ミニコンピュータ (mini computer) は、コンピュータの種類の一つ。略称として「ミニコン」とも呼ばれた。.

新しい!!: 機械語とミニコンピュータ · 続きを見る »

マイクロコンピュータ

マイクロコンピュータ(英語:microcomputer)、略してマイコンはCPUとしてマイクロプロセッサを使用したコンピュータである。マイクロコンピュータは当時のメインフレームやミニコンピュータと比較して物理的に小さかった。入出力のためのキーボードとスクリーンを装備した多くのマイクロコンピュータは、現代の一般的な感覚におけるパーソナルコンピュータに近い。 なおマイコンという呼び方は1970年代から1980年代にかけて一般的であったが、同様な製品を現在はパソコンと呼ぶ。.

新しい!!: 機械語とマイクロコンピュータ · 続きを見る »

バイナリ

バイナリ (binary) とは二進法のことであるが、コンピュータが処理・記憶するために2進化されたファイルまたはその内部表現の形式(バイナリデータ)のことを指して用いることが多い。 コンピュータが扱うすべてのデータはバイナリデータ(バイトの並び)であり、プレーンテキスト(または単にテキスト)もバイナリデータの一種ではあるが、通常バイナリとテキストは対比して用いられる。テキストとはデータの内容すべてを人間が読んで理解できる (human-readable) もの、バイナリとはそうでないものを指す。human-readableに対する語はmachine-readableだが、これは(機械的に読むことが可能であるように)フォーマットが定められているもの、という意味である。バイナリフォーマットではエンディアンなどに互換性・移植性の上で注意が必要であり、それを避けてテキスト形式で記録することも少なくない(UNIX哲学も参照。なお浮動小数点数やループした構造の表現など、テキスト形式にも注意が必要な点は多い)。バイナリエディタを用いると、バイナリファイルを1バイトずつの(16進法での)数値の並びとして表示・編集を行うことができる。バイナリのファイルでも多くは部分的にテキストとして読み取れる箇所が存在するため、そういった箇所のみを抜き出すstringsというユーティリティもある。 バイナリファイルにはたとえば画像ファイルや音声ファイル、圧縮されたファイルなどがある。バイナリファイルの中にはファイルの先頭にメタ情報(ヘッダ)を持っているものがある。たとえばGIFファイルは複数の画像を持つことができ、ファイルの先頭でそれぞれの画像を区別する情報が記述されている。そのようなメタ情報を持たないファイルはフラットバイナリファイルと呼ばれる。コンピュータプログラム関係では、テキストであるソースコードとの対比からコンパイルされたコード(オブジェクトファイルや実行ファイルなど。またそのような機械語(ネイティブバイナリ)に限らず、WebAssemblyやJavaなどのバイトコード類なども含む)のファイル等を指してバイナリと呼ばれることがしばしばある。プロプライエタリのソフトウェアは、バイナリの形態でさらに難読化を掛けて、販売されることが多い。 バイナリ形式でのデータの表現方法はさまざまなものがある。例えば、数値であれば0~9までの数をパターン化して記録するBCD、ゾーンビットと実際の数値、正の数か負の数かを記録する符号ビットからなるアンパック10進数(ゾーン10進数)や、実際の数値と符号ビットだけからなるパック10進数などがある。文字列の扱いとしては、ナル文字('\0')で終端する方法や、長さ(オクテット数、あるいは文字(符号点)の個数)を別に保持する、といった方式がある。前者では、'\0' を含むようなバイナリを「文字列」として扱うことができない。.

新しい!!: 機械語とバイナリ · 続きを見る »

バグ

バグ (bug) とは、英語で「虫」の意であり、転じてコンピュータプログラムの誤りや欠陥を表す。 ソフトウェア・ハードウェア開発における契約文書など、法的な文書ではバグのことを「瑕疵」と記述する。原因や責任の所在などが不明なものを特定性の低い表現の「不具合」と呼ぶことがある。また、セキュリティ上に関わるバグや欠陥は「セキュリティホール」などと呼ばれることもある(正確には、バグはこれらの原因(のひとつ)である)。 多くのバグが含まれ、機能的に正常な役割を果たさないものを、バギー・プログラム (Buggy Program) と呼ぶことがある。 なお、発生したバグを探して取り除く作業はデバッグと呼ばれる。.

新しい!!: 機械語とバグ · 続きを見る »

メモリアドレス

メモリアドレス(memory address)は、コンピュータの主記憶装置にアクセスするためにソフトウェアおよびハードウェアによって様々なレベルで使用されるデータ概念である。通常、メモリアドレスは、整数として表示・処理される固定長の数字の列である。メモリアドレスの数値の意味は、CPUの機能(やなど)や様々なプログラミング言語で採用されている配列のようなメモリの使用法に基づいている。.

新しい!!: 機械語とメモリアドレス · 続きを見る »

ライブラリ

ライブラリ()は、汎用性の高い複数のプログラムを再利用可能な形でひとまとまりにしたものである。ライブラリと呼ぶ時は、それ単体ではプログラムとして作動させることはできない実行ファイルではない場合がある。ライブラリは他のプログラムに何らかの機能を提供するコードの集まりと言うことができる。ソースコードの場合と、オブジェクトコード、あるいは専用の形式を用いる場合とがある。たとえば、UNIXのライブラリはオブジェクトコードをarと呼ばれるアーカイバでひとまとめにして利用する。図書館()と同様にプログラム(算譜)の書庫であるので、索引方法が重要である。 また、ソフトウェア以外の再利用可能なものの集合について使われることもある。.

新しい!!: 機械語とライブラリ · 続きを見る »

リバースエンジニアリング

リバースエンジニアリング(Reverse engineeringから。直訳すれば逆行工学という意味)とは、機械を分解したり、製品の動作を観察したり、ソフトウェアの動作を解析するなどして、製品の構造を分析し、そこから製造方法や動作原理、設計図などの仕様やソースコードなどを調査することを指す。.

新しい!!: 機械語とリバースエンジニアリング · 続きを見る »

リンケージエディタ

リンケージエディタ(リンカ(linker)、連係編集プログラムとも)とは機械語のプログラムの断片を結合し実行可能なプログラムを作成するプログラムのことである。例として、C言語では、ソースファイルをコンパイルするとオブジェクトファイルが生成される。それに他のオブジェクトファイルやライブラリを結合して1つのプログラムが完成する。この結合(リンク)の際リンケージエディタが使われる。.

新しい!!: 機械語とリンケージエディタ · 続きを見る »

ブート

Windows XPをブート中のインターネット公衆電話 ブート(boot)または ブートストラップ(bootstrap)は、コンピュータシステムの電源投入時、あるいはシステムのリセット後、モニタやOSなどなんらかの基本的なシステムソフトウェアを主記憶に展開し、ユーザプログラムを実行できるようにするまでの処理の流れをいう。ブートローダ(boot loader)は、以上のプロセスで使われるローダ、すなわち、不揮発性の補助記憶にある目的のプログラムを読出し、揮発性の主記憶に書込むプログラムのことである。 電源投入時のブートのことを「コールドブート」、リセットされたことによるブートを「ウォームブート」と言う。ウォームブートでは、コールドブートにおける最初のほうの手続きのいくつかが必要無い場合もあり、そういった手続きを省略することもある。 ブートストラップまたはブートストラップローダ(bootstrap loader)という名前は、ブーツのつまみ革(strap)を自分で引っ張って自分を持ち上げようとするイメージから来ている。つまり、コンピュータはプログラムをロードしないと動作できないが、プログラムをロードするプログラムはどうロードするのだ? というパラドックスに着目した呼称である。.

新しい!!: 機械語とブート · 続きを見る »

ブートセクタ

ブートセクタ(Boot sector)は、ハードディスクドライブやフロッピーディスクなどの補助記憶装置のディスクセクタの一種で、ブートプログラムのコードなどを格納している部分である。ブートブロック(Boot block)とも。一般に、PC/AT互換機ではブートセクタと呼び、他のコンピュータではブートブロックと呼ぶことが多い。 BIOSがブートデバイスを選択すると、そのデバイスの第一セクタ(後述するMBRまたはPBR)をコピーし、0x7C00 番地に配置して実行する。.

新しい!!: 機械語とブートセクタ · 続きを見る »

プログラミング言語

プログラミング言語(プログラミングげんご、programming language)とは、コンピュータプログラムを記述するための形式言語である。なお、コンピュータ以外にもプログラマブルなものがあることを考慮するならば、この記事で扱っている内容については、「コンピュータプログラミング言語」(computer programming language)に限定されている。.

新しい!!: 機械語とプログラミング言語 · 続きを見る »

プログラム (コンピュータ)

ンピュータプログラム(英:computer programs)とは、コンピュータに対する命令(処理)を記述したものである。コンピュータが機能を実現するためには、CPUで実行するプログラムの命令が必要である。 コンピュータが、高度な処理を人間の手によらず遂行できているように見える場合でも、コンピュータは設計者の意図であるプログラムに従い、忠実に処理を行っている。実際には、外部からの割り込み、ノイズなどにより、設計者の意図しない動作をすることがある。また設計者が、外部からの割り込みの種類を網羅的に確認していない場合もある。.

新しい!!: 機械語とプログラム (コンピュータ) · 続きを見る »

プログラム内蔵方式

プログラム内蔵方式(プログラムないぞうほうしき)、ストアドプログラム方式は、主記憶に置かれたプログラムを実行する、という、コンピュータ・アーキテクチャの方式の一つである。 ノイマン型アーキテクチャに内包されるため、また、このような分類が議論になるような初期の計算機において、プログラム内蔵でプログラムは全てROMに置いた、というものはないため、ノイマン型で実現されるプログラムが書き換え可能という性質を含めて指すこともある。 しかし、プログラム内蔵方式か否かについては、今日一般に、プログラムを置く記憶装置が書き換え可能か否かは問わず、またいわゆるハーバード・アーキテクチャも普通プログラム内蔵方式とすることが多い。一方、プログラムを内蔵している、と見えるものの一種であるが、記憶装置に置かれた命令ではなく、ワイヤードロジックでプログラミングをしているものは普通プログラム内蔵方式としない。 プログラムを置く直接の記憶装置が、CPUが普通に読む(読み書きする)電子的(ないし電気的)な主記憶か、そうでない補助記憶か、という点は、今日そんなデザインはまずないが、この分類では重視する。次のような歴史的理由による。 歴史的には、初期のプログラム駆動型の計算機には、主記憶(ROM含む)はデータの置き場としてのみ使い、プログラムは全てパンチカードや鑽孔テープのような補助記憶で与えられ、それを直接読み込みながら実行する、というものがあった。当然ながらジャンプが極端に制限されるなどプログラミング的に非常に制限され、プログラムの実行速度が読み込み装置の速度に制限されるため、すぐに古いデザインとみなされるようになった。そのような設計を、プログラム内蔵方式でない、とする分類であった。電子式でない、リレーを使ったコンピュータなど、機器自体の動作が紙テープリーダと比してたいして速くなく、素子のコストが記憶装置として使うには高い機械では、テープを直接実行するものが多かった。リレー式コンピュータの例としては、日本で建造されたものにFACOM 128やETL MarkIとIIがある。.

新しい!!: 機械語とプログラム内蔵方式 · 続きを見る »

プロセッサ

プロセッサ は、コンピュータシステムの中で、ソフトウェアプログラムに記述された命令セット(データの転送、計算、加工、制御、管理など)を実行する(=プロセス)ためのハードウェアであり、演算装置、命令や情報を格納するレジスタ、周辺回路などから構成される。内蔵されるある程度の規模の記憶装置までを含めることもある。プロセッサー、プロセサ、プロセッシングユニット、処理装置(しょりそうち)ともいう。「プロセッサ」は処理装置の総称で、システムの中心的な処理を担うものを「CPU()」(この呼称はマイクロプロセッサより古くからある)、集積回路に実装したものをマイクロプロセッサ、またメーカーによっては(モトローラなど)「MPU()」と呼んでいる。 プロセッサの構成要素の分類として、比較的古い分類としては、演算装置と制御装置に分けることがある。また、理論的な議論では、厳密には記憶装置であるレジスタすなわち論理回路の用語で言うところの順序回路の部分を除いた、組み合わせ論理の部分のみを指すことがある(状態機械モデルと相性が悪い)。の分類としては、実行すべき命令を決め、全体を制御するユニットと、命令を実行する実行ユニットとに分けることがある。.

新しい!!: 機械語とプロセッサ · 続きを見る »

パーソナルコンピュータ

パーソナルコンピュータ(personal computer)とは、個人によって占有されて使用されるコンピュータのことである。 略称はパソコン日本独自の略語である。(著書『インターネットの秘密』より)またはPC(ピーシー)ただし「PC」という略称は、特にPC/AT互換機を指す場合もある。「Mac対PC」のような用法。。.

新しい!!: 機械語とパーソナルコンピュータ · 続きを見る »

テーブルジャンプ

テーブルジャンプは計算機プログラムの制御方式の一つである。テーブルジャンプに使用するテーブルをジャンプテーブルと呼ぶ。 ジャンプ命令を実行する際、ジャンプ先の番地(アドレス)を予め表の形でメモリに記憶させておき、それを参照してジャンプする方式。自己書き換えなどのテクニックと併用して使われる。複数の分岐先がある場合でも、短時間でジャンプが可能となる。 高級言語にもジャンプテーブルによる実装を考慮したものがあった。Pascalのcase文が変数に順序型のみを許容しているのが一例である。 UNIX系オペレーティングシステムのダイナミックリンクライブラリは、ロードされるアドレスが固定されていない。このため一種のテーブルジャンプでライブラリ内のサブルーチンにジャンプするようになっている。実行プログラムをロードした当初、そのジャンプテーブルは全てローダー(loader)にジャンプするように設定されている。ローダーはジャンプに使用されたテーブルのエントリに対応するライブラリルーチンにジャンプするのだが、その際にジャンプテーブル自身を書き換えて次回のコールからは直接ライブラリルーチンにジャンプするように変更する。 カーネルモードで実行されるデバイスドライバやファイルシステムもテーブルジャンプを使用してカーネル本体とのインターフェイスを実装していることが多い。open()、close()、read()、write()といったシステムコールの処理は最終的に個別のドライバやファイルシステムのコードを呼び出す。しかし、いずれも種類が豊富であるし、カーネルにリンクして構成されない場合もあるため、直接呼び出すことはできず、テーブルジャンプで呼び出すようになっている。例えば、UNIX系では仮想ファイルシステムが個別のファイルシステムのサブルーチンを登録するジャンプテーブルを管理する。ただし、この種の実装では単なる配列にアドレスを登録するのではなく、ドライバやファイルシステムの管理データ構造にジャンプテーブルが格納されている。従って、これはオブジェクト指向でいうカプセル化やポリモーフィズムに近い。.

新しい!!: 機械語とテーブルジャンプ · 続きを見る »

データ

データ(data)とは、事実や資料をさす言葉。言語的には複数形であるため、厳密には複数の事象や数値の集まりのことを指し、単数形は datum(データム)である。.

新しい!!: 機械語とデータ · 続きを見る »

データ実行防止

データ実行防止(Data Execution Prevention, DEP)は、Microsoft Windowsに搭載されているセキュリティ機能である。この機能の目的は、アプリケーションやサービスが実行不可能なメモリ領域からコードを実行することの防止である。これはある種の攻撃 (たとえばバッファオーバーフローを経由してコードを格納するもの) を防止する効果がある。DEPには2つの動作モードがある: メモリページを実行不可能とマークできるCPUのためのハードウェアDEPと、ハードウェアサポートがないCPUのためのソフトウェアDEPで、後者の防御はより限られている。ソフトウェアDEPはコードがデータページから実行されることを防がないが、代わりに他の攻撃 (SEH オーバーライト) を防止する。 DEPはWindows XP Service Pack 2で導入され、Windows XP Tablet PC Edition 2005、Windows Server 2003 Service Pack 1以降、Windows Vista、Windows Server 2008、およびそれ以降のすべてのバージョンのWindowsに含まれている。.

新しい!!: 機械語とデータ実行防止 · 続きを見る »

データ構造アライメント

データ構造アライメント(データこうぞうアライメント、data structure alignment)は、コンピュータのメモリ(主記憶装置)内のデータにアクセス(読み書き)する際に、メモリ上の位置の調整を行うことである。 そこには、別々だが関連する2つの問題、すなわち、データ整列とデータ構造パディングがある。最新のコンピュータがメモリアドレスを読み書きする場合には、ワードサイズのチャンク(32ビットシステムの場合は4バイトのチャンク)単位で実行される。データ整列とは、ワードサイズの倍数に等しいメモリアドレスにデータを配置することであり、CPUがメモリを処理する方法によってシステムのパフォーマンスが向上する。データを整列させるには、最後のデータ構造の終端部分と次のデータ構造の開始部分の間に未使用のバイトを挿入する必要があり、これを「データ構造パディング」という。 例えば、コンピュータのワードサイズが4バイトの場合(バイトは、ほとんどのコンピュータで8ビットを意味するが、一部のシステムでは異なる可能性がある)、読み取るデータは4の倍数のメモリアドレスにある必要がある。例えば、データが16番地ではなく14番地から開始する場合、コンピュータは、4バイトのチャンクを2つ以上読み取り、要求されたデータが読み出される前に何らかの計算を実行しなければならないか、アライメントエラーを生成する可能性がある。よって、その前のデータ構造の終端が13番地にあったとしても、次のデータ構造は16番地から始める必要がある。そのため、2つのパディングバイトが2つのデータ構造の間の14番地と15番地に挿入される。 データ構造のアライメントは現代の全てのコンピュータにとって基本的な問題であるが、多くのコンピュータ言語およびコンピュータ言語の実装がデータ整列を自動的に処理する。Ada、PL/I、いくつかのC言語・C++の実装、D言語、Rust、アセンブリ言語は、特定の特殊な状況で有用なデータ構造のパディングを少なくとも部分的に制御することを可能にしている。.

新しい!!: 機械語とデータ構造アライメント · 続きを見る »

ファームウェア

ファームウェア (firmware) とは、電子機器に組み込まれたコンピュータシステム(ハードウェア)を制御するためのソフトウェアで、ソフトウェアをROM等の集積回路にあらかじめ書き込まれた状態で、機器に組み込んだもの。また、ソフトウェアではなく、プログラマブルロジックデバイスで利用する回路情報も広義のファームウェアと呼ぶことがある。.

新しい!!: 機械語とファームウェア · 続きを見る »

ファイルシステム

ファイルシステムは、コンピュータのリソースを操作するための、オペレーティングシステム (OS) が持つ機能の一つ。ファイルとは、主に補助記憶装置に格納されたデータを指すが、デバイスやプロセス、カーネル内の情報といったものもファイルとして提供するファイルシステムもある。 より正確に定義すれば、ファイルシステムは抽象データ型の集まりであり、ストレージ、階層構造、データの操作/アクセス/検索のために実装されたものである。ファイルシステムを特殊用途のデータベース管理システム (DBMS) と見なせるかどうかは議論があるが、ファイルシステムとデータベース管理システムには多くの共通点がある。.

新しい!!: 機械語とファイルシステム · 続きを見る »

命令 (コンピュータ)

ンピュータにおいて、命令(めいれい)とはCPUが処理する操作のこと。通常、命令操作部と複数のオペランドからなる。あるいは操作者がコンピュータに入力する簡易な書式による指示の総称として用いられることもある。.

新しい!!: 機械語と命令 (コンピュータ) · 続きを見る »

命令セット

命令セット(めいれいせっと、instruction set)は、コンピュータのハードウェアに対して命令を伝えるための言葉の語彙。.

新しい!!: 機械語と命令セット · 続きを見る »

アセンブリ言語

モトローラ MC6800 のアセンブリ言語のソースコード アセンブリ言語(アセンブリげんご、英: assembly language)とは、コンピュータ、マイクロコントローラ、その他のプログラム可能な機器を動作させるための機械語を人間にわかりやすい形で記述する、代表的な低水準言語である。なお、英語の assembly とは「組立」という意味である。.

新しい!!: 機械語とアセンブリ言語 · 続きを見る »

エンディアン

ンディアン(endianness)は、複数のバイトなどを並べる順序の種類である。一般的な用語による表現ではバイトオーダ(byte order)、ないしそれを一部訳して日本語ではバイト順とも言う。 英語の「endian」という単語自体には元々は「配置方式」「並び順」といった意味はなかった(#語源を参照)。日本では総称として「エンディアン」と呼ぶことが多いが、英語でそれに相当する語はendianness(エンディアンネス)である。.

新しい!!: 機械語とエンディアン · 続きを見る »

オペレーティングシステム

ペレーティングシステム(Operating System、OS、オーエス)とは、コンピュータのオペレーション(操作・運用・運転)のために、ソフトウェアの中でも基本的、中核的位置づけのシステムソフトウェアである。通常、OSメーカーが組み上げたコンピュータプログラムの集合として、作成され提供されている。 オペレーティングシステムは通常、ユーザーやアプリケーションプログラムとハードウェアの中間に位置し、ユーザーやアプリケーションプログラムに対して標準的なインターフェースを提供すると同時に、ハードウェアなどの各リソースに対して効率的な管理を行う。現代のオペレーティングシステムの主な機能は、ファイルシステムなどの補助記憶装置管理、仮想記憶などのメモリ管理、マルチタスクなどのプロセス管理、更にはGUIなどのユーザインタフェース、TCP/IPなどのネットワーク、などがある。オペレーティングシステムは、パーソナルコンピュータからスーパーコンピュータまでの各種のコンピュータや、更にはスマートフォンやゲーム機などを含む各種の組み込みシステムで、内部的に使用されている。 製品としてのOSには、デスクトップ環境やウィンドウシステムなど、あるいはデータベース管理システム (DBMS) などのミドルウェア、ファイル管理ソフトウェアやエディタや各種設定ツールなどのユーティリティ、基本的なアプリケーションソフトウェア(ウェブブラウザや時計などのアクセサリ)が、マーケティング上の理由などから一緒に含められていることもある。 OSの中で、タスク管理やメモリ管理など特に中核的な機能の部分をカーネル、カーネル以外の部分(シェルなど)をユーザランドと呼ぶ事もある。 現代の主なOSには、Microsoft Windows、Windows Phone、IBM z/OS、Android、macOS(OS X)、iOS、Linux、FreeBSD などがある。.

新しい!!: 機械語とオペレーティングシステム · 続きを見る »

オペコード

ペコード (operation code, opcode) とは、機械語の1個の命令の部分で、実行する操作 (operation) の種類を指定する部分のこと、およびそのコード(符号)のことである。数式における演算子に相当する。命令のもうひとつの主要部分は、操作される対象を指定するオペランド(被演算子)である。.

新しい!!: 機械語とオペコード · 続きを見る »

コンパイラ

ンパイラ(英:compiler)とは、コンピュータ・プログラミング言語の処理系(言語処理系)の一種で、高水準言語によるソースコードから、機械語に(あるいは、元のプログラムよりも低い水準のコードに)変換するプログラムである。.

新しい!!: 機械語とコンパイラ · 続きを見る »

コンピュータ

ンピュータ(Computer)とは、自動計算機、とくに計算開始後は人手を介さずに計算終了まで動作する電子式汎用計算機。実際の対象は文字の置き換えなど数値計算に限らず、情報処理やコンピューティングと呼ばれる幅広い分野で応用される。現代ではプログラム内蔵方式のディジタルコンピュータを指す場合が多く、特にパーソナルコンピュータやメインフレーム、スーパーコンピュータなどを含めた汎用的なシステムを指すことが多いが、ディジタルコンピュータは特定の機能を実現するために機械や装置等に組み込まれる組み込みシステムとしても広く用いられる。電卓・機械式計算機・アナログ計算機については各項を参照。.

新しい!!: 機械語とコンピュータ · 続きを見る »

コアダンプ

アダンプ(英語:core dump)は、ある時点の使用中のメモリの内容をそのまま記録したものであり、一般に異常終了したプログラムのデバッグに使われる。最近では、特定のプロセスのメモリイメージ(あるいはその一部)とレジスタの内容などの情報を格納したファイルを指すのが一般的である。しかし、本来は使用中メモリの内容を全てプリントアウトしたものを指した。 その名前は、かつて主記憶用に利用された磁気コアメモリの内容を、ダンプトラックが砂利や小麦などを大量にダンプ(どさっと落とす)するかのようにプリントアウトすることから来ている。 異常終了したプロセスがコアダンプを出力することを、俗に「コアを吐く」という。.

新しい!!: 機械語とコアダンプ · 続きを見る »

動的リンク

動的リンク(どうてきりんく)とは二つの意味がある。.

新しい!!: 機械語と動的リンク · 続きを見る »

CASL

CASL(キャスル)とは、情報処理技術者試験におけるプログラミング能力試験のために仕様策定されたアセンブリ言語である。.

新しい!!: 機械語とCASL · 続きを見る »

CISC

CISC(しすく、Complex Instruction Set Computer)は、コンピュータの命令セットアーキテクチャ(ISA)の設計の方向性の一つである。単純な命令を指向したRISCが考案されたときに、対比して(レトロニム)従来のISAは複雑であるとして、"Complex" の語を用いた "CISC" と呼ばれる様になった。典型的なCISCのISAはしばしば、単一の命令で複数の処理を行う、可変長命令である、直交性がある、演算命令のオペランドにメモリを指定できる、などで特徴づけられる。 CISCを採用したプロセッサ(CPU)をCISCプロセッサと呼ぶ。CISCプロセッサに分類されるプロセッサとしては、マイクロプログラム方式を採用したSystem/360、PDP-11、VAXなどや、マイクロプロセッサの680x0、x86などがある。.

新しい!!: 機械語とCISC · 続きを見る »

COFF

COFF (Common Object File Format) はUnixシステムで用いられる実行ファイル、オブジェクトファイル、共有ライブラリのファイルフォーマット仕様である。Unix System V で導入され、SVR4で導入されたELFによって広く置き換えられる前に、XCOFFやECOFFなどの拡張仕様の基礎を形作った。COFFとその派生種はその後もUnixライクシステムやMicrosoft Windows上で使われ続けている。.

新しい!!: 機械語とCOFF · 続きを見る »

CPU

Intel Core 2 Duo E6600) CPU(シーピーユー、Central Processing Unit)、中央処理装置(ちゅうおうしょりそうち)は、コンピュータにおける中心的な処理装置(プロセッサ)。 「CPU」と「プロセッサ」と「マイクロプロセッサ」という語は、ほぼ同義語として使われる場合も多いが、厳密には以下に述べるように若干の範囲の違いがある。大規模集積回路(LSI)の発達により1個ないしごく少数のチップに全機能が集積されたマイクロプロセッサが誕生する以前は、多数の(小規模)集積回路(さらにそれ以前はディスクリート)から成る巨大な電子回路がプロセッサであり、CPUであった。大型汎用機を指す「メインフレーム」という語は、もともとは多数の架(フレーム)から成る大型汎用機システムにおいてCPUの収まる主要部(メイン)、という所から来ている。また、パーソナルコンピュータ全体をシステムとして見た時、例えば電源部が制御用に内蔵するワンチップマイコン(マイクロコントローラ)は、システム全体として見た場合には「CPU」ではない。.

新しい!!: 機械語とCPU · 続きを見る »

Executable and Linkable Format

Executable and Linkable Format (ELF) とは、コンパイラが生成するオブジェクト、および、ライブラリとリンクされた実行ファイルのファイルフォーマットである。a.outフォーマット、COFFの後継として広く採用されている。セクション数の制限が緩く、メモリ上で連続していないファイルや、ロードされる場所と実行される場所が違う箇所を含む場合にも対応が可能な柔軟な設計となっている。 System V が採用し、GNUツールチェーンがサポートしている。今ではBSD派生OSやLinuxをはじめとするフリーなOSにおける実行ファイルフォーマット、そして、ゲーム機等を含む組み込み機器開発にも数多く使われている。.

新しい!!: 機械語とExecutable and Linkable Format · 続きを見る »

補助記憶装置

パーソナルコンピュータのハードディスク 補助記憶装置(ほじょきおくそうち)は記憶装置の分類で、「主記憶装置」がコンピュータのメインのバスに直接接続され、CPUが即座にアクセスでき、演算の対象にもできる場合もあるのに対し、外部バスに接続され、CPUからは直接アクセスできないものを指す。レイテンシやスループットは遅いが比較すると大容量である。二次記憶装置などとも。.

新しい!!: 機械語と補助記憶装置 · 続きを見る »

逆アセンブラ

逆アセンブラ(ぎゃくアセンブラ、disassembler ディスアセンブラ)は、逆コンパイラの一種であるが、実行ファイルないしオブジェクトファイルの機械語コード(とシンボルテーブルなどの付随情報)を基に、アセンブリ言語ソースコードを生成する、すなわちアセンブラの逆の作用をするものを特に指す。技術者の間では俗に逆アセなどとも略される。一般の(高水準言語コードを生成するような)逆コンパイラよりも比較的容易である。.

新しい!!: 機械語と逆アセンブラ · 続きを見る »

GNU Binutils

GNU Binutilsまたはbinutilsは、さまざまなオブジェクトフォーマットを含むオブジェクトファイルを扱うためのプログラミングツールである。現在のバージョンは、シグナスソリューションズ(レッドハットに買収された)によってBFDライブラリを使用して書かれた。binutilsの典型的な使われ方は、GCC、make、GDBなどの補助である。.

新しい!!: 機械語とGNU Binutils · 続きを見る »

Intel Pentium

Intel Pentium、(インテル ペンティアム).

新しい!!: 機械語とIntel Pentium · 続きを見る »

IOCCC

The International Obfuscated C Code Contest(IOCCC, 国際難読化Cコードコンテスト)は、故意に難解なC言語のプログラムを書き、その読みにくさと複雑さを競うというハッカーの奇祭(プログラミングコンテスト)である。.

新しい!!: 機械語とIOCCC · 続きを見る »

Portable Executable

Portable Executable (PE) は、主に32ビット及び64ビット版のMicrosoft Windows上で使用される実行ファイルのファイルフォーマットを指す。PEフォーマット自体はオペレーティングシステムやハードウェアに依存しない設計となっているため、UEFIアプリケーションのバイナリフォーマットには、PEが採用されている。また、前述のUEFIとの整合性の確保やMicrosoft製OSとのマルチブート環境の構築を容易にする目的で、x86およびx86-64アーキテクチャにおけるLinuxカーネル実行ファイルやブートローダなど、非Windows系OSのシステムファイルの一部にも用いられている。 EXEフォーマットとの互換性のため、MS-DOS上で実行すると「This program cannot be run in DOS mode.」のようにDOSで実行されない旨が表示され、プログラムが終了するなどのMS-DOSプログラムが先頭に付く。その後ろに、PE固有の識別子およびCOFFに似たデータ構造があり、MS-DOSヘッダによってそのオフセットが指されている。また、さまざまなCPUアーキテクチャに対応するため、内部に判別用のフラグを持つ。実行時にDLLというファンクション群を動的にリンクし、コンポーネントレベルでのバグフィックス、互換性の維持が行われるようになっている。また、リソース領域にアイコン等を格納でき、GUI上で表示された場合アイコンがグラフィカルに表示され、ソフトウェア判別を容易にできる。.

新しい!!: 機械語とPortable Executable · 続きを見る »

PowerPC

IBM PowerPC 601 マイクロプロセッサ PPC601FD-080-2 IBM PowerPC 601+ マイクロプロセッサ PPCA601v5FE1002 IBM PowerPC 601 マイクロプロセッサ PPC601FF-090a-2 PowerPC(パワーピーシー、Performance optimization with enhanced RISC - Performance Computing)は1991年にアップルコンピュータ、IBM、モトローラの提携(AIM連合)によって開発された、RISCタイプのマイクロプロセッサである。 PowerPCはIBMのPOWERアーキテクチャをベースに開発され、アップルコンピュータのMacintoshやIBMのRS/6000などで採用された。現在ではゲーム機をはじめとした組み込みシステム、スーパーコンピュータで広く使われている。なお、POWER3以降は、POWERファミリ自体がPowerPCアーキテクチャに準拠している。.

新しい!!: 機械語とPowerPC · 続きを見る »

Random Access Memory

RAMの種類。上からDIP、SIPP、SIMM 30ピン、SIMM 72ピン、DIMM (SDRAM)、DIMM(DDR-SDRAM) Random access memory(ランダムアクセスメモリ、RAM、ラム)とは、コンピュータで使用するメモリの一分類である。本来は、格納されたデータに任意の順序でアクセスできる(ランダムアクセス)メモリといった意味で、かなりの粗粒度で「端から順番に」からしかデータを読み書きできない「シーケンシャルアクセスメモリ」と対比した意味を持つ語であった。しかし本来の意味からズレて、ROM(読み出し専用メモリ)に対して、任意に書き込みできるメモリの意で使われていることが専らである。.

新しい!!: 機械語とRandom Access Memory · 続きを見る »

Read only memory

Read only memory(リードオンリーメモリ、ROM: ロム)は、記録されている情報を読み出すことのみ可能なメモリである。読み出し専用メモリともいう。.

新しい!!: 機械語とRead only memory · 続きを見る »

RISC

RISC(りすく、Reduced Instruction Set Computer、縮小命令セットコンピュータ)は、コンピュータの命令セットアーキテクチャ(ISA)の設計手法の一つで、命令の種類を減らし、回路を単純化して演算速度の向上を図るものである。なお、RISCが提唱されたときに、従来の設計手法に基づくアーキテクチャは対義語としてCISCと呼ばれるようになった。 RISCを採用したプロセッサ (CPU) をRISCプロセッサと呼ぶ。RISCプロセッサの例として、ARM、MIPS、POWER、SPARCなどが知られる。.

新しい!!: 機械語とRISC · 続きを見る »

VLIW

VLIWとはVery Long Instruction Word(超長命令語)の略で、プロセッサの命令セットアーキテクチャ(ISA)の一種類である。 VLIWプロセッサは、その実行ユニットが並列的に一度に実行できる、ロード・ストア・演算・分岐などの命令の複数個から成る、かなり長い命令語によってー単位の命令が構成されており、それをそのまま実行ユニットに投入する(各命令をatom、まとまったものをmoleculeなどと呼ぶこともある)。実行に複数クロック掛かるような命令もあるかもしれないが、そういったものも含めて、タイミング的に全て差し支えなく実行できるようにVLIWの機械語プログラムは書かれていなければならず、依存や順序を解決するような機構をハードウェアでは持たない。一般に、そのようなコードを生成するのはコンパイラの仕事となる。また、どうしても埋められないスロットはNOP(No Operation・何もしない)で埋め、命令語の長さは常に固定長となる。一般にVLIWプロセッサ自身はRISCのコンセプトをより押し進めたような設計であるが、以上のような「複数の機能が詰め込まれた長い固定長の命令」はマイクロプログラム方式における、いわゆる水平型マイクロプログラムを直接外に出したようなもの、といったような感じに近い。なお、「超長命令」の由来は命令語が最低でも(たとえば)128ビットといったように長いものであることからである。 スーパースカラやアウトオブオーダーなどと異なり、命令列はフェッチされたそのまま実行ユニットに投入され、投入された後も並列性の分析などといった必要がない為、ハードウェアコストの低下や動作の高速化が期待される。反面、VLIWの性能を引き出すにはコンパイラが重要である。その意味でRISCよりもさらにソフトウェアに依存する側に寄ったアーキテクチャといえる。 命令セットアーキテクチャではなく、マイクロアーキテクチャを指してVLIWの語が使われることもある。 VLIWの採用例として、サーバ向けとして商品化されたマイクロプロセッサとしては、インテルがHPと開発したIA-64(Itanium)のEPICアーキテクチャがあるが(EPICは修正VLIWアーキテクチャである、などとされることもある)、IA-64については(当初もくろんだようにx86の代替としては)普及はしていない。後述するが、組込み用プロセッサではVLIW風の設計の、複数メーカの複数の製品ファミリが継続している。.

新しい!!: 機械語とVLIW · 続きを見る »

機械語モニタ

機械語モニタ(きかいごモニタ、Machine code monitor, Machine language monitor)は、各種コンピュータにファームウェアないし基本的なシステムソフトウェアとして提供されるプログラムで、メモリ内容の補助記憶装置へのロード/ストアを行ったり、任意のメモリ位置の内容を参照および更新、実行するといった最低限の機能を持つ。 マイクロコンピュータやホビーパソコン(:en:Home computer)では広く装備され、初期のそれらではROMにこれしか搭載されていないものもあり、その入出力はBASIC等のシステムから、ローレベル処理を行う際に内部的に呼び出され使用された。 その後、ROM-BASICやDISK-BASICが標準装備され、使われる時代でもMONコマンド等で機械語モニタを使うことができた。 一部のクリーン設計の機種等では、本体側にはIPLしか存在せず、モニタも補助記憶装置から、読み込まれる形になっていた。 高機能な機械語モニタは、簡易デバッガとしても機能し、絶対アドレス指定方式のアセンブラや逆アセンブラの機能も備えていた。機械語モニタだけでソフトウェアをプログラミングしてしまうこともそう珍しいことではなかった。 以後のパーソナルコンピュータでは、アセンブラ・デバッガ・OSのそれぞれの充実により、機械語モニタのような低機能なインターフェイスや、処理をユーザーに要求することは少なくなった。 現代では、組み込みシステムの開発用ターゲット環境のファームウェアや、EFIのコマンド環境・Open Firmwareなど、開発目的等のローレベルにハードウェアを制御する必要がある場合に使用は限られている。 Category:ソフトウェア開発ツール.

新しい!!: 機械語と機械語モニタ · 続きを見る »

ここにリダイレクトされます:

ネイティブコードマシンコードマシン語命令コード機械コード

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »