转移指令及其原理
offest:获得标号的偏移地址
使用形式:offest 标号
offest 标号整个指令可以当值用
eg:start:mov ax,offest start 相当于mov ax,0
jmp:
(1)jmp short 标号:转到标号处执行指令,段内转移
用标号处的ip改变当前ip, 对ip的修改范围(即加减)为-128~127
(2)jmp near ptr标号:和jmp short 一样,不同的是对ip修改范围是-32768~32767
(3)jmp far ptr 标号:转到标号处执行指令,段间转移
用标号处的cs和ip改变当前cs和ip, 对ip的修改范围为-128~127
(4)jmp 16位寄存器
ip=寄存器的值
(5)jmp word ptr内存地址单元(段内转移)
只变ip
(6)jmp dword ptr内存单元地址(段间转移)
高地址是cs,低地址ip
(7)jcxz 标号:if(cx==0)jmp short 标号
(8)loop 标号:cx--;if(cx不等于0)jmp short 标号
上述指令都是根据相对位移来进行转移的,不需要目的地址,即编译器事先计算好位移(指令里带标号的)