int 13hそのメモリ位置でコードを確認できるため、を使用してそのアドレスにコードを書き込むことに成功したことはわかっています。私ができないのはそこにジャンプすることです。
私は0x1000(そこに3つのゼロ)を入れesて0x0000入れました、そしてそれはそれによって計算されたアドレスが等しい(そこに4つのゼロ)ことを意味するbxことを知っています。しかし、命令ポインタは決してそこに行きません。[es:bx](es * 0x10) + bx0x10000eip
私は、、、および受け入れさえしない他の多くjmp [es:bx]のjmp 0x1000:0x0000順列を試しました。NASM
現在の私のブートローダー(まだ機能していません)はここにあります。私はそれをQemuで起動し、最初の50バイトでmemsaveを実行し、0x10000微調整して開き、そこで私の「カーネル」コードを確認しました(単純です。しかし、EIPそれでも拒否するか0x10000、到達してから、必要な場所にハングアップします。 、私が言っていることです)。ここに状況の完全な画像