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

この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と関連する良く見られている質問

Qgroovy は今でも使用されていますか

groovy という単語は、(レコードの)「溝」から来たそうですね。Simon & Garfunkel の歌にも Feeling Groovy という副題の歌がありました。また、名詞groove も、What a groove! などと使えるようですが、この groovy という単語、今でも英語圏で頻用されているのでしょうか。
私は93年にオクラホマの高校で教育実習生としていましたが、現地の高校生は Cool としか言わなかったように思うのですが、最近の事情をご存じの方、お教え下さい。

また、このように、使用頻度を確認できるコーパスのようなサイトがありましたらご紹介下さい。

Aベストアンサー

Gです。

もし子供に'Dad, you lived in a groovy era"と言われたら、groovyは時代に生きたではなく、恐竜の時代に生きていたんだよ!古い、古い!、と言われているんですね。

ですから、あの時代(35年前)を笑うコメディーで使われたりはしますが、日本語の最近死語と言われるようになった単語と同じレベルだと思ってください。

意味が分かる程度では、使われるとはいえないと思いますよ。 ま、意味がわからない20代の人入るかもしれませんね。知ってても、「吾が輩は」を知っているけど、使わない、と同じですね。

なお、私も、Groovyと言われていた時には生きていましたよ。 <g>

QVisual Stadio2008 Releaseビルドで作成される<アセンブリ名.xml>とは?

Visual Stadio2008 にてビルドすると
exeの同階層に<アセンブリ名.xml>が作成されます。
内容はクラスや関数、変数が定義されているように思われます。
そこで以下の2点、質問です。
 ・具体的にどのような機能なのでしょうか。
 ・ユーザにexeインストールの際、必要でしょうか。

環境は
 ・VisualStadio2008 SP1 Standard Edition
 ・VB.NET
です。

よろしくお願いします。

Aベストアンサー

ビルドしたアセンブリのソースコードに含まれるXmlコメント(<summary>~など)を集約したものです。出力されたXmlからAPIリファレンスなどを作成するために使用します。

