汇编:JMP指令原理
cpu执行指令步骤:
1. 从cs和ip所组合出来的地址读取指令,将指令存放到指令缓存器中
2. 改变ip寄存器,ip = ip+所读指令的字节数
3.执行指令缓存器中的内容,跳转到第1步
assume cs:code, ds:datadata segmentdb 128 dup (0)
data endsstack segmentdb 128 dup (0)
stack endscode segmentstart:mov ax,datamov ds,axmov ax,stackmov ss, axs: mov ax, 1000Hmov bx,2000Hjmp s
; 标号地址 = jmp指令后的第一个字节地址 + 指令长度mov ax,4C00Hint 21Hcode endsend start
0012是jmp指令后第一个字节的地址, F8是跳转的指令长度
12H + F8H = AH(1个字节内的加法) 12H +(-8H) = AH
-8的补码就是F8
jmp跳转分为分为 1. 8位位移(范围: -128 ~ 127) 2. 16位位移(范围:-32768 ~ 32767)
所以,jmp 机器码中并没有包含转移的目的地址,jmp是通过位移(字节长度)实现跳转
assume cs:code, ds:datadata segmentdb 128 dup (0)
data endsstack segmentdb 128 dup (0)
stack endscode segmentstart:mov ax,datamov ds,axmov ax,stackmov ss, axs: mov ax, 1000Hmov bx,2000Hdb 130 dup (0);jmp short s ; short指定使用8位位移jmp near ptr s ; near ptr 指定使用16位移
; 标号地址 = jmp指令后的第一个字节地址 + 指令长度mov ax,4C00Hint 21Hcode endsend start
汇编:JMP指令原理相关推荐
- 汇编jmp指令的理解与用法
这篇文章是在学习过程中对于转移地址偏移地址的理解以及网上缺乏帮助理解计算转移地址偏移地址的前提下诞生的.初次写知识点分享,如有误,请指出多包含. JMP是在编写程序中经常使用的指令,它的功能是转移到指 ...
- 汇编jmp指令的一些用法(王爽)
jmp为无条件转移指令,可以只修改IP,也可以同时修改CS:IP jmp可以通过给定的转移距离或者目的地址进行跳转 按照位移跳转 jmp short 标号 修改ip的后八位,即跳转范围-128~127 ...
- jmp指令【原理详解 8086汇编语言+笔记】
笔记目录 jmp指令原理详解篇(无条件转移指令) 1 初步理解 2 jmp指令格式(小总结) 3 jmp指令本质-详解 3.1 引子 3.2 jmp short 标号(jmp short s为例) 怎 ...
- cmp 字节 汇编_汇编 常用指令 cmp jmp call ret
cmp 指令 功能相当于减法指令 只是不保存结果 不过cmp执行后会影响标志位 其它指令 通过识别标志位 来得知比较的结果 CPU在执行cmp指令时 像add sub指令一样 也包含两种含义 (有符号 ...
- 微机原理8086汇编语言上机——Masm环境搭建与常用汇编调试指令
学校的微机原理与接口技术课,最近开始 考古 上机实验了. 1.弯路 为什么不用宇宙最强大的IDEL--Visual Studio呢? 在我的Visual Studio专栏中有一篇文章介绍Visual ...
- 实现8086汇编编译器(三)——jmp指令的翻译
文章目录 前言 jmp 汇编指令的格式 jmp 机器指令的格式 jmp 指令的翻译 jmp 操作数类型 解析操作数 checkJmp 的实现 encodeJmp 的实现 前言 直接看<汇编语言& ...
- 基于8086CPU微处理器的汇编学习之JMP指令
JMP指令: 更改CS:IP寄存器的内容,以让CPU从新指定的内存地址开始继续执行指令. 格式: JMP 段地址:偏移地址 ------------------------------------- ...
- 贺利坚老师汇编课程47笔记:jmp指令无条件转移只修改IP
指路老师的博客 JMP指令的功能 无条件转移,可以只修改IP,也可以同时修改CS和IP(段间转移) JMP指令要给出的信息 转移的目的地址 转移的距离 JMP 2000:1000;段间转移(远转移) ...
- 汇编语言基础--汇编操作指令概述
本文是接续"汇编语言基础--机器级数据存储",主要介绍汇编指令的构造.寻址和指令主要分类. 操作指令 指令的基本要素: 在"计算机处理器(CPU)基础&quo ...
最新文章
- 1356. Sort Integers by The Number of 1 Bits 根据数字二进制下 1 的数目排序
- 安装提示卸载office_office2010 卸载工具
- [转载] Java面试题全集(上)
- .Net的后台服务技术有哪些?
- [新闻]炫目的全景与视频监控结合应用
- 化繁为简 回归初心 细品雅致设计的vivo X50系列
- [SSH] 传输文件
- linux忘记开机密码解决方案
- 《算法》第四版中文——学习资料
- 零基础CSS入门教程(29)–CSS下拉菜单实例
- python求圆锥体的表面积公式_圆锥表面积公式推导-圆锥表面积的计算公式
- php入门,windows安装与环境配置,基础语法学习
- 支付清结算体系详解(17)
- 计算机音乐本质上,电脑音乐系统的本质特点.doc
- windows系统完全换ubuntu
- Tribon M3 license keygen
- 红米5双清_小米红米5 plus(安卓8.0)刷官方中文Recovery教程,recovery工具分享,recovery下载...
- 数加加众包:奔驰“哭诉维权”美女硕士,你“不要脸”的样子真的很美
- Retrofit2.0初始化
- BUUCTF-Crypto学习笔记(二)