短转移、近转移、运转移

首先,短转移是最短的,近转移和远转移是相对的近和远。

  • 短转移(JMP SHORT LABEL)的位移量:IP ← IP + 8位的位移量
  • 近转移(JMP NEAR PTR LABEL)的位移量:IP ← IP + 16位的位移量
  • 远转移(JMP FAR PTR LABEL)的位移量:IP ← LABEL的偏移地址,CS ← LABEL的段基址

关于三种转移的IP值

  • 短转移:JMP位置的IP值加2,即IP指向了下一条指令,再加上IP+1位置的一个8bit位移量。
  • 近转移:因为位移量是16bit,需要占两个字节,所以JMP位置的IP值加3,再加上IP+1和IP+2组成的位移量。
  • 远转移:采用段加偏移,CS的值在高地址、IP值在低地址(注意小端模式)

注解:
x86采用小端模式,即低有效字节放在低地址位置。

如此,再看下面三道题,就清晰很多了

阅读下面的x86汇编程序,回答问题。

JMP NEAR PTR PROG1
……
JMP  SHORT LAB
……
JMP  FAR PTR PROG2
……
PROG1: MOV  CX, DX
……
LAB: ADD  AX, BX
……
PROG2:MOV  CX, DX

假设第一条JMP指令(JMP NEAR)在存储器中的地址是23000H,位移量是4010H,则该跳转指令的目标地址为多少?(注意当前IP值已经指向下一条指令)?
23000H + 3 + 4010H = 27013H √

假设第一条JMP指令(JMP SHORT)在存储器中的地址是23000H,位移量是10H,则该跳转指令的目标地址为多少?(注意当前IP值已经指向下一条指令)?
23000H + 2 + 10H = 23012H √

假设第三条JMP指令(JMP FAR)在存储器中的地址是25000H,该指令长度为5个字节,第一个字节为EA表示操作码,后四个字节的内容依次为10H,20H,30H,40H,则该跳转指令的目标地址为多少?
CS:4030H
IP:2010H
4030H * 10H + 2010H = 42310H √

计算机组成:浅析短转移、近转移、远转移相关推荐

  1. java osta_Java语言程序设计_科泰计算机学校用户致胜口碑致远

    Java语言程序设计,科泰计算机学校用户致胜口碑致远,  2.获得国家劳动和社会保障部OSTA职业资格认证  3.获得国际软件工程师认证. Java语言程序设计, 进制I/O不需要转换,所以进制I/O ...

  2. HTAP数据库 PostgreSQL 场景与性能测试之 6 - (OLTP) 空间应用 - KNN查询(搜索附近对象,由近到远排序输出)...

    标签 PostgreSQL , HTAP , OLTP , OLAP , 场景与性能测试 背景 PostgreSQL是一个历史悠久的数据库,历史可以追溯到1973年,最早由2014计算机图灵奖得主,关 ...

  3. 实现光晕效果_马自达6车灯升级激光四透镜实现四近四远光

    汽车前照明大灯升级案例 车型:马自达6 灯泡色温:5600K 透镜案例:米石激光 TMF激光 原车灯泡型号:H1 H1 雾灯:H3 原车瓦数:80-100W 升级方式:支架 安装方式:有 密封胶性质: ...

  4. 如何按距离排序 php,php做附近的人,根据距离由近到远进行排序

    用户登陆的时候会获取到该用户的经纬度,数据库中存有所有用户的经纬度,如何进行由近到远进行排序,并算出距离 可以考虑用GeoHASH实现,效率更高,参考这篇http://www.cnblogs.com/ ...

  5. 计算机毕业设计Java短视频交流点播系统(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java短视频交流点播系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java短视频交流点播系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S ...

  6. 2021高考成绩查询镇远一中,离太阳由近到远的八大行星排序及记忆方法

    八大行星按照离太阳的距离从近到远,它们依次为水星.金星.地球.火星.木星.土星.天王星.海王星. 更多高考资讯尽在30高考网https://www.30gk.com/ 八大行星的排序 1.水星:在太阳 ...

  7. 计算机控制手机短信的接收代码,计算机发送手机短信的C++程序

    手机短信已经成为当今的流行时尚,但怎样在计算机之间体验短信的方便与快捷呢?其实我们利用Windows 2000提供的信使服务就可以自制一个短信发送程序,令笔者最为得意的是它几乎可以穿越各种网络防火墙, ...

  8. css 实现文字3D旋转近清晰远模糊

    3D旋转:父元素设置透距perspective:160vmin,子元素设置3D模式transform-style: preserve-3d 近清晰远模糊:通过filter:blur实现模糊,filte ...

  9. AI,你究竟离我们是近还是远?

    关注云报 洞察深一度 有人说,情诗很近,但仓央嘉措很远.因为能写情诗的人很多,但像仓央嘉措那样将情感描写得如此细腻真挚动人的很少. 也有人说,AI(人工智能)很近,但应用很远.因为AI的产品虽然五花八 ...

最新文章

  1. 从实例学习多态(Polymorphism [pɔli'mɔ:fizm])
  2. 第55件事 产品疯传的7个基本原则
  3. python多边形图案_如何用matplotlib中的自定义图案填充多边形?
  4. 第 18 章 Django 入门
  5. 心路历程(五)-find work and find house
  6. 1、代码中设置编码、编辑器中设置Python的编码
  7. jdbc url链接加时区正确方法
  8. 观电影《头号玩家》有感
  9. 《Cacti实战》——2.2 安装与配置相关组件和服务
  10. [转]加载纹理与使用glGenTextures时应注意的一点(解决吃内存)
  11. 转载Java 反射机制
  12. 触控屏c语言程序,触摸屏编程软件 C-more Micro Programming Software V3.0
  13. macbook使用automator实现文文本自动化处理
  14. vue开发银行流水查询系统--基于巨杉数据库
  15. 三星电视618钜惠火热进行中,6月2日总裁直播惊喜“价”到
  16. 【迅为iMX6Q】开发板 烧写工具 MfgTool2.exe 打不开问题的解决
  17. LeetCode50——一题学会快速幂算法
  18. C++之路进阶——codevs3566(紧急疏散)
  19. Bottom-Up和Top-Down
  20. 乐鑫Esp32学习之旅27 带你在Windows10平台下用自带的Linux安装 ESP8266/ESP32 环境,再无需额外安装虚拟机了。

热门文章

  1. 物联网开放平台全面赋能生态伙伴,电信“天翼物联开发者大赛”技术沙龙北京站如期举行...
  2. C#操作xml文档,cuid,dategridview显示数据
  3. 2021-2027全球与中国接触角测量仪市场现状及未来发展趋势
  4. 接触角测量仪器及主要功能
  5. matlab中gui界面如何保存为图片,如何保存MATLAB GUI界面中的图片
  6. 购买域名之后如何设置DNS,DNS解析原理与dig命令使用
  7. 安全合规/ISO--2--ISO 27001介绍
  8. 总结——STL 常用数据结构及用法
  9. php access编程实例,PHP连接操作access数据库实例,access实例_PHP教程
  10. Kali-Linux 永久获得超级用户权限