No.1ベストアンサー
- 回答日時:
プログラム言語の中でも、もっとも機械よりの言語(機械語除く)ですね。
何ができるというより、何でもできます。
他の言語では実行する際にはコンパイルして機械語に翻訳して実行します。で、この機械語とアセンブラは1対1に対応しています。通常のC言語やCOBOLなどでコンパイルして100行になるプログラムでも、アセンブラですと50行ぐらいで記述する事も可能です。
命令自体が少ないですし、本番の問題には言語仕様も記述されます。非常にシンプルなプログラムになります。他の言語に比べて読解力を必要としませんので、試験の合格だけを求めるならおすすめの言語です。
No.8
- 回答日時:
CASLはあくまで仮想言語です。
で機能も最低限の物しか実装されていません。
ですからCASLのアセンブラではできることは
他の言語より何もないと考えた方が良いです。
あくまで勉強用言語。(二種(基本)受験用言語)。
基本情報処理を受ける気がないならMASMなんかの
x86系CPU用物を使ってx86系CPUの物を覚えた方が
いいとおもいますよ。
ただしパソコンレベルだとほとんどの分野において
アセンブラで行う必要性はなくアセンブラを覚える
時間で他の言語を2~3個でも覚えた方がいいと思いますよ。
No.7
- 回答日時:
★アセンブリ言語について
・CPU命令の1つ1つに対応したニーモニック(キーワード)が用意されている言語です。
・高級言語(人間が分かりやすいタイプ)に対して低級言語(人間にとって分かりづらい)という
言葉があり、アセンブリ言語はその『低級言語』タイプです。
・今は高級言語で高級言語(C,C++,VB,Java…)のコンパイラを作成していますが、最初は
アセンブリ言語で作られました。→さらにさかのぼると『アセンブリ言語』の前は機械語の
CPU命令の 16 進コード一覧を元に作成していたようです。
・本題の『アセンブラ言語って何をするための言語なんですか?』というのは今となっては
ソフトの高速化や、最適化などコンパイラには真似できないきめ細かな記述が行える最終手段
のような位置づけになります。でも、知識や技術などのスキル不足で変なソースを書けば
逆効果(速度の悪化など)に繋がります。
・利用するには、それなりの知識と経験がないと『アセンブリ言語』を使いこなせません。
上手に活用すればプログラム・コードを減らせてメモリの節約や起動の高速化、その他の処理
への高速化などいろいろ良いことがあります。なんだったら自作コンパイラや OS までもその
言語で作成できます。C言語のコンパイラで 64 ビット整数の演算をサポートしていない処理系
でも『インライン・アセンブラ』の機能を使えば 64 ビット整数が扱えます。→C99 の規格では
『long long』型があるようですが、一部のコンパイラではその型が利用できないときには活躍します。
・それから『アセンブリ言語』を学ぶことで、より CPU 内部の仕組みも理解できるようになります。
そうなれば高級言語も使いこなせるようになりますよ。きっとね。多分?→自分しだいですが…。
・ただし、『CASL』は仮想アセンブラですので、試験以外ではまともに利用できません。
実際にアセンブリ言語を学ぶのならば『MASM』などのちゃんとプログラムが作成できるタイプに
しましょう。よって、『CASL』は試験用に覚える以外に活用法がないと、私は思っています。
でもアセンブラですので知っておいて損はしないはずです。その後のちゃんとしたアセンブリ言語を
学習する為のイメージ・トレーニングになりますよ。
最後に:
・『アセンブリ』…CPU命令1つ1つにキーワードが対応したプログラミング言語の名前です。
・『アセンブラ』…ソースファイルから機械語に翻訳するソフトウェアです。
・『アセンブル』…ソースファイルから機械語に変換すること。
・用語使用例⇒『アセンブラ』で『アセンブリ』を『アセンブル』する。
・以上。おわり。→結論としては CPU 命令で出来ることは全て出来ます。それがアセンブラです。
No.6
- 回答日時:
CPUの性能が上がりメモリーも安くなった現在では
一部を除いてそう必要とされる言語ではありません。
しかし、CPUが理解できるものに一番近い言語ですから
極めて早いスピードを要求される場合や、ハードウエアを直接操作するような場合には必須になる言語でもあります。
たとえばC++で作ったプログラムのオブジェクト(CPUが理解できる言語)とアセンブラで作成されたオブジェクトでは
アセンブラのほうが半分とか1/3と少なくなります。
オブジェクトのステップ数が少ない=高速となります。
No.5
- 回答日時:
アセンブラ言語を知っていると何ができるかというと、たとえば新しいアーキテクチャのCPUのためのコンパイラを作る時には必要になります。
あるいは新しい言語を作る場合に、その言語用のコンパイラを作る場合にも必要になります。まぁ、普通にはコンパイラそのものを自分で作るなどということはそうそう無い訳ですが、過去にコンパイラを作ってくれた人が居るお陰で今の高級言語が使える、というありがたみを実感するには良い機会かも。あと、高級言語の一見不可解な仕様やおまじないコードも、アセンブラを知っていれば納得できることが多々あり、精神衛生上よろしいです。
No.4
- 回答日時:
>アセンブラ言語って何をするための言語なんですか?
通常のプログラミングでは必要性はありませんが・・・。
BIOSや組み込みファームなど、ハードウェアの直接的な制御が必要な部分ではアセンブラが必要になる場合があります。
CやJavaなどの言語と違って、CPUの命令言語(マシン語)に近いものなので、プログラミングにはCPUやハードなどの知識も必要になります。
CALSでも仮想CPUの構成(仕様)を元にプログラミングする必要があるのでは無いでしょうか?
No.3
- 回答日時:
アセンブリ言語とは、
機械が直接理解する機械語(0と1が大量に並んだ言語)と、
人間が比較的分かりやすく理解できる高級言語(C言語など)の中間にあたる言語です。
ハードウェアを直接操作することのできる言語で、
OSを作ったりデバイスドライバを作ったりできるそうです。
ちなみにCASLは試験で使用するための仮想的な言語であるらしく、
この言語を使って実際に動作する製品を開発することはなさそうです。
No.2
- 回答日時:
アセンブラー言語は日本語では機械語と表される様に、そのCPU独自の言語で、各CPUはそのCPU用の言語でしか動作しません。
従ってもっとも効率の高いプログラムを書く事が出来ますが、反面、めんどくさいし、他の種類のCPUとの互換性はありません。
アセンブラーに出来ない事は、他の言語でも出来ません。C言語であっても、最終的にはアセンブラーレベルに落ちてオブジェクトプログラムと成ります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# アセンブラ指令 3 2023/06/17 14:47
- その他(言語学・言語) 英語を話せるようになったら次はどの言語を勉強するのが強いですか?人口が多い国の中国語か、自分の好きな 4 2023/02/10 13:04
- 高校 テスト勉強について 中間テストの結果がかえってきたのですがあまりよくありませんでした。 現代の国語と 2 2023/06/05 00:46
- ドイツ語 英語を勉強して損したことはありますか? 私の場合は、幼い頃からスイスの田舎が好き または 祖父(19 2 2023/03/01 16:45
- その他(言語学・言語) 独語とアラビア語を話せるが、英語だけ話せない人はいらっしゃいますか❓(英語力がないと言われそうで、恥 1 2023/02/27 18:12
- 英語 社会人OLです。 仕事の関係で英会話を習得すると役に立つので、勉強しなきゃと思いオンライン英会話を始 4 2022/08/19 09:48
- その他(言語学・言語) 24歳女です。私は言語が好きで、英語・韓国語は話せて今中国語を勉強中です。後にスペイン語や手話(si 4 2022/12/24 22:11
- 中国語 大学で第二言語の中国語を勉強していますが、単語帳は買うべきでしょうか?周りの生徒は買っていないらしい 2 2022/05/24 14:10
- その他(言語学・言語) 第語学勉強に迷ってます。高3女子です。 韓国語を高一から初めて一年半で日常会話レベルの試験には合格し 3 2023/07/31 18:17
- 社会学 英語と中国語できたらビジネス的にもう他の言語勉強する必要はないですか?現地駐在を除いて 2 2023/05/21 02:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ものづくりに向いているプログ...
-
電化製品って何言語?
-
昔のゲーム製作に使用する言語...
-
アセンブリ言語からC言語への変...
-
コンピュータ言語とプログラミ...
-
パチンコやスロットについて
-
割り込みベクターをC言語で書...
-
コンパイラーとアセンブラの違い
-
プログラミングを突き詰めて考...
-
Windowsはいったい何言語で書か...
-
アセンブリ言語を学ぶことは意...
-
各行のあるカラムのデータを抽...
-
フローチャートを書く書かない
-
今はマシン語は使わないんですか?
-
瞳孔に合わせて動くパソコン。...
-
パソコンについて詳しくなりたい
-
これらのプログラミングで使う...
-
0xffffとは?
-
エクセルVBAのIf,Then 構...
-
8ビットのデータの、先頭ビット...
おすすめ情報