计算机组成:浅析短转移、近转移、远转移
短转移、近转移、运转移
首先,短转移是最短的,近转移和远转移是相对的近和远。
- 短转移(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 √
计算机组成:浅析短转移、近转移、远转移相关推荐
- java osta_Java语言程序设计_科泰计算机学校用户致胜口碑致远
Java语言程序设计,科泰计算机学校用户致胜口碑致远, 2.获得国家劳动和社会保障部OSTA职业资格认证 3.获得国际软件工程师认证. Java语言程序设计, 进制I/O不需要转换,所以进制I/O ...
- HTAP数据库 PostgreSQL 场景与性能测试之 6 - (OLTP) 空间应用 - KNN查询(搜索附近对象,由近到远排序输出)...
标签 PostgreSQL , HTAP , OLTP , OLAP , 场景与性能测试 背景 PostgreSQL是一个历史悠久的数据库,历史可以追溯到1973年,最早由2014计算机图灵奖得主,关 ...
- 实现光晕效果_马自达6车灯升级激光四透镜实现四近四远光
汽车前照明大灯升级案例 车型:马自达6 灯泡色温:5600K 透镜案例:米石激光 TMF激光 原车灯泡型号:H1 H1 雾灯:H3 原车瓦数:80-100W 升级方式:支架 安装方式:有 密封胶性质: ...
- 如何按距离排序 php,php做附近的人,根据距离由近到远进行排序
用户登陆的时候会获取到该用户的经纬度,数据库中存有所有用户的经纬度,如何进行由近到远进行排序,并算出距离 可以考虑用GeoHASH实现,效率更高,参考这篇http://www.cnblogs.com/ ...
- 计算机毕业设计Java短视频交流点播系统(源码+系统+mysql数据库+lw文档)
计算机毕业设计Java短视频交流点播系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java短视频交流点播系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S ...
- 2021高考成绩查询镇远一中,离太阳由近到远的八大行星排序及记忆方法
八大行星按照离太阳的距离从近到远,它们依次为水星.金星.地球.火星.木星.土星.天王星.海王星. 更多高考资讯尽在30高考网https://www.30gk.com/ 八大行星的排序 1.水星:在太阳 ...
- 计算机控制手机短信的接收代码,计算机发送手机短信的C++程序
手机短信已经成为当今的流行时尚,但怎样在计算机之间体验短信的方便与快捷呢?其实我们利用Windows 2000提供的信使服务就可以自制一个短信发送程序,令笔者最为得意的是它几乎可以穿越各种网络防火墙, ...
- css 实现文字3D旋转近清晰远模糊
3D旋转:父元素设置透距perspective:160vmin,子元素设置3D模式transform-style: preserve-3d 近清晰远模糊:通过filter:blur实现模糊,filte ...
- AI,你究竟离我们是近还是远?
关注云报 洞察深一度 有人说,情诗很近,但仓央嘉措很远.因为能写情诗的人很多,但像仓央嘉措那样将情感描写得如此细腻真挚动人的很少. 也有人说,AI(人工智能)很近,但应用很远.因为AI的产品虽然五花八 ...
最新文章
- 从实例学习多态(Polymorphism [pɔli'mɔ:fizm])
- 第55件事 产品疯传的7个基本原则
- python多边形图案_如何用matplotlib中的自定义图案填充多边形?
- 第 18 章 Django 入门
- 心路历程(五)-find work and find house
- 1、代码中设置编码、编辑器中设置Python的编码
- jdbc url链接加时区正确方法
- 观电影《头号玩家》有感
- 《Cacti实战》——2.2 安装与配置相关组件和服务
- [转]加载纹理与使用glGenTextures时应注意的一点(解决吃内存)
- 转载Java 反射机制
- 触控屏c语言程序,触摸屏编程软件 C-more Micro Programming Software V3.0
- macbook使用automator实现文文本自动化处理
- vue开发银行流水查询系统--基于巨杉数据库
- 三星电视618钜惠火热进行中,6月2日总裁直播惊喜“价”到
- 【迅为iMX6Q】开发板 烧写工具 MfgTool2.exe 打不开问题的解决
- LeetCode50——一题学会快速幂算法
- C++之路进阶——codevs3566(紧急疏散)
- Bottom-Up和Top-Down
- 乐鑫Esp32学习之旅27 带你在Windows10平台下用自带的Linux安装 ESP8266/ESP32 环境,再无需额外安装虚拟机了。
热门文章
- 物联网开放平台全面赋能生态伙伴,电信“天翼物联开发者大赛”技术沙龙北京站如期举行...
- C#操作xml文档,cuid,dategridview显示数据
- 2021-2027全球与中国接触角测量仪市场现状及未来发展趋势
- 接触角测量仪器及主要功能
- matlab中gui界面如何保存为图片,如何保存MATLAB GUI界面中的图片
- 购买域名之后如何设置DNS,DNS解析原理与dig命令使用
- 安全合规/ISO--2--ISO 27001介绍
- 总结——STL 常用数据结构及用法
- php access编程实例,PHP连接操作access数据库实例,access实例_PHP教程
- Kali-Linux 永久获得超级用户权限