
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
二モニックの部分だけ。
8080 だと レジスタAに5を代入するコードは
3E 05 (16進数 2バイト)
だけど、人間にはきついので
MVI A 05H
とテキストで記述するとアセンブラが
3E 05
に翻訳してくれます。
MVI Aは Move Immediate to A
の略で、即値をレジスタAに代入せよ
という命令 3E に対応します。
#即値とはこの場合2バイト目の05のこと。
つまり、マシン語の命令に付けた
人が解る名前を ニモニック と呼んでます。
本来の意味は「記憶の助けになるもの」
No.4
- 回答日時:
Re: 回答No.2
> CPUをスリープ状態にするHLT命令はアセンブラ…合っていますでしょうか?
そうです。CPUを直接コントロールできるのはアセンブラです。
No.3
- 回答日時:
こんばんは。
んー。昔だったらハードウェアの能力をフルに使う為に、高級言語
という通訳を間に入れずにコンピュータが理解しやすい言語で実行
する、という目的があったんですけど(ファミコン、メガドライブ
あたりはアセンブラ必須でした)、今じゃコンピュータが複雑になっ
ていてフルに使おうと人間が考えるより、高級言語で通訳した方が
手っ取り早い、というのが実情でしょうね。
でも今でも組み込み系とかはアセンブラが必須な事が多いですし、
高級言語の通訳コストを減らしたいなんていう場合は、アセンブラ
の考え方を理解できていないとお手上げになりがちなので、プログ
ラマを名乗るならアセンブラを学ぶべきいだ、とか言われたりしま
す。
ニーモニックはアセンブラから機械語に変換する為の記号、ですか
ね。
ちなみに、今、ファミコンやメガドライブの新作ソフトをリリース
するためにアセンブラは必要だ、なんていうひねくれた回答は可能
です。今でも本当に微々たる量ですが、新作ソフトがリリースされ
ているので。。アセンブラが出来るかというか「今それらで作ろう」
という声が出る事自体がおかしいと個人的には思うのですが。
CPUを直接操作するうなプログラムは高水準言語では作れないので低水準言語が必要になります。
CPUをスリープ状態にするHLT命令はアセンブラにはありますがC言語などの高水準言語には無い機能ですから、アセンブラを使ってプログラムを書かないと実現できません。というのは、合っていますでしょうか?教えていただけないでしょうか?すみません。
No.2
- 回答日時:
アセンブリ言語(アセンブラ)は、コンピュータが直接解釈・実行できる機械語(マシン語)に置き換えられるソフトウェア言語です。
ニーモニックはアセンブリ言語を覚えやすくした命令語で、たとえばデータを読み込むときはLD(Load)、データを保存するときはST(Store)、データを移すときはMOV(Move)のような記号にしたものです。(LD、ST、MOVなどのニーモニックはアセンブリ言語によって多少は違います)。
アセンブリ言語はソフトウェア言語のもっとも基本にあるものなので、BASIC、COBOL、FORTRAN、C++のような高級な言語を理解するためには知っておくと役に立ちます。
またソフトウェアによってコンピュータ内部のハードウェアがビット単位やバイト単位でどう動くか(レジスターの動作)を把握し解析し追跡できるようにするためには、アセンブリ言語や機械語の理解がなければできません。
アセンブリ言語(あるいは機械語)はハードウェアとソフトウェアの両方の動きを関連付けて理解するのに欠かせません(ハードウェアとソフトウェアの両方を結びつけるもっとも基本的な原始的な言語です)。
電子工学をやってきた私自身は基本的にはハードウェアが専門でしたが、コンピュータ(当時はミニコンピュータ)を動かすためにはアセンブリ言語(あるいは機械語)が使えないと仕事にはなりませんでした。
CPUを直接操作するうなプログラムは高水準言語では作れないので低水準言語が必要になります。
CPUをスリープ状態にするHLT命令はアセンブラにはありますがC言語などの高水準言語には無い機能ですから、アセンブラを使ってプログラムを書かないと実現できません。というのは、合っていますでしょうか?教えていただけないでしょうか?すみません。
No.1
- 回答日時:
機械語はただの数値の羅列ですので、その数値をわかりやすいように(アルファベットで)記述することがニーモニックであり、それがアセンブラです。
高級言語で記述しても、コンパイルすることにより機械語に翻訳されます。デバッグするときには機械語(またはニーモニック表示したもの)でしか見れません。そのため、機械語レベルでのデバッグのために、アセンブラの知識が必要なのです。CPUを直接操作するうなプログラムは高水準言語では作れないので低水準言語が必要になります。
CPUをスリープ状態にするHLT命令はアセンブラにはありますがC言語などの高水準言語には無い機能ですから、アセンブラを使ってプログラムを書かないと実現できません。というのは、合っていますでしょうか?教えていただけないでしょうか?すみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラム言語
-
ライン数とステップ数の違いは?
-
【H8マイコン】HEWで埋め込みア...
-
このアセンブラの意味を教えて...
-
アセンブラのコマンドについて
-
素数を求めるプログラム(アセン...
-
アセンブラからC言語に変換する...
-
0xffffとは?
-
8ビットのデータの、先頭ビット...
-
電化製品って何言語?
-
CPUは何故、16bit→32bit→64bit...
-
一般のソフトで画像を扱う場合...
-
PIC16F1シリーズマイコンのNCO...
-
C言語で128bitの2進数のビット...
-
CASLIIでかけ算
-
シーケンス制御についての質問...
-
PLC 命令について
-
ビットシフトってどんな時使うの?
-
PICでUSARTのフレーミングエラ...
-
トリムレジスタ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラム言語
-
ライン数とステップ数の違いは?
-
アセンブラからC言語に変換する...
-
アセンブラ言語がわかりません。
-
実行ファイルからソースはみれる?
-
このアセンブラの意味を教えて...
-
アセンブラのコマンドについて
-
PICに書き込むプログラムや変数...
-
アセンブラのLA
-
アセンブラwordという単位
-
アセンブラの実行速度
-
Windowsはオープンソースですか?
-
バイナリの実行ファイルをgccを...
-
void __cdeclなど_
-
MPLAB IDE v8.92アセンブラにつ...
-
ArduinoIDEのコンパイル結果の表示
-
GASの入門書
-
アセンブラ言語で
-
アセンブラで割り算
-
アセンブラのリンカのダウンロ...
おすすめ情報