アセンブリ命令にjmpがありますが、
ある関数の場所にjmpしたい場合、アドレスなどは必要なのでしょうか?
また、jmp命令とアドレスを駆使して呼び出したい関数の場所まで行けるのでしょうmovl $WRITE, %eax # write
int $0x80
incl %ecx # 次の文字
jmp write
あるいは、コンパイラが勝手に関数の場所までjmpしてくれるのでしょうか?
詳しくお聞きしたいです。
どうかよろしくお願いします。
No.1ベストアンサー
- 回答日時:
jmp命令には当然、飛び先のアドレスが必要です。
アセンブルコードを直接手書きしてるんだったらユーザー自身がアドレスを書かないといけませんが、普通にMASMなりのアセンブラを使っていれば、飛び先に付けたラベルで指定できます。またjmpの場合は飛び先アドレスを直接書く方法(絶対アドレス指定)と、ここからxxバイト先に飛べという指定(相対アドレス指定)の2通りがあります。
それはまあいいんですけど、何も考えずに関数にjmpでいきなり飛ぶのはやっちゃいけない行為です。それをやると多分暴走しますね。なぜそうなるかの理由がわからなければ、アセンブラを基礎から勉強する必要があります。それと同時に、PC自体の構造(メモリ空間内のどこに何があるか)を知ることも必要です。じゃないとアセンブラは扱えませんから。
まず一度がっつり、参考書みたいに系統立ててまとまった資料で勉強するのが先決じゃないですかね。その上でわかんないことをここで聞くような感じで。最初から最後まで全部ここで済ませるのって無理ですよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) 統計ソフトJMPについて 画像をWordに貼り付ける方法(そのまま論文に使用)を教えてくれるかたいま 1 2022/05/31 22:08
- その他(ソフトウェア) JMP (統計的発見のためのインタラクティブなソフトウェア) の名前の由来を教えて下さい 1 2022/10/25 13:48
- C言語・C++・C# 変数のスコープ 5 2023/05/27 17:50
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- C言語・C++・C# 関数ポインタの高速化のメリット 7 2023/05/05 20:15
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/04/21 08:59
- 電気・ガス・水道業 簡易専用水道の定期清掃について 3 2023/03/26 16:36
- 事件・事故 ガーシー容疑者にパスポート返納命令。なぜ? ガーシー容疑者だけ特別扱いなのか? 7 2023/03/18 08:16
- Excel(エクセル) 表の中を『年』で検索し、値を得たい。 4 2023/01/31 22:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
右ビットシフト
-
Linux Cプログラミングを学ぶた...
-
プログラミングについて。 1つ...
-
[C言語]fputsとfprintfの違い
-
こんなことてしますか??
-
Notepad++の関数リスト表示の変...
-
gccを行ってもexeファイルが生...
-
どちのほうがすきですか?
-
Notepad++の関数リスト表示でC...
-
VisualStudio2022でC言語プログ...
-
C言語をコンパイルするとコンピ...
-
Stuck
-
VisualStudioで、コードを印刷...
-
プログラミング言語の制作方法...
-
mallocについて
-
あなたは、Excelはどうやって学...
-
Linuxでの開発環境構築や設定の...
-
chatgptでつくってもらったコー...
-
c言語
-
License='MIT' ってなんでmitな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 配列と関数の練習問題
-
システムエンジニアの適正について
-
[C言語]fputsとfprintfの違い
-
C言語をコンパイルするとコンピ...
-
mallocについて
-
どちのほうがすきですか?
-
ArduinoのジャイロモジュールMP...
-
大量のデータを読み込んで表示...
-
gccを行ってもexeファイルが生...
-
VisualStudio2022でC言語プログ...
-
C言語 列挙型(enum型)変数について
-
こんなことてしますか??
-
C言語の関数と配列に関する質問
-
Linuxでの開発環境構築や設定の...
-
質問失礼します。 プログラム言...
-
MACで動く実行ファイルをWindow...
-
WindowsのCapsLock(キャップス...
-
これなにがちがうんですか??
-
卒業研究でよく分からないとこ...
-
gcc13.2のバグ?
おすすめ情報