誰かが「:」がjmp命令で何に適しているかを説明していただければ幸いです。以下はwikiからのwikiからのものです
JMP 0x89AB, I know that this one is to jump to that position
JMP 0xACDC:0x5578 what is that?
誰かが「:」がjmp命令で何に適しているかを説明していただければ幸いです。以下はwikiからのwikiからのものです
JMP 0x89AB, I know that this one is to jump to that position
JMP 0xACDC:0x5578 what is that?
ウィキを参照せずに推測することしかできませんが、これは「セグメント化された」アドレス空間を備えた8088/86/286/386プロセッサに関係している可能性があります。
x86 ベースのプロセッサは、セグメント化されたメモリ アーキテクチャで動作します。
基本的に、メモリは 2 つの部分を使用してアドレス指定されます。セグメント アドレスとオフセット アドレス。「:」の前がセグメントアドレス、「:」の後ろがオフセットアドレスです。
0x1234:0x5678 スタイルのアドレスはセグメント化されたアドレスです。それが意味するのはすべてです0x1234 * 0x10 + 0x5678
。あなたが与えた例は0xB2338
.
それは遠いジャンプです。その意味は、リアル モードとプロテクト モードで異なります。
segment * 16 + offset
.offset
記述されたセグメント内にジャンプします。offset
は無視され、適切なアクションが実行されます (例: タスク スイッチ)。0xACDC はコード セグメント アドレスで、0x5578 はコード内のオフセットだと思います。