機械語アセンブリ言語高水準言語について詳しく教えてください

このQ&Aに関連する最新のQ&A

A 回答 (7件)

コンピューターの中には、汎用機からマイコンに到るまで、CPU(中央演算処理装置)と言うものが入っています。


CPUの中には、役割を持った箱(アドレス)がたくさん用意されており、その箱にデータをセットすることによりコンピューターは命令を実行します。
マシン語(0101の世界ですね)を理解して全ての箱(アドレス)を人が自由に使えればよいのですが、そのようなことはほとんど不可能なので、プログラム言語と呼ばれるものを開発しました。
最初にアセンブラと呼ばれるものが出来、それはアドレスを意識しないでも扱えるようにしたものです。たとえば足し算ならば ADD A B(A=A+Bの意)と書けば足し算が誰にでも書けるようにしたものです。
この段階でもどこにどの命令をセットしなれければならないなどの制約があります。
☆アセンブラはOSに依存しない。スピードが速いなどのメリットがあります。
 ただし、CPUごとに言語が存在します。
アセンブラを扱うには、ある程度コンピューターのことを知らなければならないために一般の人が覚えるのは非常に難しいです。また、プログラムの行数が非常に多くなるために開発効率の悪いものです。
そこで、高級言語と呼ばれるCOBOL,PASCAL,FORTRAN等の開発効率の良い言語が生まれてくるようになります。
高級言語は、ひとつの命令(print等)でアセンブラの命令で数百行分を記述したのと同じ意味を持ったものです。
高級言語を使うことにより、人が読むことの出来る言語になった訳です。ただし、人が読める言語はコンピューターには理解できないので、翻訳(コンパイラ)作業をしてあげる必要が出てきます。通常は完全にマシン語にするのではなく、中間言語に翻訳します。
中間言語を実行時にマシン語にすることにより、コンピューターはプログラムを実行するのです。プログラムを訳しながら実行するのでマシン語に比べ速度は落ちます。
    • good
    • 0

 再レスです。


ENIACは1946年に真空管約18,800本、リレー15,000個が使用された世界初のコンピュータで、10桁10進固定小数点演算を当時としては驚異的な速さで計算し、実際に弾道計算などに利用された。プログラムの変更は回路の配線の変更で行った。(標準パソコン用語事典:秀和システムから引用)とありますから、実際に使われたのでしょうネ?

 NHKの特集?で、女性オペレータが忙しくプラグの差込や、スイッチの切り替えをしていましたネ? 数日前に、霞ヶ関ビルの特集をしていましたが、構造計算でFORTRANを使い当時の最高速のコンピュータで8ヶ月?要したとか、現在のパソコンで同じプログラムで計算させると数分でできると聞きました。この話が10年以上昔のことです。現在はどのくらいかかるでしょうか?数秒かもしれませんネ?

世間話のようなもので申し訳ありません(^^;
    • good
    • 0

エアニックではなくて、エニアックです。

> honiyonさん
    • good
    • 0

こんにちは、honiyonです。


 brogieさんの回答に補足します。
 私の知っている「バグ」の由来はちょっと違います。
 ワンボードマイコンより更に昔。 「エアニック」というコンピュータがありました。 世界で最初と言われているコンピュータです。 真空管で構成されており、大きなフロア一面を使うくらい巨大なもので、電力も相当なものでした。
 そのコンピュータの真空管に虫が感電し、コンピュータが正しく動作しなくなった事に由来していたと思います。

 ただ、その感電したコンピュータがエアニックかどうかという点には自信がありません...

 因みにエアニックは、計算の信頼性が低かったため、実用には向かなかったそうです。 その大きさと消費電力だけで十分非現実的ですけどね(笑)

参考URL:http://www.jks.is.tsukuba.ac.jp/~e961452/hikalu/ …
    • good
    • 0

 パソコンがマイコンと言われていた頃は、ワンボードマイコンというものがありました。

これはアドレスを指定して、データを一つずつ入力していました。16進数でした。その前までは、スイッチがアドレス用とデータ用があり、スイッチをON、OFFしてデータを入力していました。もちろん、ON、OFFは1と0です。2進数です。 スイッチの間に虫が挟まりプログラムが動かなった(bug)ことがら、バグという言葉が出てきたという話を聞いた覚えがあります。その虫を取ることがデバッグ(debug)です。・・・・・・これがマシン語(機械語)です。

 最初に出来た高級言語がFORTRANです。これで組まれたプログラムがメインフレームといわれる大型コンピュータで動いていました。これらのプログラムもやがては改良やバージョンアップが必要になります。そのときにプログラマが大変なことに気がつきました。プログラムが読めないのです。自分が作ったプログラムです。ましてや、他人が作ったプログラムはなお更です。

 これがいわゆる「スパゲットプログラム」です。スパゲット見たいに絡み合ってプログラムの流れが分からないのです。GOTO文の乱用です。これを改良したのが「構造化プログラム」です。PASCALが有名です。1972年頃です。みなさんが大好きなC言語も同じ頃です。

 10年位前から「オブジェクト指向プログラミング」が流行?しました。いまのC++やオブジェクトPASCALなどがそうです。本当は「smalltalk」という大変立派なオブジェクト指向プログラミング言語(環境まで含めて)があります。

 VC++やBORLAND C++ BuilderやDelphiなどWinで使いやすいソフトがあります。
勿論、FORTRANやCOBOLも健在です。

 歴史を踏まえての言語の簡単な説明をしてきました。長くなりますから、ここらで終わります。関係するサイトを検索すると詳しい説明があるでしょう。
    • good
    • 0

こんにちは、honiyonです。



 それらはコンピュータのプログラミングに使うプログラム言語の種類
 を指します。 簡単に言うと以下のようになります。
●機械語
 コンピュータが理解できる言葉。
例)1000101101101

●アセンブリ言語
 機械語の1010を英単語に置き換えたもの
 例)MOV a,01h  (大体こんな感じ(^^;

●高水準言語
 人が分かりやすい言葉にしたもの
 例)PRINT "HELLO!!World!"

 詳しくは、インターネットの情報を検索してみてください。
 いくらでも出てきます。
 また、情報関係の教科書にも載っているはずです。

 参考になれば幸いです(..

参考URL:http://www.yahoo.co.jp/
    • good
    • 0
この回答へのお礼

どうもありがとうございましたレポートの参考にします

お礼日時:2001/05/17 22:25

機械語…マシン語。

CPUが直接解釈/実行できるプログラムコードのことです。
http://www.ascii.co.jp/ghelp/15/001563.html

アセンブリ言語…機械語のひとつひとつにニーモニック(略語)を割り当てた言語のことです。
http://www.ascii.co.jp/ghelp/57/005733.html

高水準言語…高級言語。機械語やアセンブリ言語などの低級言語(低水準言語)に対して、人間が理解しやすいように文法を設計した言語のことです。機械語に翻訳(コンパイル)して実行されます。

参考URL:http://www.ascii.co.jp/ghelp/index.html
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード


人気Q&Aランキング

おすすめ情報