推薦図書/必読書のためのスレッド 77at TECH推薦図書/必読書のためのスレッド 77 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト500:デフォルトの名無しさん 15/09/21 02:30:31.41 wiEjTubo.net >>495 命令実行中にEIPが次の命令指してるって認識がないらしく例えばCALL命令の実装はこんななってる。 static void call_rel32(Emulator* emu) { int32_t diff = get_sign_code32(emu, 1); push32(emu, emu->eip + 5); emu->eip += (diff + 5); } 命令実行中に命令長5バイトを足して帳尻合わせてる。しかも2箇所。 命令ごとにこんなことしてちゃコーディングスタイルとしても問題ありだよなあ。 501:デフォルトの名無しさん 15/09/21 02:53:31.10 wiEjTubo.net http://x86.uchan.net/question/%E5%91%BD%E4%BB%A4%E5%AE%9F%E8%A1%8C%E4%B8%AD%E3%81%AEip/ の回答を見る限りでは、x86の動作を文章とコードで正しく読者に理解させよう という意図はないみたいだな。 まあ筆者の理解も怪しいみたいだし仕方ないんだろうなあ。 502:デフォルトの名無しさん 15/09/21 03:43:38.93 PxfGcB/k.net 命令実行後はEIPは次の命令を指しているが、命令実行(中)はEIPの更新プロセスそのものだろ 命令実行中に命令長足さないで一体どこで足すのだ? 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch