dポイントプレゼントキャンペーン実施中!

まったくの素人がこのカテゴリーで質問するのも
どうかなと思ったのですがお許し下さい。
コンピューターが理解できるのはマシン語なんですよね。
このマシン語っていうのは世界共通ですか?
例えて言えばAという処理をする場合どんなプログラミング言語で
書いてもひとつのマシン語にいきつくということなのかという事
なんですが・・・。もうひとついえば炊飯器だろうがNASAの
ロケットだろうがコンピューターが理解してるのは同じマシン語
なのかということなんですが
言ってる事わかりますでしょうか?
わけわからなかったら無視してください。すみません。
変な質問?ですみません。

A 回答 (3件)

同じマシン語ではありません。



総じてアセンブラ(アセンブリ言語)と呼ばれるものです。
今の方々はご存じないかもしれませんね。

「人間には理解しづらいが、機械にはとっても理解しやすい言語」と言えます。
BASICとかC言語とか、英単語に近いので、人間が理解するのはたやすいのですが、これを機械に処理させるときは、いったん「人間語から機械語に翻訳する」という作業が入ります。そのため、実行速度が(相対的に)とっても遅くなるのです。

アセンブラなら、最初から機械が理解しやすい構造で書かれていますので、処理速度がとても速いです。

大昔に8ビットマイコンの組み立てを行った経験のある方の多くは、アセンブラを勉強したものです。(それ以外なかったので)

今ではコンピュータの処理速度の進化がめざましいため、高級言語で組んでもマクロ的には大差ないのでしょうね。
CPUが16ビット、32ビット、64ビットと進化していったため、ほぼ絶滅したようです。

尚、このアセンブラ言語は、方言がたくさんあって、あまり汎用性は高くありません。8ビットのころは、メーカー毎にハード仕様が異なっていました。なのでソフトであるアセンブラにも全く互換性がありません。NECと富士通とIBMでは、全く互換性が無かったのです。
だからこそ、メーカー毎に個性があり、コアなユーザーも生まれました。

私大昔にインテルやモトローラのアセンブラ(やニーモニックと呼ばれる数字の羅列)を覚えましたけど、今でも処理系の設計には、当時の勉強が役に立ってますよ。だから、機会が有れば勉強されても良いでしょう。
    • good
    • 0
この回答へのお礼

マシン語にもいろいろあるんですね。
アセンブラは聞いたことがあります。
こういうのでプログラムを組めればすごいですよね。
ありがとうございました。

お礼日時:2007/05/22 19:47

マシン語は、CPUによって異なります。


しかし全てのCPUで互換性がないと困るので、より上位のCPUは下位のCPUの命令も含んでいる場合が殆どです。この「命令群が共通のCPU」を「ファミリ」「シリーズ」などと呼んでひとくくりにします。

例えば、Windowsが動作するのは「Intel x86」命令をサポートしたIntel社のPentium, Celeron, Core2Duo等がファミリ扱いされます。
あるいは別会社であるAMDが作ったAthron64, Opteron, Sempron等も含まれます。(あまり「ファミリ」とは言わず、「互換CPU」と言われますが)

他にも、ARM系、SH系、Power系(XBOX360やPS3のCELL(の一部))など、同じ命令セットをサポートするCPUがあります。

まあ、世界中で別々の民族が、それぞれ独自の言語で会話している様子をCPUの当てはめれば、だいたい似たような物かと。
    • good
    • 0
この回答へのお礼

いろいろあるんですね。
いまだに私にとっては不思議な世界です。
プログラムを組める人ってほんと尊敬します。
ありがとうございました。

お礼日時:2007/05/22 19:52

>このマシン語っていうのは世界共通ですか?


機種やCPUに依存します。世界共通の言語を使いたいのであれば、JAVAを使ってください。
    • good
    • 0
この回答へのお礼

どうもありがとうございました。

お礼日時:2007/05/22 19:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!