
CASLIIを学んでいるのですが、命令後の表(画像)を使って
プログラムの一部
ADDA GR1,GR1
を手動で機械語 (16進)に変換すると、 2411 になるようなのですが、どのように変換するのでしょうか?
ネットで調べてみたのですが”機械語の命令(変換)表で命令と語数を確認しながら,アセンブリ言語の表記にします。”と省略されていて詳しく解説してあるページが見つからなかったので、教えていただけませんか?
ーーーーーーー
機械語の命令(変換)表
http://www.jitec.jp/1_13download/hani20061107.pdf
(32 ページに機械語とアセンブリ言語の命令の対応表があります)

No.3ベストアンサー
- 回答日時:
やることは (書くだけなら) 簡単です.
まず
ADDA GR1,GR1
という命令がどの形式に当てはまるかというと, GR1 と GR1 はどちらも (と言っても同じものだが) レジスタなので
ADDA r1,r2
に当てはまります. これは変換表を見ると OP が 24 であり, その後に r1, r2 のそれぞれのレジスタを表す数値を並べればいいということになります. ここではどこにも書かれていませんが, レジスタ GR1 を指定するためには「1」という値を使うことになります. ですから
24 (ADDA r1,r2 の OPコード) 1 (今は r1 として GR1 を使っている) 1 (今は r2 として GR1 を使っている)
から 2411 という機械語が生成されます.
この辺の手順は実際のプロセッサでも同じです. ただ「どの形式に当てはまるのか」が分かりにくくなったり, 「レジスタを指定する値の決め方」がトリッキーになったりするだけ.
この回答への補足
理解したといっておいて追加質問なのですが
XOR GR1,1,GR5
の場合はどうすればよいのでしょうか?真ん中の1はどうすれば?
32がXOR r,adr,x の OPコードなのですが・・・。
No.4
- 回答日時:
XOR GR1,1,GR5
は2語命令のようです
1語目は主op,副op,r1,x
2語目がadr
なのでGR1が1、GR5が5とすると
3215 0001
ですね
No.2
- 回答日時:
回答ではありません。
Googleで"CASL 逆アセンブラ"を検索すると、色々と出てきます。
参考になるソースもありまして、プログラムで応用すると、自作
できるかも知れません。また、有償/無償のソフトもあるようです。
この中に逆アセンブラがあれば見つけ物ですね。
No.1
- 回答日時:
> ADDA GR1,GR1
> を手動で機械語 (16進)に変換すると、 2411 になるようなのですが、どのように変換するのでしょうか?
だと、機械語「への」変換に読めますけどどっちですか?
いずれにしろ、機械語の命令は幾つかの部分に分けることができて、命令の種類を指定する部分だとか
使用するレジスタを指定する部分などがあります。
アセンブリ言語の命令を解釈して、当てはまる部分を決めていって組み立てるだけです。
たしか日経ソフトウエアの最新号(2009年2月号)に、参考になる記事が載ってましたから
読んでみると良いと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 会社で英語を使うことになっての英語の勉強方法 5 2022/07/03 11:49
- 英語 英語パラフレーズの機械? 昔ネイティブの友達が、英語の文章の単語を類義語に言い換えてくれる機械を使っ 1 2022/12/10 19:24
- その他(教育・科学・学問) 国語表現の問題です 「国語の勉強をする。」 を命令・倒置の形に書き換えなさいというものなのですが、分 3 2022/06/20 09:41
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- 哲学 《光あれ》という命令法は どういう実態か 1 2023/01/24 17:57
- 日本語 日本語の解釈について、、 『来週の月曜日まで別の機械を使用して下さい。』 と記載がある機械は、 ・月 5 2023/06/30 20:52
- 日本語 意味とは何か、どこにあるのか? 16 2022/04/09 11:44
- 工学 旋盤、単能機等の電子部品、電気的耐久性と機械的耐久性について 3 2023/02/14 07:08
- 日本語 脳科学の奇妙な言語獲得論 2 2022/04/04 13:13
- その他(Microsoft Office) Microsoft IME 一発で変換できない言葉がある 3 2022/07/19 19:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Km2NetのUSB-IO、USB-Anを用い...
-
家電製品の電力周波数を変える機械
-
3のつく数字と3の倍数のみを表...
-
ビットマップファイルを24ビ...
-
分を時間に変換するプログラム
-
VB.NETをJavaに変換するツール...
-
ShijtJIS -> UTF-8 変換スピー...
-
10進数をBCDに変換する方法
-
tex 郵便記号のだしかた
-
エクセルVBAの自動変換機能?
-
ActiveXの使い方を教えてくださ...
-
「変換不可」の正しい英語表現
-
Visual C++のサンプルプログラ...
-
StrConvの使い方について教えて...
-
VB6からVB2010への変換について
-
VC++2005 CStringをshortに変換
-
なぜ通信には16進数文字列が使...
-
C/C++→JAVAに変換するツール
-
BCBプロジェクトをVCに移植
-
画像ファイル変換(Tiff→PDF)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
家電製品の電力周波数を変える機械
-
エクセルVBAの自動変換機能?
-
緯度、経度の 10進法と 60進法...
-
Mac 乗数の入力方法
-
C/C++→JAVAに変換するツール
-
なぜ通信には16進数文字列が使...
-
VB6からVB2010への変換について
-
10進数をBCDに変換する方法
-
画像ファイル変換(Tiff→PDF)
-
エクセルのvbaで検索ボタンを作る
-
分を時間に変換するプログラム
-
StrConvの使い方について教えて...
-
三角形を逆三角形にしたいです...
-
逆コンパイルと逆アセンブルの...
-
VB.NETをJavaに変換するツール...
-
UTF8→ShiftJISに変換したいです!
-
FortranをC++(VC++)へ変換
-
3のつく数字と3の倍数のみを表...
-
c++でmatからvectorへの変換の...
-
C#でのpngからbmpへの変換について
おすすめ情報