
コンピュータは電圧の高い(H)と低い(L)を2進数としてCPUがクロック信号の入力を受けて処理します。 2進数はそのままだと扱いづらいので、数値的に親和性のある2のn乗進数を使います。 一般にコンピュータは1オクテットを1バイト、1ワードとしています。 その時16進数2桁で1バイトとなることから16進数表記が使われています。 なので、極論で言えば16進数2桁ではなく256進数1桁でも良かったという事です。 実は、大抵のアセンブリ言語は2進数表記を扱えます(8進数も使えるかも)。 アセンブラは16進数でも2進数でもそのまま対応するマシン語に置き換えていくものです。 アセンブリ言語とマシン語は一体一で対応しているので、実行ファイルがあれば、逆アセンブルで完全なアセンブリコードを復元出来ます。 マクロアセンブラの場合はマクロ命令までは再現されませんが、ここでは関係無いので割愛します。 つまり、マシン語とアセンブリ言語は本質的に全く同じものです。 単に、人間に読みやすく見せているものアセンブリ言語です。 マシン語もアセンブリ言語も低水準言語です。 高水準言語とは、C言語などのコンパイルを必要とするものや、BASICやJavaScriptのようにインタープリタを必要とするもののことです。 こちらは、CPUが直接解釈できるマシン語とは全く違う人間の都合に合わせた表現でコーディングし、後からマシン語に変換する仕組みのものです。 人間に読みやいコードをマシン語に変換するので、関係は一体一ではありません。 つまりコンパイルやインタープリットすると元の情報(ソースコード)は失われます。
で、① インタープリタとインタープリットとは何でしょうか?教えていただけないでしょうか?すみません。
② マクロアセンブラの場合はなぜマクロ命令が実行されないのでしょうか?教えていただけないでしょうか?すみません。
③ 実行ファイルがあれば、逆アセンブルで完全なアセンブリコードを復元出来ます。とはどういう事でしょうか?つまり、実行ファイルというのは、プログラマーが書いたソースコードのことでしょうか?教えていただけないでしょうか?すみません。
教えていただけないでしょうか?すみません。
No.1ベストアンサー
- 回答日時:
いちいち「すみません」ってつければ許されると思ってるのかが鬱陶しい
すまないと思うくらいなら自力でなんとかしろよ
>① インタープリタとインタープリットとは何でしょうか?
コンパイルやアセンブルは
マシンコードを生成しますが、
これと異なり実行時に翻訳しながら行う仕組み。
当然実行速度は遅い。
>② マクロアセンブラの場合はなぜマクロ命令が実行されないのでしょうか?
シラネ
③ 実行ファイルがあれば、逆アセンブルで完全なアセンブリコードを
>復元出来ます。とはどういう事でしょうか?
マシン語があれば逆アセンブルは可能だけど「完全な」は無理。
途中にデータ列が置かれてれば誤解する。
書いたやつが説明不足。
>つまり、実行ファイルというのは、
>プログラマーが書いたソースコードのことでしょうか?
違う
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
このカテゴリの人気Q&Aランキング
-
4
意味を教えてください main関数...
-
5
c# 文字列の最後から1文字削除...
-
6
セグメントエラー
-
7
このプログラミング誰か教えて...
-
8
C言語で三目並べをするプログラ...
-
9
C言語 プログラミング
-
10
数字以外が入力されたらエラー...
-
11
複数桁10進数の*桁目だけを抽出...
-
12
VisualStudioのソースコードで...
-
13
エラーの意味は? Lvalue req...
-
14
C言語初心者の質問失礼します。
-
15
c言語 ファイルから数字を読み...
-
16
*をユーザーが入力した数字の数...
-
17
プログラミング実行後の表示さ...
-
18
y=x^2の座標をプロットするプロ...
-
19
C言語のファイル入力が分かりま...
-
20
#include <Windows.h>というヘ...
おすすめ情報
公式facebook
公式twitter