No.9ベストアンサー
- 回答日時:
1. B8+ rd id MOV r32, imm32 OI Valid Valid Move imm32 to r32.
immediate 32bitをr32に移動
mov $0x616b6157,%eax
たぶんGCCが吐き出しているコードなのでオペランドが前後逆です。
16進数の616b6157をレジスターEAXに格納
2. 0xはその後ろは16進数という意味です
3. 77は"w"、57なので"W"
迅速な回答大変恐縮です。お手数ですが、さらに質問があり、
すみません。
①1. B8+ rd id MOV r32, imm32 OI (Valid Valid Move imm32 to r32.)
immediate 32bitをr32に移動
mov $0x616b6157,%eax
たぶんGCCが吐き出しているコードなのでオペランドが前後逆です。
16進数の616b6157をレジスターEAXに格納
がよく分かりません。
括弧の部分が表載っていません。
②オペランド"$0x616b6157,%eax"からB8とわかります。
の所も分かりません。
以上 2点教えていただけないでしょうか?
No.8
- 回答日時:
X86系と回答しているのに検索できませんか?
たとえばここでMOVをサーチ。
https://www.felixcloutier.com/x86/
MOV - MOVE
https://www.felixcloutier.com/x86/mov
Opcodeには88, 89, 8A, ,,と複数ありますがオペランド"$0x616b6157,%eax"からB8とわかります。
>高級言語は、何でも良い
よいですよ。FORTRANでもCでもC++でもお好きなものを。
$0x616b6157
Wakaね。
https://www.k-cube.co.jp/wakaba/server/ascii_cod …
61 a
6b k
61 a
57 W
迅速な回答ありがとうございます。また、質問で申し訳ないですが、
①すみません。https://www.felixcloutier.com/x86/とhttps://www.felixcloutier.com/x86/movの見方が分かりません。
②$0xとはどういう意味でしょうか?
③57 Wは77 Wの間違いではないでしょうか?
以上3点について教えていただけないでしょうか?
大変恐縮ですが。
No.7
- 回答日時:
>b8 57 61 6b 61 mov $0x616b6157,%eax
intel X86系です。
mov(機械語ではb8)がオペコードになります。さすがにX86系ではアセンブラーは使いません。高級言語で書いてコンパイルします。
アセンブリーマニュアルは以下。日本語版も出版されていましたがもう買えないでしょう。
https://altairclone.com/downloads/manuals/8080%2 …
簡易版はここにありました。
http://tyunitidenko.x0.com/pdfsetumeisyo/nd8080_ …
>アセンブリ言語がなぜその機械語に直せるのかも知りたいです。
http://www.tamabi.ac.jp/idd/shiro/hist/8080/8080 …
にテーブルがありました。たとえばPUSH Bは横のCと縦の5の交差するところにあるので機械語はC5、POP Bは横のCと縦の1の交差するところにあるので機械語はC1となります。昔はこれを見ながら手でやってたので機械語は覚えてしまいました。
Z80はこちら。アセンブラーはニーモニックに対応する機械語を拾っていくだけの単純なものです。
http://www.ze.em-net.ne.jp/~kenken/misc/z80.html
迅速な回答大変恐縮です。で、質問なのですが、
その高級言語は、何でも良いのでしょうか?高級言語でコンパイルするというところです。mov がなぜ機械語でb8がオペコードになるのはどうやって知ったのでしょうか?教えていただけないでしょうか?すみません。
No.6
- 回答日時:
機械語でAF4F5E237EFEFFCA1100571A8123C3010079C9と記載されてもなんだかわかりませんよね。
人が見てわかるように簡単な英語の命令にしたのがニーモニックです。上の機械語は以下をアセンブルしたものです。これなら何をしているのか見てわかります。XRA A
LOOP: MOV C,A
MOV E,M
INX H
MOV A,M
CPI 0FFH
JZ BACK
MOV D,A
LDAX D
ADD C
INX H
JMP LOOP
BACK: MOV A,C
RET
ニーモニックでXRA AはAの排他的論理和。XRAがオペコード、Aがオペランド。機械語でAF。
次のMOV C, A
Aレジスターの内容をCレジスターに移動する命令。
命令に当たるMOV、これがオペコード。目的とするC, Aがオペランド。機械語にすれば4F。上のAFの次にありますよね。
同様にADD CならADDがオペコード、Cがオペランド。機械語では81。上にあるでしょ。最後のRETがC9。
NOPやHLTのようにオペランドがない命令もあります。
なんだかPUSHにこだわっていますがPUSH BであればPUSHがオペコード、Bがオペランドです。機械語にすればC5。
以上はインテル80系の話。CPUが変わればニーモニックも機械語も変わります。
すみません。インテル80系の命令一覧が載っているサイトや書籍を知らないでしょうか?アセンブリ言語がなぜその機械語に直せるのかも知りたいです。
後これも
(機械語データ) (アセンブリ言語)
b8 57 61 6b 61 mov $0x616b6157,%eax
53 push %ebx
50 push %eax
ba 04 00 00 00 mov $0x4,%edx
bb 01 00 00 00 mov $0x1,%ebx
b8 04 00 00 00 mov $0x4,%eax
89 e1 mov %esp,%ecx
cd 80 int $0x80
58 pop %eax
31 c0 xor %eax,%eax
5b pop %ebx
c3 ret
これもインテル80系でしょうか?教えていただけないでしょうか?すみません。
No.5
- 回答日時:
オペコードは命令自体。
それが何で表現されているかは関係ない。アセンブリ言語だけでなく、機械語でもオペコードはある。ニーモニックは、アセンブリ言語でオペコードを表現する英数字の綴りです。状況によっては疑似命令も含む。
アセンブリ言語について書かれている文章の中であれば、同じ意味でしょう。
ニーモニックは例えばpush10とかでしょうか?で、オペコードがpushとかでしょうか?教えていただけないでしょうか?pushをニーモニックと言っても良いのでしょうか?教えていただけないでしょうか?すみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(教育・科学・学問) ハンドアセンブルの第3オペランドについて 2 2022/05/16 20:09
- C言語・C++・C# C#のSystem.Windows.Media.Colorに関する質問です。 3 2022/05/18 11:51
- 英語 英語学習は受験が諸悪の根源? 4 2022/10/09 23:03
- 英語 デイトナの語源 4 2022/05/02 12:04
- 英語 英語の発音の教育について 5 2022/08/05 17:12
- 中国語 【中国語】鼎新革故(ていしんかくこ)と革故鼎新(かくこていしん)の意味の違いを教えてください。 2つ 2 2022/05/13 09:20
- 英語 【英語】映画のヘッドハンターの名台詞で「鏡を見てから言え。君 2 2022/12/24 15:38
- 日本語 海外の方に日本語を教えている方アドバイスをください! 6 2022/08/29 07:47
- 教育・文化 日本語はなんで他の国と比べても、 言語が違うのですか? ネットとかによると日本語の「鼻」は世界では、 3 2022/08/07 17:56
- 日本語 日本語はなんで他の国と比べても、 言語が違うのですか? ネットとかによると日本語の「鼻」は世界では、 4 2022/08/07 17:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ヤフーメールの設定のなかに、...
-
授業の内容なのですがほんとに...
-
情報の問題です。 サンプリング...
-
中華ゲーム機のGame Console R3...
-
情シスに異動するには。 非情シ...
-
2002年製のpcと2008製のpcがあ...
-
質問です! 現在就活中で監視方...
-
スクリープロットの見方。この...
-
ソフトは安定版しか使うべきで...
-
Microsoftが非推奨にしてるかど...
-
PowerShellの使い方を学ぶのに...
-
ファイル構造が破損しているフ...
-
HEVCのファイルの拡張子って何...
-
回復ドライブにするUSBメモリの...
-
PowerShellで自分が書いたコマ...
-
このパソコンは重量が689gと非...
-
Check Diskは定期的に実行した...
-
ファイルは何で構成されている...
-
SSDを定期的にデフラグした方が...
-
ソフトはVectorでダウンロード...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
使用中のセクタが不良セクタに...
-
ファイル構造が破損しているフ...
-
すみません!パソコン開いて電...
-
現在と現在から20年前の2003〜2...
-
2つのファイルのバイナリをコン...
-
SSDを定期的にデフラグした方が...
-
どのストレージが一番高い所か...
-
AzureとOneDriveって何が違うの...
-
SSDに不良セクタがあるかどうか...
-
S.M.A.R.T.を見るのに1番有名な...
-
SSDに不良セクタが発生したら、...
-
次は、どこのメーカーのPCを買...
-
このパソコンは重量が689gと非...
-
ストレージの中に破損している...
-
SSDのデータがビット落ちにより...
-
SSDにTRIMをしたいのですがSSD...
-
コマンドプロンプトって「cmd」と...
-
SSDの不良セクタを代替セクタに...
-
SSDにTRIMってした方が良いので...
-
ファイルを記録してあるセクタ...
おすすめ情報
どうしてあなたはその機械語とアセンブリ言語を翻訳できたのかも知りたいです。すみません。
movが機械語でb8が載っているところはどこでしょうか?教えていただけないでしょうか?すみません。
ニーモニックでXRA AはAの排他的論理和。XRAがオペコード、Aがオペランド。機械語でAF。
次のMOV C, A
Aレジスターの内容をCレジスターに移動する命令。
命令に当たるMOV、これがオペコード。目的とするC, Aがオペランド。機械語にすれば4F。上のAFの次にありますよね。
同様にADD CならADDがオペコード、Cがオペランド。機械語では81。上にあるでしょ。最後のRETがC9。
NOPやHLTのようにオペランドがない命令もあります。
なんだかPUSHにこだわっていますがPUSH BであればPUSHがオペコード、Bがオペランドです。機械語にすればC5。
の説明が載っているところを示して頂けないでしょうか?どこに書かれているのでしょうか?教えていただけないでしょうか?すみません。