jmp 指令的几种寻址方式
jmp short 标号 段间跳转 -128-127
jmp far ptr 标号 超段转移 跳转包含目标地址jmp reg 16位寄存器
jmp word ptr 内存单元地址 段内转移
jmp dword ptr 内存单元地址 ( 段间转移) 高字地址存放cs 低字节存放ip


jmp指令用法总结

1.直接用法(只能在Debug下使用的汇编指令):
jmp 段地址:偏移地址
功能:修改CS、IP的内容
例子:jmp 55BA:8
执行后:(CS)=55EAH, (IP)=0008H

jmp 偏移地址
功能:修改IP的内容
例子:jmp 8
执行后: (IP)=0008H

2.根据标号进行转移的用法:
(1).转移的目的地址不在指令中,依据位移进行转移(段内转移)
a.jmp short 标号(IP的修改范围为-128至127)
功能:(IP)=(IP)+8位位移

b.jmp near ptr 标号(IP的修改范围为-32768至32767)
功能:(IP)=(IP)+16位位移

注:依据位移进行的转移是段内转移,位移=标号处的地址-jmp指令后的第一个字节的地址。

(2).转移的目的地址在指令中(段间转移)
jmp far ptr 标号
功能:用标号的段地址和偏移地址修改CS和IP
(CS)=标号所在段的段地址;(IP)=标号所在段的偏移地址
例子:略

3.转移地址在寄存器中的用法:
jmp 某一合法寄存器
功能:用寄存器中的值修改IP
例子:jmp ax
执行后:(IP)=(ax)
注意:合法寄存器是指通用寄存器。一个有趣的现象:jmp ip在debug下调试也是
错误的。字面上理解:(IP)=(IP),但CPU并不支持

4.转移地址在内存中的用法:
(1).jmp word ptr 内存单元地址(段内转移)
功能:从内存单元地址出开始存放着一个字,是转移的目的偏移地址
例子:mov ax,0123H
mov [bx],ax
jmp word ptr [bx]
执行后:(IP)=0123H

(2).jmp dword ptr 内存单元地址(段间转移)
功能:从内存单元地址处开始存放着两个字,高地址处的字是转移的目的段地址,低地址处是转移的目的偏移地址
例子:mov ax,0123H
mov [bx],ax
mov word ptr [bx+2],0
jmp dword ptr [bx]
执行后:(CS)=0, (IP)=0123H

参考文献:
aaa
bbb
ccc
ddd
eee
fff
ggg
hhh
iii
111
222
333
444

