段地址由段寄存器提供。
8086CPU的段寄存器有4个,包括:CS,DS,SS,ES。
CS
而CS是提供代码段的段地址(code segment),而偏移地址是由IP寄存器提供。
在8086CPU中,任意时刻,设CS中的内容为M,IP中的内容为N,8086CPU将从内存M x 16 + N单元开始读取一条指令并执行。
(注意:当CPU读取一条指令之后,IP中的值会根据读取当前指令的长度自动增加到下一条指令的偏移地址)。
可以通过修改CS,IP寄存器的值控制CPU执行目标指令。可以通过:jmp 段地址:偏移地址来实现修改CS和IP的值。
jmp 2AE3:3,执行后:CS=2AE