jcc
2024-08-31 16:35:31
常用的jcc指令表
1.修改eip的指令
1)jmp
寄存器EIP的值为程序将要执行的下一条指令的地址;
jcc指令本质上是修改EIP的值;
不能用mov指令直接修改eip的值,如果想修改eip的值需要用专用的指令,例如jmp;
格式:jmp r/imm
2)call
和jmp差不多,也是修改eip的值;
不同点是:call会同时将下一行指令的地址压入栈顶;
格式:call r/imm
3)ret
ret用来跳转到call后面一条指令处;
相当于pop eip;
2.比较指令
比较指令用来修改标志寄存器的值,但不会修改比较的数的值;
比较指令经常和条件跳转指令搭配使用;
1)cmp
格式:cmp r/m,r/m/imm
注意:逗号两边不能同时为内存地址;
作用:比较两个操作数,相当于sub指令,相减的结果不保存到第一个操作数中;
但是会根据结果修改相关标志寄存器的值;
常用:通过观察cmp执行后zf的值,判断两个数是否相等;
2)test
格式:test r/m,r/m/imm
作用:两个数做and运算,不保存结果,但根据结果修改标志寄存器;
常用:
test eax,eax;可以查看zf标志位,如果为1则eax的值为0;
最新文章
- 如何用Visual Studio 2013 (vs2013)编写C语言程序 (转)
- Can’t Activate Reporting Services Service in SharePoint
- 第1周 支路变量、元件、KCL和KVL
- libsvm Minist Hog 手写体识别(源码文件)
- Jmeter使用指南
- hdu 1049 Climbing Worm
- js屏弊错误
- 一个关于poi导出的API
- OC弱语法
- 我的Python成长之路---第六天---Python基础(20)---2016年2月20日(晴)
- mssql server 函数大全
- Exchange无法发送邮件 未找到匹配的连接器来路由外部收件人解决办法
- Oracle的安装问题
- JS中this指向问题相关知识点及解析
- Java框架spring 学习笔记(八):注入对象类型属性
- Java学习笔记之——多态、抽象
- windows配置Java环境变量
- Spark RDD Action 简单用例(一)
- leecode第五十四题(螺旋矩阵)
- day 51
热门文章
- django初步了解2
- Elastic Search中Query String常见语法
- windows环境下安装selenium+python
- Mysql-Sqlalchemy-ORM-many_to_many
- 怎样使用 vue-cli ( Vue 脚手架 )
- linq to sql之Distinct
- 基于SQL Server日志链查看数据库insert/update/delete操作(一)
- 【转】CnBlogs自定义博客样式
- vue 项目中如何在页面刷新的状态下保留数据
- 关于SQL查询某年数据 和DATEPART 函数的使用