我无法理解cs:ip
的含义。 :
的作用是什么?
答案 0 :(得分:1)
:
的作用是什么?
根据所使用的寄存器,分隔两个寄存器的冒号具有不同的含义。
如果第一个寄存器 是一个段寄存器(CS
,DS
,ES
,FS
之一,{{然后整个“段寄存器:偏移寄存器”表示指向可寻址存储器中的位置的指针(1MB + HMA)。}}或GS
)要计算线性地址,首先要将段寄存器中的值乘以16,然后将该值添加到偏移寄存器中
示例包括SS
,CS:IP
,SS:SP
,DS:SI
,...
如果第一个寄存器不是段寄存器,则使用两个16位通用寄存器(GPR)的组合来表示32位数。在8086的情况下,仅仅因为它的架构没有32位寄存器
你会看到很多的符号是ES:DI
。它所代表的值是通过首先将DX:AX
中的内容乘以65536然后再添加DX
中的内容来计算的。
我无法理解
AX
的含义。
鉴于cs:ip
表示“代码段”,而cs
表示“指令指针”(这不是通用寄存器!),组合ip
表示CPU的位置目前正在获取执行指令。