啊哦,你要熟悉指令读取的流程啊,从CS:IP指向的地址,读取指令,通过输入输出控制电路,放入指令缓冲器,“此时,IP自动增加”,然后指令缓冲器把指令放入执行控制器,此时指令才被执行,所以你这个代码
mov ax,bx
;先把ip+2,也就是ip自动指向了下一条指令,然后此条指令被执行
sub ax,ax
;ip+2,此时ip指向了下一条指令,此条指令被执行
jmp a
;ip+2
ip指向了下一条指令,此条指令被执行,执行后,因为是短跳转,所以又改变了ip
所以这三条指令被执行后,总共改变了四次ip