在程序中,一般有代码段和数据段。

程序会先加载到内存中,然后从程序中的代码段进行执行。


汇编语言入门-段指针_寄存器


而CPU是根据CS+IP的寄存器中的值开始执行代码指令的。


汇编语言入门-段指针_寄存器_02


任意时刻,CPU将CS+IP所指向的内容当作代码执行。


如果一段代码被CPU执行过的话,那么它的内存单元必定被CS+IP指向过。


CS为代码段寄存器


IP为指令指针寄存器



修改CS+IP的指令


1、同时修改CS+IP

jmp 段地址 : 偏移地址


2、只修改IP的值

jmp ax

jmp bx


经典图示


汇编语言入门-段指针_汇编语言_03


汇编语言入门-段指针_汇编语言_04


汇编语言入门-段指针_汇编语言_05


汇编语言入门-段指针_汇编语言_06



汇编语言入门-段指针_寄存器_07


汇编语言入门-段指针_汇编语言_08


汇编语言入门-段指针_汇编语言_09



结束。