2017-11-11 2 views
1

cs:ipの意味を理解できません。 :の役割は何ですか?CS:IPはアセンブリで何を意味し、どのように機能するのですか?

+3

簡単に言うと、シンタックスは 'segment:offset'です。この場合**コードセグメント:命令ポインタ**。シンプルな類推は、** chapter:verse **です。ここでは一度に1つの章しか利用できません。 –

+0

これを "理解する"ことはできません。x86 16bリアルモードアドレッシングのための非論理的な特殊構文です。総アドレス空間は20ビットであるが、2つの16ビット値が20b物理アドレスを計算するために使用される。一部のx86リアルモードアドレッシングセグメント/オフセットブック/ docs/tutorialを検索します。これは完全で短いと思われます:http://thestarman.pcministry.com/asm/debug/Segments.html – Ped7g

+2

あなたがGoogleにしようとしているのかどうか疑問に思います。 –

答えて

1

:の役割は何ですか?

2つのレジスタを分離するこのコロンは、使用するレジスタによって異なる意味を持ちます。

  • 最初のレジスタは、セグメント・レジスタ(CSの一つ、DSESFSGS、又はSS)全体場合:表記は場所へのポインタを表す「セグメントレジスタオフセットレジスタ」アドレス指定可能メモリ(1MB + HMA)に格納されます。線形アドレスを計算するには、最初にセグメントレジスタの値に16を掛けてからオフセットレジスタに値を加算します。最初のレジスタは、2つの16ビット汎用レジスタ(GPR)の組み合わせを表すために使用され、セグメント・レジスタない場合
    としてはCS:IPSS:SPDS:SIES:DI、...

  • 含みます32ビットの数値。 8086の場合は、アーキテクチャが32ビットレジスタを持たないためです。
    多く表示される表記法はDX:AXです。これが表す値は、最初にDXに65536を掛けてから、AXに何を加えるかによって計算されます。

私は何cs:ip手段を理解することはできません。 cs手段「コードセグメント」及びそのip手段「命令ポインタ」ことを考える

(これは一般的な目的ではない登録!)組み合わせcs:ipは、CPUは、現在実行させる命令をフェッチされている場所を表します。

関連する問題