・具体的にどのような機能なのでしょうか。
インテリセンスがこのXmlファイルを使っているような記述がMSDNにありました。
[ MSDNより ]
生成した XML ファイルを Visual Studio の IntelliSense 機能で使用するには、XML ファイルの名前をサポートするアセンブリの名前と同じにします。XML ファイルをアセンブリと同じディレクトリに格納して、アセンブリが Visual Studio プロジェクトで参照されるとき、.xml ファイルも同時に見つかるようにしてください。IntelliSense がプロジェクト内のコード、またはプロジェクトによって参照されるプロジェクト内のコードを処理するために、XML ドキュメント ファイルは必要ありません。
[ /MSDNより ]
(-"-;) 結局必要なのか不要なのか・・・

・ユーザにexeインストールの際、必要でしょうか。
クラスライブラリとして配布するのであれば有用かもしれませんが、exeなら不要だと思います。

@ITに具体的な活用例が載っているので参考になれば。

参考URL:http://www.atmarkit.co.jp/fdotnet/teamdev/teamdev02/teamdev02_01.html

ビルドしたアセンブリのソースコードに含まれるXmlコメント(<summary>~など)を集約したものです。出力されたXmlからAPIリファレンスなどを作成するために使用します。

・具体的にどのような機能なのでしょうか。
インテリセンスがこのXmlファイルを使っているような記述がMSDNにありました。
[ MSDNより ]
生成した XML ファイルを Visual Studio の IntelliSense 機能で使用するには、XML ファイルの名前をサポートするアセンブリの名前と同じにします。XML ファイルをアセンブリと同じディレクトリに格...続きを読む

Qイオン式と組成式と分子式の違いについて質問です。 化学式とは〜式の総称だというのはわかるのですが、

イオン式と組成式と分子式の違いについて質問です。
化学式とは〜式の総称だというのはわかるのですが、
組成式と分子式、イオン式の違いがよくわかりませんでした。
これは表すものが違うことで生じた名称なのでしょうか?
それとも同じものでもそれぞれの式で表せるのでしょうか?
後者が当てはまる場合はそれぞれの式で表した場合の違いを具体的なもので教えて頂けると助かります。

Aベストアンサー

イオン式 イオンを表すときに用いる式 H+ (SO4)2- 等。

組成式 物質の元素構成について重点を置いて表す式、FeC3(セメンタイト、鉄と炭素の合金、分子として存在はしていない)、P2O5(五酸化二リン、実際の化合物の分子はP4O10)。

分子式 分子の元素構成を表す式、P2O5(五酸化二リン)の実際の化合物の本当の分子式はP4O10で十酸化四リン。

化学式の中でも、イオン式はイオンの電荷の状態を表す必要があるため組成式や分子式とは異なるが、
複雑な構造の分子のイオン状態を表そうとした場合、イオン式か分子式か組成式かの呼び方が曖昧になってきます。

組成式と分子式の違いも不明瞭ことがありますね、
セメンタイト等の金属材料の析出物は、ある結晶構造を持つが”分子”という形態を取らないため組成式でしか表せないことが多いです。

また、上記で例に出した五酸化二リンは、分子的には十酸化四リンが正しいが、慣用的に五酸化二リンと用いられることが多いです。
他に、分子の構造を表すことに重きを置いた構造式(数種有り)や、
実験式(構造や組成を確かめる途中の元素構成をアバウトに表した式)等がありこれは組成式に近い表し方をします。

何を表すかによって、式を使い分けている部分がある。
明確な区分が存在していない部分もある。
慣用的に昔からだから…という部分もある。
化学の分野によって、特に、構造式、分子式、組成式と断らなくても通じてしまう部分がある。

中高の教科書で教わるような基本的なことなのですが、曖昧に使い分けていることが時々ありますね。

イオン式 イオンを表すときに用いる式 H+ (SO4)2- 等。

組成式 物質の元素構成について重点を置いて表す式、FeC3(セメンタイト、鉄と炭素の合金、分子として存在はしていない)、P2O5(五酸化二リン、実際の化合物の分子はP4O10)。

分子式 分子の元素構成を表す式、P2O5(五酸化二リン)の実際の化合物の本当の分子式はP4O10で十酸化四リン。

化学式の中でも、イオン式はイオンの電荷の状態を表す必要があるため組成式や分子式とは異なるが、
複雑な構造の分子のイオン状態を表そうとした場合、イオン式か分...続きを読む

Qアセンブリ名とは??

超初心者です。
今、VB.Netを使用して、プログラミングをしています。先輩に、『アセンブリ名を変更してください』と言われ、言われるまま変更したのはいいのですが、
アセンブリ名とは、いったい何でしょうか??
説明を受け、識別名だとは解かったのですが、今一、はっきりせずにいます。どなたかもう少し、細かく(解かりやすく)説明頂けないでしょうか??
宜しくお願いします。

Aベストアンサー

exe名、若しくはdll名など

Qイオン反応式・組成式の表記の仕方の違いについて

私は今高1で化学Iを勉強しています。

そのなかの組成式で持った疑問についてです。


化学反応式やイオン反応式や電離式では

化学反応式の例) 2H2O2→2H2O+O2

イオン反応式の例) 2Ag^+ +Cu→2Ag +Cu^2+


組成式の例) 酸化ナトリウム Na^2O  ※ナトリウムイオン Na^+  酸化物イオン O^2-


化学反応式イオン反応式や電離式では化学式の係数がその式のもっとも簡単な整数比を表して

いますよね?

ですが組成式ではその式のもっとも簡単な整数比を表している所は元素記号の右下ですよね?


なぜ簡単な整数比を表しかたがそれぞれ違うのですか?

これはただの決まりなのでしょうか?
 

Aベストアンサー

イオン反応式や電離式は化学反応式の一種。
化学反応式というのは、
ある化学反応について、反応物や生成物を化学式で書いて矢印で結び、係数をつけてその反応する比をあらわしたもの。

組成式は化学式の一種。
カテゴリの違うものを比較しようとしても意味はないですね。

Qロードしたアセンブリを常に保持したい

Public Class Loader
  Public Shared Function loadClass(ByVal className As String, Optional ByVal filePath As String = Nothing) As Boolean
    If Not Type.GetType(className) Is Nothing Then
      'アセンブリにロードされている場合は何もしない
      Return True

    Else
      'アセンブリにロードされていない場合はDLLをロードする
      If System.IO.File.Exists(filePath) = False Then
          Return False
      End If
      Dim asm As [Assembly] = [Assembly].LoadFrom(filePath)
      Dim classType As Type = asm.GetType(className)
      If classType Is Nothing Then
        classType = Nothing
        asm = Nothing
        Return False
      End If
    End If

    Return True
  End Function
End Class

http://www.atmarkit.co.jp/fdotnet/dotnettips/386createinstance/createinstance.html
ここを参考にし、VB2005でこんなクラスを作りました。
ロードしたアセンブリは常にロードされた状態かと思っていて、
ロードしたアセンブリ内に存在するクラスを外部クラスでインスタンス化
できると思っていたのですが、どうやら上記コードのままでは
その時限りのようなのです。
(つまり変数asmが有効なスコープ内のようです)

