CS:IP 在汇编中是什么意思,它是如何工作的?

What does CS:IP mean in assembly and how it works?

我不明白cs:ip是什么意思。 :的作用是什么?

What is the role of :?

这个分隔两个寄存器的冒号根据使用的寄存器有不同的含义。

  • 如果第一个寄存器段寄存器(CSDSESFSGSSS) 那么整个 "segment register : offset register" 表示法表示指向可寻址内存 (1MB + HMA) 中某个位置的指针。要计算线性地址,首先将段寄存器中的值乘以 16,然后将偏移寄存器中的值相加。
    示例包括 CS:IPSS:SPDS:SIES:DI、...

  • 如果第一个寄存器 不是 段寄存器,则两个 16 位通用寄存器 (GPR) 的组合用于表示 32-位数。对于 8086,仅仅是因为它的架构没有 32 位寄存器。
    您会经常看到的一种表示法是 DX:AX。这表示的值是先将 DX 中的内容乘以 65536,然后加上 AX.

  • 中的内容计算得出的

I can't understand what cs:ip means.

鉴于 cs 表示 "code segment" 而 ip 表示 "instruction pointer" (这不是通用寄存器!)组合 cs:ip 表示CPU 当前正在获取要执行的指令的位置。