汇编指令JMP是啥意思?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编指令JMP是啥意思?相关的知识,希望对你有一定的参考价值。
JMP跳转指令 无条件的转移到指令指定的地址去执行从该地址开始的命令。指令必须指定转移的目标地址(或称转向地址)。 JMP指令不影响条件码。 计算机汇编语言中的一种跳转指令.当需要分支程序时,散转程序有时可以帮我们实现。使用指令JMP @A+DPTR,可实现多分支转移。它是根据某种输入或运算的结果,分别转向各个处理程序段取执行程序。 JMP $ 就是跳转到当前的地址, 所以它是一个死循环,不继续执行下面的程序了。 他的意思在于我要求的所有任务已经完成了,后面没有任务了,那么,就原地踏步吧! 我已经设置好中断服务程序了,只要发生中断就会进入中断服务程序,所有的操作都在中断服务程序处理。 编辑本段JMP系列软件 SAS(全球最大的统计学软件公司)推出的一种交互式可视化统计发现软件系列,包括JMP,JMP Pro,JMP Clinical,JMP Genomics,SAS Simulation Studio for JMP等强大的产品线。主要用于实现统计分析。JMP的算法源于SAS,特别强调以统计方法的实际应用为导向,交互性、可视化能力强,使用方便,尤其适合非统计专业背景的数据分析人员使用,在同类软件中有较大的优势。 目前JMP的最新版本是JMP9,其主要特点括: 1. 交互性:JMP可以帮助用户很好地实现与数据之间的“互动”,包括图形、数据表等之间都是实时交互的,这对实现探索性数据分析和提高分析效率比较有帮助。 2. 可视化:数据可视化能力一直是JMP值得称道的特点之一。 3. 功能和性能:除了一般软件能提供的常规统计分析功能外,JMP还具备时间序列、聚类等高级分析功能以及决策树、神经网络等专业数据挖掘工具,功能颇为强大;另外,JMP还提供了非常完整的六西格玛及质量管理统计方法,如试验设计DOE,测量系统分析MSA等,可靠性分析(Reliability)等。其中,JMP的试验设计方案堪称一绝,灵活性和完整性都很突出。此外,JMP Pro还能提供更强大的计算能力以及更加先进的数据挖掘和预测功能;JMP Clinical是SAS公司推出的下一代生命科学分析平台;JMP Genomics是专业的基因数据分析软件。 4. 可扩展性:JMP既可以单独运行,也可以和SAS,R等分析系统结合使用;运用JMP编程语言JSL,可以开发个性化的分析程序或者数据分析的自动化模版等。 5.使用便利性:JMP采用图形界面操作,其强大的交互性和可视化能力使得使用变得容易;JMP的菜单设置与一般统计软件不同,它采用嵌套的形式,按照分析和解决问题的思路而设计,具备了较好的防错能力。 JMP的应用领域包括业务可视化、探索性数据分析、六西格玛及持续改善(可视化六西格玛、质量管理、流程优化)、试验设计、生存及可靠性、统计分析与建模、交互式数据挖掘、分析程序开发等。JMP是六西格玛软件的鼻祖,当年摩托罗拉开始推六西格玛的时候,用的就是JMP软件,目前有非常多的全球顶尖企业采用JMP作为六西格玛软件,包括陶氏化学、惠而浦、铁姆肯、招商银行、美国银行、中国石化等等。 JMP的应用非常广泛,全球用户数已经超过三十万,全球顶尖企业基本都是它的用户,像英特尔、戴尔、苹果、摩托罗拉、IBM、HP、Google、GE、NEC、Sony、阿斯利康、辉瑞制药、礼来、罗氏、宝洁、联合利华、陶氏化学、巴斯夫、铁姆肯、霍尼韦尔、丰田汽车、汇丰银行、美国银行、招商银行、苏格兰皇家银行、中国石化、北京大学、人民大学、首都经贸大学、清华大学、上海交通大学、沃顿商学院、哈佛大学、MIT、耶鲁大学、牛津大学…… 在医药领域,以严格和严谨著称的美国食品与药物管理局(FDA)对于药企申报的新药报告中的统计分析部分,只接受用SAS和JMP分析得出的统计结果。其40%以上的药物评审员都是JMP用户。 参考技术A 无条件转移指令JMP 格式: JMP OPRD 功能: JMP指令将无条件地控制程序转移到目的地址去执行.当目的地址仍在同一个代码段内,称为段内转移;当目标地址不在同一个代码段内,则称为段间转移.这两种情况都将产生不同的指令代码,以便能正确地生成目的地址,在 段内转移时,指令只要能提供目的地址的段 内偏移量即够了;而在段间转移时,指令应能提供目的地址的段地址及段内偏移地址值. 说明: 1. 其中OPRD为转移的目的地址.程序转移到目的地址所指向的指令继续往下执行. 2. 本组指令对标志位无影响. 3. <1> 段内直接转移指令: JMP NEAR 标号 <2> 段内间接转移指令: JMP OPRD <3> 段间直接转移指令: JMP FAR 标号 <4> 段间间接转移指令:JMP OPRD其中的OPRD为存储器双字操作数.段间间接转移只能通过存储器操作数来实现. 参考技术B 无条件跳转这个汇编代码是啥意思? [复制]
【中文标题】这个汇编代码是啥意思? [复制]【英文标题】:What is meant by this Assembly Code? [duplicate]这个汇编代码是什么意思? [复制] 【发布时间】:2013-11-20 08:11:01 【问题描述】:jmp *0x804a260(,%eax,4)
例如,eax
包含 2。这将需要 2 * 4 并将其添加到 0x804a260 给您 0x804a268,然后会跳转到该位置,对吗?
【问题讨论】:
自从我完成汇编程序以来已经很长时间了,但是从内存中 JMP 是跳转命令,所以在我看来它跳转到特定的指针/地址并正确传输 eax 寄存器的值跨度> 【参考方案1】:jmp *0x804a260(,%eax,4)
上面的 ATT 语法和下面 intel 语法一样:
jmp dword ptr [eax*4 + 0x804a260]
它计算内存位置eax*4 + 0x804a260
,从该位置读取一个双字,将其视为地址并跳转到该地址。
使用您的示例,假设 eax
是 2。计算的地址是 0x804a268
。此外,假设0x804a268
它包含0xbadf00d
。这意味着在执行jmp
之后,程序计数器eip
将尝试在内存位置0xbadf00d
处执行下一条指令。
【讨论】:
以上是关于汇编指令JMP是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章