
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で質問しましょう!
似たような質問が見つかりました
- 英語 英検1級合格にはどの程度の国語力が必要になりますか? 1 2022/10/25 13:45
- その他(言語学・言語) 英語とドイツ語をネイティブ語にしたいとき、留学する必要あるのでしょうか? うちの祖父(1918年生ま 1 2023/08/15 23:01
- C言語・C++・C# C#のSystem.Windows.Media.Colorに関する質問です。 3 2022/05/18 11:51
- Windows 10 【Windows11】の起動画面で日本語と英語と中国語の言語選択画面を出して起動時の標準 1 2023/06/18 19:40
- 英語 なんで道を尋ねる外国人(中国人と韓国人など)は「英語」で話してくるのでしょうか? 別に英語圏ではない 5 2023/03/02 00:39
- その他(暮らし・生活・行事) 方言でしゃべる人! 12 2022/07/21 18:56
- 学校 僕は通信制学校に通ってます。生徒数は4人です。英語の授業をしてるのですが他の生徒は英語をやりたくない 2 2022/05/12 17:24
- 中国語 中国語には日本語にある助詞・助動詞などがないのですか 4 2023/07/23 10:05
- 日本語 方言は無くなるべきですか。 皆さん、こんにちは。日本語を専攻しているスペイン人のパウです。最近、日本 8 2022/05/11 19:52
- 英語 英語の発音の教育について 5 2022/08/05 17:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ライン数とステップ数の違いは?
-
PIC 16F877について
-
アセンブラエディタ
-
アセンブラからC言語に変換する...
-
PICマイコン シミュレーター
-
このアセンブラの意味を教えて...
-
Windowsのシステムコール呼び出し
-
8080用のクロスコンパイラは、...
-
0xffffとは?
-
8ビットのデータの、先頭ビット...
-
16ビットCPUで32ビットの計算方法
-
PS3に搭載されている"Cell"は、...
-
PLC 命令について
-
レジスタの数
-
アセンブリの論理演算命令のCPL...
-
MP-Z80(10進数の加算)
-
verilog 符号付加減算(最上位...
-
MASM32の言語は何
-
MATLABにおけるunit8クラスの掛...
-
ATtiny2313のヒューズビットOSCCAL
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ライン数とステップ数の違いは?
-
アセンブラからC言語に変換する...
-
実行ファイルからソースはみれる?
-
アセンブラのLA
-
このアセンブラの意味を教えて...
-
PICに書き込むプログラムや変数...
-
RSA暗号化の処理時間
-
void __cdeclなど_
-
PC-9801 MS-DOSでの実行ファイ...
-
アセンブラ言語がわかりません。
-
素朴な疑問 (C言語とアセン...
-
最初のアセンブラ
-
MASMの機種依存についてお尋ね...
-
VisualStudioでC++からx64のア...
-
アセンブラで割り算
-
SHの命令の意味について
-
アセンブラの配列処理
-
【H8マイコン】HEWで埋め込みア...
-
Z80 アセンブラ言語で電卓
-
MASMの擬似命令「ASSUME」について
おすすめ情報