
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で質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
coPilotにかけられた、制限(?...
-
youtubeで、意図しない...
-
soc、マイコン、ARM、組み込み...
-
X線解析装置の出力、オートロッ...
-
マイナー保健証で、紙の時より...
-
世界中で、人気のある、1000万...
-
ノートパソコンを落としてしま...
-
LinuxではUTF8のBOMなし、UTF8...
-
プログラミング言語やシェルを...
-
microSDカードと外付けSSDって...
-
スマホのUSBポートやタブレット...
-
至急です。 電源入れたままSIM...
-
Debianをノートパソコンにイン...
-
ハッシュ値はGitHubに書いてあ...
-
GitHubの使い方が分からないの...
-
rsyncをインストールするとssh...
-
PCで、「リストナビゲーター」...
-
教えてください Windows11で暗...
-
ワード作成した名刺の大量印刷...
-
宮崎駿作品集15枚組を購入した...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
soc、マイコン、ARM、組み込み...
-
宮崎駿作品集15枚組を購入した...
-
ワード作成した名刺の大量印刷...
-
教えてください Windows11で暗...
-
ノートパソコンを落としてしま...
-
Debianをノートパソコンにイン...
-
パスワードをハッシュ値にして...
-
至急です。 電源入れたままSIM...
-
AI を おちょくる質問
-
ハッシュ値はGitHubに書いてあ...
-
GitHubの使い方が分からないの...
-
GitHubはオープンソースのプロ...
-
AndroidはLinuxディストリビュ...
-
LinuxではUTF8のBOMなし、UTF8...
-
サーフェスについて、「再起動...
-
電線からインターネットに接続...
-
UQモバイルやLINEモバイルやmin...
-
ドコモやソフトバンクやauやLIN...
-
プログラミングで気をつけるべ...
-
SIMのように電線を使わずにイン...
おすすめ情報
どうしてあなたはその機械語とアセンブリ言語を翻訳できたのかも知りたいです。すみません。
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。
の説明が載っているところを示して頂けないでしょうか?どこに書かれているのでしょうか?教えていただけないでしょうか?すみません。