汇编指令长度的判断
来源:互联网 发布:angelababy心机知乎 编辑:程序博客网 时间:2024/06/05 23:04
汇编语言(王爽)中,讲CS:I[寄存器的地方有这样一则图示:
其中IP=IP+所读指令的字节数。
那么,所读指令的字节数应该怎么判断呢?
汇编指令长度与寻址方式有关,规律或原则如下:
一、没有操作数的指令,指令长度为1个字节
二、操作数只涉及寄存器的的指令,指令长度为2个字节
三、操作数涉及内存地址的指令,指令长度为3个字节
四、操作数涉及立即数的指令,指令长度为:寄存器类型+1
五、跳转指令,分为2种情况:
1、段内跳转(指令长度为2个字节或3个字节)
jmp指令本身占1个字节
段内短转移,8位位移量占一个字节,加上jmp指令一个字节,整条指令占2个字节
如:jmp short opr
段内近转移,16位位移量占两个字节,加上jmp指令一个字节,整条指令占3个字节
如:jmp near ptr opr
2、段间跳转,指令长度为5个字节
如:jmp dword ptr table[bx][di]
或
或
注意:形如“jmp 1234:5678”的汇编指令,是在Debug中使用的汇编指令,汇编编译器并不认识,如果在源程序中使用,那么在编译时便会报错。
阅读全文
0 0
- 汇编指令长度的判断
- 汇编指令长度的判断
- 【汇编】汇编指令长度
- 汇编指令长度计算方法
- 汇编指令长度计算方法
- 汇编指令长度计算方法
- 汇编指令长度
- 汇编指令长度计算方法
- 计算指令长度(汇编)
- 汇编指令要处理的数据长度问题
- 常用的汇编指令
- 常用的汇编指令
- 汇编的常用指令
- ARM的汇编指令
- 常用的汇编指令
- 常用的汇编指令
- 【汇编】JMP跳转指令的指令长度、直接转移与间接转移、段内跳转与段间跳转
- Intel指令格式与长度反汇编引擎ADE32分析
- js数组删除指定元素
- Stability of Recommendation Algorithms
- PullToRefreshScrollView 上拉下拉刷新 时间
- 欢迎使用CSDN-markdown编辑器
- 内核报错arch/arm/mach-s3c2440/built-in.o: undefined reference to `s3c24xx_spi_gpiocfg_bus0_gpe11_12_13'
- 汇编指令长度的判断
- 利用快速排序思想求数组第k大元素
- Linux Tomcat日志查看实用命令
- 拥有两棵枣树的世界
- jackson 的简单应用
- Maven安装及配置
- 单调队列---滑窗法
- 初识Linux--安装Ubuntu
- 高可复用接口返回类