一度ロードしたアセンブリは、アプリケーションが閉じられるまで
ロードされる状態にする方法はありませんでしょうか?

Public Class Loader
  Public Shared Function loadClass(ByVal className As String, Optional ByVal filePath As String = Nothing) As Boolean
    If Not Type.GetType(className) Is Nothing Then
      'アセンブリにロードされている場合は何もしない
      Return True

    Else
      'アセンブリにロードされていない場合はDLLをロードする
      If System.IO.File.Exists(filePath) = False Then
          Return False
      End If...続きを読む

Aベストアンサー

とりあえずasmをsharedで変数宣言すればいいかも。

それで不足なら「シングルトン」のサンプルを探して実装してみるといいかも。

Q示性式について

組成式がCH2O
分子式がC2H4O2
となった物質がありました。
その物質はカルボキシル基を持っていたそうなので、
-COOOを組成式と分子式に足した結果、
組成式が方が-CH2OCOOOと
分子式の方が-C2H4O2COOO
という示性式が出来上がったのですが答えは
CH3COOO
となっていました。

示性式とはどの式にカルボキシル基を足すものなのでしょうか?
それとなぜ組成式と分子式に足す場合に元のOが消えている気がするのですがなぜでしょう?
組成式、分子式、示性式CとHとOはどの順番に並べてもいいものなのでしょうか?

ご回答の方よろしくお願いします。

Aベストアンサー

まず、カルボキシル基は-COOHです。-COOOではありません。
そして、組成式というのは原子の個数の比率しか表しておらず、実際の構造を考える直接のヒントにはなりません。
分子式がC2H4O2ということですので、この物質は炭素原子2個、水素原子4個、酸素原子2個でできています。
「○○基を持つ」とは、分子を構成する原子がどのように結合していたかのことです(これは日本語力の問題)。
C2H4O2にさらに-COOHがつくのではなく、C2H4O2のうち一部の原子のつながりが特定できたと言うことです。
よって、C1個とH3個は未確定ですが、-COOHだけは確定です。
このあと-COOHの左につながる原子を考えるのですが、
HをつなげてしまうとH-COOHで完結してしまい、分子式C2H4O2になりませんからこれは違います。
ということでCをつなげます。C-COOHとなり、Cの残った結合の手にさらに3つ水素が結合できますから
CH3COOH、分子式にしてC2H4O2となって題意を満たします。

高校化学の構造解析は所詮パズルです。楽しみましょう。

組成式、分子式はC,H,Oの順に書くのが慣例で、
示性式は特定の官能基を目立たせて書く物ですから、その官能基がわかるように書かねばなりません。
官能基がわかれば性質がわかる、だから示性式と言います。

まず、カルボキシル基は-COOHです。-COOOではありません。
そして、組成式というのは原子の個数の比率しか表しておらず、実際の構造を考える直接のヒントにはなりません。
分子式がC2H4O2ということですので、この物質は炭素原子2個、水素原子4個、酸素原子2個でできています。
「○○基を持つ」とは、分子を構成する原子がどのように結合していたかのことです(これは日本語力の問題)。
C2H4O2にさらに-COOHがつくのではなく、C2H4O2のうち一部の原子のつながりが特定できたと言うことです。
よって、C1個とH3個は未...続きを読む

Q第二水準漢字が含まれるか?

テキストファイル内にJIS第二水準の文字が含まれているかを検索する方法はありますか?フリーソフトでもかまいません。
やりたいことは、
1.第二水準漢字がふくまれるか
2.第二水準漢字が何個存在するか?
3.第二水準漢字の抽出
のいずれかですが、3ができたら最高です。

Aベストアンサー

カテゴリがVisual Basicでかつ回答済みではありますが、「フリーソフトでもかまいません。」の記述があったので、一応フリーソフトの方を回答してみます。

日本語対応の正規表現が扱えるユーティリティソフトであれば、比較的容易にJIS第二水準漢字を抽出できると思います。

JIS第二水準は、
弌 (区点48 01、JIS 0x0521、SJIS 0x989F)から
熙 (区点84 06、JIS 0x7426、SJIS 0xEAA4)まで
ということですので、「弌」から「熙」までの範囲の「漢字」を探せばよいということになり、その範囲の正規表現は

[弌-熙]

となります。grep するなら

grep '[弌-熙]' 対象ファイル

