• ベストアンサー

現在、アセンブラは使われていますか?

タイトル通りなのですが、現在、アセンブラは使われていますか? 組み込み屋さんなどでは使われているような気がしますが・・・ 使われているとしたら、どんな風に使われているのでしょう? 学校で習うZ80みたいな感じなのですか? それともC言語みたいな高級言語でやっているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kmor
  • ベストアンサー率27% (225/825)
回答No.1

家電製品など制御系分野では根強く使われています。 留守番電話機など小さいものや特に複雑な処理が必要でないものは4bitマイコンが使われていますね。 一方複雑な処理や、処理速度が求められるものは80286や、68000などが使われています。 大規模なシステムになるとハード周りはアセンブラ、その他の処理はC言語など組み合わせて使ったりします。

その他の回答 (1)

  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.2

小型組み込み機器の世界ではCPUはRISC化していっています。 ・CISCよりRISCの方がCPUを小型化できる ・冷却機構なし動作することが多いので、低クロックで動作させることが多い(CISCよりRISCの方がクロックあたりの処理数は多くできる) などの理由です。 RISCタイプのCPUのアセンブラを人間が書くのはタイヘンです。 本当に「CPUの気持ち」になって設計/コーディングしないとCで書いたプログラムよりも遅くなったりします。 だからと言ってアセンブラでのコーディングがなくなっているわけではなく、やっぱりアセンブラで書くべきところにはアセンブラが使われています。 学校でアセンブラを習っていらっしゃるならわかると思いますが、アセンブラと言う言語は非常に単純で習得は簡単ですが記述量が多く「非常に面倒くさい言語」です。 反面Cなどの高級言語は構文が複雑で習得に時間がかかりますが、ロジックの記述は非常にスムーズです。 誰が動考えても高級言語を使うところなんですが、仕様的に「アセンブラじゃないとダメ!」という世界(「24クロックでループ1周まわしたい」とか「この処理を128バイト以内で記述しないといけない」とか)があるのです。 結果、「仕様のキツイところはアセンブラ、その他は高級言語」という住み分けが出来ています。 RISCタイプのCPUには「人間が記述したアセンブリ言語のソースをアセンブル可能な言語トランスレータが存在しない」という特殊なCPUがあります。 CPUアーキテクチャが複雑すぎて人間の手におえないのです。 こういうCPUではどんなロジックでも高級言語で書く以外に手段がありません。

関連するQ&A

  • 組み込みアセンブラとは何ですか?

    私はx86でアセンブラを勉強中ですが、ネットでアセンブラ関係のことを検索していて組み込みアセンブラという記述をを見ました。 C言語から利用する場合インラインアセンブラより良いとかなんとか。 組み込みアセンブラという名前も怪しく合っているかわかりません。 掲示板のようなところで組み込みアセンブラの方が良い、早いと書いてありました。いろいろ検索して見かけたのでどこの掲示板かもわかりません。後から探したのですが見つけることができませんでした。 そこで質問なのですがそのその組み込みアセンブラとは何なんでしょうか? C言語からアセンブラを利用する場合、今読んでいる本「やさしいアセンブラ入門」にはインラインアセンブラとアセブラ言語モジュール(オブジェクトファイル)をCプログラムでリンクする方法の2種類が書いてありますが。組み込みアセンブラはモジュールで使うということでしょうか? 違うとすればどのような方法でアセンブラを利用することでしょうか? わかる方教えてください。ヨロシクお願いします。

  • アセンブラの機能について

    今、アセンブラの勉強をしているのですがある書籍の説明文において 「ハードウェアすなわちコンピュータが用意している機能を原理的にはすべて使用してプログラムを作成できる。」 ということや、 「C言語などの高級言語には存在しない、ハードウェアに予め用意されている機能を利用してのプログラム製作が可能」 という記述があったのですが、具体的にアセンブラには高級言語には存在しないどのような機能が内臓されているのでしょうか? 私は多少C言語およびJavaの経験があるのですが、是非ともアセンブラとの比較を勉強したいと思い、この疑問が浮かび上がりました。 分かる方、よろしくお願いいたします。

  • アセンブラについて

    アセンブラでプログラミングを書くとき c言語だと説明文などを/* */ や // で書けると思うのですが アセンブラはどうすれば良いですか?

  • 組み込みプログラマ

    制御系(マイコン)のプログラマに就職が決まった大学生です。 現在、アセンブラの勉強をしています。 今まで、Z80、PICの経験があります。 しかし、C言語で組み込み系のプログラムを書いたことはありません。 そこで、実際に組み込み系で働いておられる方に質問があります。 1.現在のマイコンではC言語が主流ですか? 2.アセンブラだけでは食っていけませんか? 3.組み込み系は寿命が長いと聞いたことがあるのですが、   本当でしょうか?

  • アセンブラ言語についてです。

    こんにちは。 現在大学3回生で就職活動をしております。 ESに得意科目の欄があり、大学の講義で習ったアセンブラ言語と書こうと思います。 アセンブラ言語は、将来どのような役に立つのでしょうか?? アセンブラ言語を学んでCやJAVAのプログラミングに生かせるのでしょうか?? 知識としては、基本情報技術者のCASLIIの問題が解ける程度です。 よろしく願いします。

  • アセンブラの配列処理

    C言語の配列処理は下記のように簡単に出来ますが、 アセンブラ(Z80)で同じような事が出来るのでしょうか? int Data(2) Data(0)=10 Data(1)=20 Data(2)=30

  • アセンブラでWindowsAPI

    アセンブラだけでWindowsAPIを叩いてウインドウを表示させることはできるのでしょうか。C言語で普通にできるので、相当複雑になるとは思いますが、当然アセンブラでもできると思います。C言語だと変数の型の名前なども変な名前がいろいろ付いていて裏で何をやっているのかさっぱりわかりません。普通に使う分には問題ないのですが、ブラックボックスのような感じで気持ち悪いのです。どのような命令でAPIが呼び出されているのかCPUレベルで知りたいです。C言語の呼び出し規約ということで、MS-DOSのシステムコールみたいなものとは違うと思うのですが、どうなのでしょうか。

  • アセンブラ言語がわかりません。

    初心者です。まとを得ていない質問でしたらすみません。 C言語は理解できる程度なのですが、アセンブラのコードを書く事ができません。 今アセンブラ言語を学び始めた所ですが、「jr」「jarl」「jmp」などの分岐命令の指定の方法がわかりません。 C言語でいうとどういうコードを書いた時に、このような命令を出力できますでしょうか。 本を読んでも、この上記の命令の意味は書いてあるのですが、実際出力が出来なかったもので。 またアセンブラ言語を学ぶためにいい方法などありましたらお教えく頂けないでしょうか。 よろしくお願いします。

  • アセンブラ言語CASLII

    タイトルにあるように、このアセンブラ言語がよくわかりません。 詳しいサイトがあれば教えてください。

  • アセンブラ→C言語

    アセンブラを学んでから C言語を学ぶとわかりやすい(理解しやすい) と聴きました。 どうやって勉強すれば良いですか? やっぱり本屋さんでアセンブラについての本を買って 勉強した方が良いですか? 今まで全くコンピュ-タ-についての言語を 習ったことがありません。