1. ホーム
  2. assembly

[解決済み] CS:IPの組み立ての意味と仕組みについて教えてください。

2022-03-05 20:38:52

質問事項

を理解することができません。 cs:ip を意味します。 の役割は何でしょうか? : ?

解決方法は?

<ブロッククオート

の役割は何ですか? : ?

この2つのレジスタを区切るコロンは、使用するレジスタによって意味が異なります。

  • もし最初のレジスタ セグメントレジスタ CS , DS , ES , FS , GS または SS セグメントレジスタ:オフセットレジスタの表記は、アドレス指定可能なメモリ(1MB+HMA)内の位置へのポインタを表します。) リニアアドレスを計算するには、まずセグメントレジスタの値を16倍して、オフセットレジスタの値を加算します。
    例としては以下のようなものがあります。 CS:IP , SS:SP , DS:SI , ES:DI , ...

  • もし、最初のレジスタ セグメントレジスタであれば、2つの16ビット汎用レジスタ(GPR)の組み合わせで32ビットの数値を表現します。8086の場合は、32ビットレジスタを持たないアーキテクチャであるため、このようになります。
    よく見かける表記としては DX:AX . この値が表す値は、まず DX を65536で割って、次に AX .

を理解することができません。 cs:ip の意味です。

ということを考えると cs はコードセグメントを意味し ip は、命令ポインタ(これは汎用レジスタではありません!)を意味します。 cs:ip は、CPUが現在実行する命令をフェッチしている場所を表します。