CPU 将段寄存器*16 + 偏移地址寄存器 来构成20位地址,由地址总线送至内存,进行寻址 来定位下一条要执行的指令。
8086cpu有四个段寄存器 :
CS DS SS ES
重点掌握 cs 和 ip 两个寄存器
cs 和ip是8086pc机中最关键的两个寄存器,他们指示了cpu 当前要读取的指令的地址。cs 为代码段寄存器,ip为指令寄存器,从名称上我们可以看出他们和指令的关系。
在8086pc机中,任意时刻,设cs中的内容为M,ip中的内容为N,8086cpu将从内存为M*16+N 单元开始,读取一条指令并执行。
也可以这样描述:8086cpu中,任意时刻,cpu将产生cs:ip指向的内容当作指令执行
在80806cpu加电启动或复位后,cs和ip被初始化为cs= FFFFH ip=0000H,即在cpu刚启动的时候从内存FFFF0H的地方开始读取指令执行,即第一条指令存放在FFFF0H内存单元中
可以用jmp指令来修改cs和ip寄存器里的数据,如jmp 段地址:偏移地址;
jum 2AE3:3,执行后cs = 2AE3H ip=0003H,cpu将从2AE33H处读出指令