
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ランキング
-
家電製品の電力周波数を変える機械
-
VB 6 を VS 2012に変換するには?
-
C#のピクチャボックスにCLIのHB...
-
ユニコード文字の変換について
-
シーケンサのCPUはニーモニック...
-
エンディアン変換を高速に行う...
-
C/C++→JAVAに変換するツール
-
なぜ通信には16進数文字列が使...
-
wavからmp3への変換
-
VBA 置き換え後元に戻したい時
-
VC++2005で、CString型に16進...
-
VB.NETからJavaに変換するツー...
-
C言語からC#への変換ツール
-
はしごの高をマックで表示する...
-
スペース %20 に変換するには?
-
画像ファイル変換(Tiff→PDF)
-
VB.NETをJavaに変換するツール...
-
bitmapクラスをiconクラスに変...
-
hex2binプログラム
-
iconv_openで「II」(ギリシャ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
家電製品の電力周波数を変える機械
-
エクセルVBAの自動変換機能?
-
緯度、経度の 10進法と 60進法...
-
分を時間に変換するプログラム
-
Mac 乗数の入力方法
-
逆コンパイルと逆アセンブルの...
-
UTF8→ShiftJISに変換したいです!
-
なぜ通信には16進数文字列が使...
-
マンセル⇔XYZ,RGB変換式或いは...
-
VB6からVB2010への変換について
-
三角形を逆三角形にしたいです...
-
エクセルのvbaで検索ボタンを作る
-
【EXCEL】カナ、ひらがなを英字...
-
C/C++→JAVAに変換するツール
-
シーケンサのCPUはニーモニック...
-
php
-
画像ファイル変換(Tiff→PDF)
-
PHPで、日本語からアルファベッ...
-
vb.netの型変換について
-
10進数をBCDに変換する方法
おすすめ情報