jmp为无条件转移指令,可以只修改IP,也可以同时修改CS:IP

jmp可以通过给定的转移距离或者目的地址进行跳转

  • 按照位移跳转

jmp short 标号

修改ip的后八位,即跳转范围-128~127

jmp near ptr 标号

修改ip的16位,跳转范围为-32768~32767

jmp far ptr 标号

同时修改cs:ip,实现段间转移,又叫远转移

  • 按目的地址跳转

jmp  16位reg

如:jmp ax ,等效于mov ip, ax, 即把寄存器里的值赋给ip

jmp word ptr  内存单元

把内存单元里的字赋给ip

如:mov ax, 1234h

mov ds:[0], ax

jmp word ptr ds:[0]

即把1234h赋给IP

jmp dword ptr 内存单元

把内存单元地址开始的第一个字赋给ip,第二个字赋给cs

如:mov ax, 1234h

mov ds:[0], ax

mov ds:[2] ,6789h

jmp word ptr ds:[0]

即使得IP=1234h, CS=6789h

jmp 段地址值:偏移地址

使得(IP)=偏移地址值 (CS)=段地址值

如 jmp 6789h:1234h,效果同上例

  • 补充:有条件跳转

jcxz  标号

即:jump   if (cx) == 0

有条件跳转都属于短转移,段内转移,范围-128~127

汇编jmp指令的一些用法(王爽)相关推荐

  1. 汇编jmp指令的理解与用法

    这篇文章是在学习过程中对于转移地址偏移地址的理解以及网上缺乏帮助理解计算转移地址偏移地址的前提下诞生的.初次写知识点分享,如有误,请指出多包含. JMP是在编写程序中经常使用的指令,它的功能是转移到指 ...

  2. 汇编:JMP指令原理

    cpu执行指令步骤: 1. 从cs和ip所组合出来的地址读取指令,将指令存放到指令缓存器中 2. 改变ip寄存器,ip = ip+所读指令的字节数 3.执行指令缓存器中的内容,跳转到第1步 assum ...

  3. 8086汇编学习小记-王爽汇编语言实验12

    8086汇编学习小记-王爽汇编语言实验12 0号中断处理程序,开始安装在0000:0200处的程序最后用死循环导致显示不出'divided error',改成直接退出就正常显示了.注意修改ss,sp之 ...

  4. 王爽 汇编语言第三版 第10章 call 和 ret 指令 以及 子程序设计

    第10章 call 和 ret 指令 10.1 ret 和 reft 指令 call 和 ret 指令都是转移指令,他们都修改 IP,或同事修改 CS 和 IP .他们经常被共同来实现子程序的设计. ...

  5. 王爽汇编语言指令大全

    最近学习了王爽的<汇编语言>,收获很多,趁热在此记录汇编语言常用指令,方便以后查找使用 注:以下代码中凡是以h结尾的数均为16进制数,以b结尾的均为2进制数 一.寄存器 通用寄存器:可用于 ...

  6. 【王爽汇编】实验9 根据材料编程

    前言:这是王爽版汇编语言第四版第187页的一道题目,因为我觉得有点难,非常有借鉴意义,所以我打算写一篇博客,顺便把题目再写一遍,这样也许会看的更仔细.我会在题目的中间加上自己的思考和分析,因为对于初学 ...

  7. 配置汇编环境(王爽)

    配置汇编环境(王爽) 学习王爽的汇编预言时需要用到Debug查看各个寄存器的内容,但是我的是Windos10操作系统没办法在命令行下直接执行Debug命令,后来查找到需要可以通过安装DOSBox来实现 ...

  8. 实现8086汇编编译器(三)——jmp指令的翻译

    文章目录 前言 jmp 汇编指令的格式 jmp 机器指令的格式 jmp 指令的翻译 jmp 操作数类型 解析操作数 checkJmp 的实现 encodeJmp 的实现 前言 直接看<汇编语言& ...

  9. cmp 字节 汇编_汇编 常用指令 cmp jmp call ret

    cmp 指令 功能相当于减法指令 只是不保存结果 不过cmp执行后会影响标志位 其它指令 通过识别标志位 来得知比较的结果 CPU在执行cmp指令时 像add sub指令一样 也包含两种含义 (有符号 ...

最新文章

  1. 单应性Homograph估计:从传统算法到深度学习
  2. POJ3228二分最大流
  3. python中return返回值为函数名_Python函数返回值
  4. 《零基础看得懂的C语言入门教程 》——(四)C语言的基本数据类型及变量
  5. javascript学习系列(16):数组中的every方法
  6. 12面魔方公式图解法_一位建筑工程师:多年渴望就是学会魔方还原,只按这七步就可以!...
  7. 想要成为一名三维建模师?想要月薪10K?你了解这些吗?
  8. 网上图书商城项目学习笔记-008修改密码功能
  9. Helm 3 完整教程(十六):Helm 函数讲解(10)版本语义化函数、URL函数、UUID函数
  10. 以太坊上海协议之——达成Cosmos网络实现以太坊扩容协议
  11. 基于AD9361的ASK调制与解调
  12. WPS OFFICE
  13. JSP Webshell 免杀
  14. 微信小程序毕业设计 基于微信小程序评选投票系统开题报告
  15. 鸿蒙大陆v2.8正式版,鸿蒙大陆2.2正式版附隐藏密码
  16. saver.save和saver.restore
  17. 同一服务器不同端口网页,Apache Web服务器,在同一服务器上的不同端口上的多个应用程序...
  18. java 时间类 joda_Java Joda-Time 处理时间工具类(JDK1.7以上)
  19. 计算机系统的四种启动方式是,详解电脑为何有四种不同的启动设备教程
  20. Vuze(AKA Azureus) 4.5 发布

热门文章

  1. 高职c语言技能试题,高职上机C语言试卷A.doc
  2. 大学该不该开python教学_孩子该不该学编程?
  3. 第十篇,STM32串口蓝牙编程
  4. 重磅官宣:GitHub App 终于来了
  5. android 探针工具,探针营app下载-探针营 安卓版v1.0.0-PC6安卓网
  6. 【大咖说:绿色低碳的生活该是什么样子?】
  7. [XCTF] [NJUPT CTF 2017] maze
  8. 子类方法中super.父类方法
  9. 翻译资格考试英语笔译三级考试大纲
  10. 逻辑 java 猜心术_如何玩简单的数字猜心术