1,CS和IP是8086CPU中两个最关键的级才能起,指示了CPU当前要读取指令的地址。其中CS表示代码段寄存器,IP表示指令指针寄存器。
在8086PC机器中,任意时刻,假设CS中的内容是M,IP中的内容是N,8086CPU将从内存MX16+N单元开始读取一条指令并执行。
当8086CPU加电启动或者复位后,CS和IP被设置为CS=FFFFH,IP=0000H;当8086PC刚启动是,CPU从内存FFFF0H单元中读取指令执行,FFFF0H单元中的指令是开机后执行的第一条指令。
2,如何修改CS和IP
2.1 如果我们需要同时修改CS和IP的值,那么我们可以使用jmp 段地址:偏移地址来实现:
jmp 2AE3:3----------执行后:CS = 2AE3H,IP=0003H,CPU将从2AE33H处开始读取指令;、
其中,(jmp段地址:偏移地址)的功能为:用指令中的段地址修改CS,偏移地址修改IP。
2.2 若要只修改IP的值:
jmp ax, 执行前:ax = 1000H,CS=2000H,IP=0003H
执行后: ax=1000H, CS=2000H, IP=1000H
其中,(jmp 某一合法寄存器)功能为:用寄存器中的值来修改IP;