转移指令

来源:互联网 发布:网络贷款 预防诈骗 编辑:程序博客网 时间:2024/05/16 06:02

可以修改ip cs 代码段寄存器

修改ip 或者同时修改cs 和ip的指令都成为转移指令

只修改ip叫内转移

同时修改cs和ip叫做段间转移】

8086cpu的转移指令可以分为下面几类

无条件转移(jmp)

loop(循环指令)

条件转移

过程

中断

offset 操作符

返回标号的偏移地址

start:mov  ax,offest start 相当于mov ax 0

s: mov ax ,offest s       相当于mov ax 3 因为前面的指令有三个字节

jmp

可以段内也可以段外

jmp要给出转移目标的地址和转移目标的距离(段内短转移,段间转移,段内近转移)

依靠位移的jmp指令

jmp short s段内短转移(依靠位移的转移)cpu在执行jmp指令的时候不需要转移目的的地址

具体步骤

cpu在执行这句话的时候,通过计算出和目标地址的唯一。然后给当前的ip加上偏移量就实现跳转。

转移的目标地址在指令中的jmp命令

jmp far ptr 标号实现的是段间转移(远转移)

for ptr 同时修改

cs 标号所在的段的段地址

ip标号所在的段中的偏移地址

jmp  for ptr s

0B01BD0B

BD0B是高地址,代表段地址

0B01是低地址,代表偏移地址

转移地址在内存中的jmp指令

jmp word ptr 内存单元地址(段内转移)

将内存单元地址放一个目标位移的偏移地址。

jmp dword ptr(段间转移) 

将内存单元地址中放一个偏移地址,一个目标的段地址








0 0
原创粉丝点击