JMP怎么跳转啊?方法是什么啊?

JMP怎么跳转啊?方法是什么啊?,第1张

跳转指令不止jmp,jmp是无条件跳转,jmp要配合芹源条件跳转指令使用

比滑盯如C语言程序:

s=0

for (int i=0i<10++i)

{

s+=i

}

可能会编译为等效如下汇编代码的指令:

mov eax,0

mov ebx,0

loop1:

cmp ebx,10

jge out

add eax,ebx

add ebx,1

jmp loop1

out:

mov s,eax

这里jmp就和jge配嫌让态合使用

JMP指令包括桥皮相对转移和绝对跳转。

1.绝对转移是直接跳转到内存地址 。相对跳转是跳转到X字节后的位置在计算时候跳转指令和目的地址的数据都不计算在内。

2.日本主要港口相关搜索无条件转移指令包括JMP、子程序的调用和返回指令、中断的调用和返回指令等。下面只介绍无条件转移指令JMP指令的一般形式。

3.JMP是汇编语言中的无条件跳转指令。无告液条件跳转指令可转到内存中任何程序段。转移地址可在指令中给出,也可以在寄存器中给出,或在储存器中指出。

4.以便能正确地生成目的地址,在段内转移时,袜消物指令只要能提供目的地址的段内偏移量即够了。而在段间转移时,指令应能提供目的地址的段地址及段内偏移地址值。

无条件转移指令JMP

格式: JMP OPRD

功能: JMP指令将睁迅搭无条件地控制程序转移到目的地址去执行.当目的地址仍在同一个代码段内,称为段内转移当目标地址不在同一个代码段内,则称为段间转移.这两种昌携情况都将产生不同的指令代码,以便能正确地生成目的地址,在 段内转移时,指令只要能提供目的地址的段 内偏移量即够了而在段间转移时,指令应能提供目的地址的段地址及段内偏移地址值.

说明:

1. 其中OPRD为转移的目的地址.程序转移到目的地址所指向的指令继续往下执行.

2. 本组指令对标志位无影响.

3. <1>段内直接转移指令: JMP NEAR 标号

<2>段内间接转移指令: JMP OPRD

<3>段间直接转移指令: JMP FAR 标号

<4>段间间接悉拿转移指令:JMP OPRD其中的OPRD为存储器双字 *** 作数.段间间接转移只能通过存储器 *** 作数来实现.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12379405.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存