JMP指令寻址方式总结,JMP BX指令寻址方式是什么相关推荐

  1. ARM指令寻址方式之: 数据处理指令的寻址方式

    4.1  数据处理指令的寻址方式 4.1.1  数据处理指令的寻址方式概要 数据处理指令的基本语法格式如下. <opcode> {<cond>} {S} <Rd>, ...

  2. ARM指令B BL BLX BX区别

    1.B: 跳转. B 指令的格式为: B{条件} 目标地址 B 指令是最简单的跳转指令.一旦遇到一个B 指令,ARM 处理器将立即跳转到给定的目标地址,从那里继续执行.注意存储在跳转指令中的实际值是相 ...

  3. 计算机原理寻址方式ppt,计算机原理_3 寻址方式和指令系统.ppt

    计算机原理_3 寻址方式和指令系统 第三章寻址方式和指令系统 第一节基本概念 第二节寻址方式 第三节指令系统 附录DEBUG软件的使用说明 第一节基本概念 指令控制与存储程序是计算机的基本特征 CPU ...

  4. 寻址方式 寄存器寻址方式 立即数寻址方式 存储器寻址方式: 直接寻址方式,寄存器间接寻址方式,变址和基址寻址方式,基址变址寻址方式 串操作寻址方式 I/O端口寻址方式

    寻找操作数地址的方法 共有八种: 寄存器寻址方式 立即数寻址方式 存储器寻址方式:( 直接寻址方式,寄存器间接寻址方式,变址和基址寻址方式,基址变址寻址方式) 串操作寻址方式 I/O端口寻址方式 80 ...

  5. 七种寻址方式(相对基址加变址寻址方式)

    操作数在存储器中,其有效地址是一个基址寄存器(BX.BP)的值.一个变址寄存器(SI.DI)的值和指令中的8位/16位偏移量之和.其有效地址的计算公式如公式所示.  在不使用段超越前缀的情况下,规定: ...

  6. c语言免杀花指令大全,免杀花指令

    今天送上经典花指令 注:编写花指令,可参考以下成双指令,可任意自由组合.达到免杀效果. push ebp pop ebp push eax pop eax push esp pop esp push ...

  7. 三菱plc pwm指令_三菱PLC的指令代码,纯干货,需要的保存吧

    三菱PLC 三菱PLC的指令代码 一 顺控指令 1 触点指令 00 LD 逻辑操作开始 01 LDI 逻辑非操作开始 02 AND 逻辑乘 03 ANI 逻辑乘非 04 OR 逻辑加 05 ORI 逻 ...

  8. ARM指令英文全称-速记ARM指令

    通过英文全称,了解ARM指令代表的含义,可以快速记住所有ARM指令.我的一些表述,可能存在语法错误,不过不重要,我们的目的是理解. 每个指令用法的详解可以看这篇文章http://t.csdn.cn/m ...

  9. cmd指令大全指令_Linux 超全实用指令大全 | CSDN 博文精选

    作者 | 沉晓 责编 | 屠敏 出品 | CSDN 博客 运行级别和找回root密码指定运行级别运行级别说明:0:关机1:单用户[找回丢失密码]2:多用户状态没有网络服务3:多用户状态有网络服务4:系 ...

最新文章

  1. C/C++语言中计算int,float,double,char四种数据类型所能表示的数据范围
  2. 教你如何成为数据科学家(六)
  3. CTFshow php特性 web135
  4. 2.两个VLAN通过一个交换机与路由器的连接
  5. 关于SAP的预留问题
  6. HDU 4893 - Wow! Such Sequence!(线段树)
  7. 面向过程与面向对象 程序设计
  8. 1000道Python题库系列分享26(12道Pandas编程题)
  9. mysql中distinct走索引吗_MySQL中索引优化distinct语句及distinct的多字段操作
  10. 认识HTML与CSS
  11. iOS 使用fopen返回null
  12. 润乾报表连接mysql_润乾报表与DERBY数据库的创建连接详解
  13. 【74系列芯片的Verilog重现(一)】------74HC00
  14. mysql varchar 长度设置_Mysql中varchar长度设置方法
  15. 一步一步实现STM32-FOTA系列教程之STM32-FLASH分区说明
  16. Java.MapReduce处理全国各省市疫情数据,上传Hadoop平台处理后的数据
  17. Python文件操作之把臂入林
  18. 管理规划:目标是什么?
  19. MySQL隔离级别--未提交读,提交读,可重复读,序列化--详解(有示例)
  20. 帧数达不到144用144hz_不看不知道 老司机告诉你60Hz和144Hz的差别

热门文章

  1. 计算机通电后自动断电,为什么电脑开机自动断电 电脑自动断电解决办法
  2. Learning Python 学习Python Lynda课程中文字幕
  3. 5G/NR 学习笔记: RAR随机接入过程
  4. 读书有益——》摆渡人
  5. linux自定义开机启动脚本
  6. unity获取物体下的所有子物体
  7. 26.Vue列表渲染中key的作用与原理(内含虚拟DOM的对比算法详解)
  8. CM部署CDH安装组件到scm时报错: Cause:Table ‘scm.CM_VERSION‘ doesn‘t exist
  9. 对计算机接口提出的新要求吗,2017年秋微机原理与接口技术
  10. sideEffects导致的全局样式消失