です。
またサクラというテキストエディタなら、
[検索(S)]-[検索(F)...]で開いているテキストを対象にして、または
[検索(S)]-[Grep(G)...]で複数ファイルを対象にして、
検索条件欄に [弌-熙] という5文字を指定して、[正規表現]をチェックしてから、検索してみてください。

●サクラエディタプロジェクト
http://sakura-editor.sourceforge.net/

おじゃましました。

参考URL:http://sakura-editor.sourceforge.net/,http://www.shuiren.org/chuden/teach/code/main4.htm

カテゴリがVisual Basicでかつ回答済みではありますが、「フリーソフトでもかまいません。」の記述があったので、一応フリーソフトの方を回答してみます。

日本語対応の正規表現が扱えるユーティリティソフトであれば、比較的容易にJIS第二水準漢字を抽出できると思います。

JIS第二水準は、
弌 (区点48 01、JIS 0x0521、SJIS 0x989F)から
熙 (区点84 06、JIS 0x7426、SJIS 0xEAA4)まで
ということですので、「弌」から「熙」までの範囲の「漢字」を探せばよいということになり、その範囲の正規表現は
...続きを読む

Q回帰式と近似式について

回帰式と近似式の違いについてどなたか教えてください。
回帰式とは最小二乗法で求めた式(1次式に回帰して?)、近似式とは実測値に基づいてなんらかの方法で算出した式の事でしょうか?数学の知識に乏しいのでよくわかりません。宜しくお願い致します。

Aベストアンサー

No.2です。補足質問にお答えします。

> 予測値と実測値の差は 回帰式<近似式 なのでしょうか?

ちょっと意味不明です。

もう一度整理してみます。
まず回帰式と近似式は別物と考えた方がいいです。
y=f(x)という関数(理論式又は経験式)が有るとします。

関数そのものは判っているが、複雑で取り扱いが面倒なので
実用的に差支えが無い程度に簡略化して使うというのが近似式です。
No.2であげた例がそれにあたります。

次に関数の次数はわかっているが係数が判らない時又は全く何もわからない場合に
実測値又は実験値から元の関数を推定するのが回帰式です。
これは統計的処理というか数学的(算数的)処理で行います。

さらに
理論値・・理論式がわかっている場合
予測値・・普通は経験式がわかっている場合
実測値・・説明の必要は無いでしょう
近似値・・近似式で値を求めた場合、
  又はまるめを行った場合:例えば円周率πを3.14で近似

最後に、無理やり解釈すれば回帰式は理論式又は経験式の代用品という意味では
近似式の仲間に入ると言えなくも無いでしょう。
真ならずとも遠からず・・ですね。

No.2です。補足質問にお答えします。

> 予測値と実測値の差は 回帰式<近似式 なのでしょうか?

ちょっと意味不明です。

もう一度整理してみます。
まず回帰式と近似式は別物と考えた方がいいです。
y=f(x)という関数(理論式又は経験式)が有るとします。

関数そのものは判っているが、複雑で取り扱いが面倒なので
実用的に差支えが無い程度に簡略化して使うというのが近似式です。
No.2であげた例がそれにあたります。

次に関数の次数はわかっているが係数が判らない時又は全く何もわから...続きを読む

QVisual Basic6.0でRS232-Cを介して機械を動かす方法を教えてください

Visual Basic6.0(VB6)で機械(二軸ステージコントローラ)を制御したいのです。
機械側には、「RS232-Cストレートケーブルを使用してください」と書いてあります。
RS232-Cで情報を送信するには、VB6の中のMSCommというコマンドを使えば良いということは分かりました。
ただ不明なのは、RS232-Cには、クロスケーブルとストレートケーブルがあるらしいのですが、その違いがよくわかりません。
ちなみに、パソコン側は9ピンで、機械側は25ピンです。
よろしくお願いします。

Aベストアンサー

ケーブルも製作するのでしょうか? そうでなければ、ショップに行って
25ピンのストレートケーブルと9ピン→25ピン変換アダプタを、または
9ピンのストレートケーブルと25ピン→9ピン変換アダプタを買うだけです。
ただし、コネクタにはオス/メスがあるので装置側やPC側のコネクタと合わせるためにさらに変換アダプタが必要になる場合があります。

自作する場合は、25ピンの場合だと
2番ピン同士、3番ピン同士、7番ピン同士をそれぞれ配線します。
そして制御信号の処理のために、コネクタ内で
4番と5番を配線、6番と8番と20番を配線すれば確実です。

9ピンコネクタの場合は、ネットで調べてください。


人気Q&Aランキング

おすすめ情報