JCC

news/2025/3/16 14:42:12/文章来源:https://www.cnblogs.com/yuli10952/p/18233139

跳地址

JMP

修改eip的值,让程序下一步执行JMP修改EIP的地址

格式:JMP 寄存器/立即数==MOV EIP,寄存器/立即数

注:只影响EIP

CALL

PUSH 地址B

MOV EIP,地址A/寄存器  ==CALL 地址A/寄存器

复制下一个地址,在修改EIP的值

eg:

运行

执行命令后,call下一个指令的地址入栈,ESP减四,EIP被修改

下一个指令地址算法:现地址+指令的字节数(如图有五个字节)

所以call下一个指令地址为004183D7

RETURN

JE、JZ

实质是看标志寄存器的Z位,Z位为1,就跳到相应的地址

 结果为零则跳转

格式:JE  地址

JNE,JNZ

 看标志寄存器的z位,z位为零,就跳转到相应的地址。

结果不为零则跳转

JS

实质是标志寄存器的s位,S位为1就跳转到相应的地址

 结果为负责跳转

JNS

S位为零,就跳转到相应地址

结果为非负则跳转

JP,JPE

P位为1,则跳转到相应地址

结果中1的个数为偶数则跳转

JNP,JPO

P位为零,则跳转到相应地址

结果中1的个数为奇数则跳转

JO

  O位为1,则跳转到相应地址

结果溢出则跳转

JNO

 O位为零,则跳转到相应地址

结果没有溢出则跳转

JB,JNAE

C位为1则跳转到相应地址

小于则跳转(无符号数)

JNB,JAE

C位为零,则跳转到相应地址

大于等于则跳转(无符号数)

JBE,JNA

C位为一或者z位为一

小于等于则跳转,(无符号数)

JNBE,JA

C位和z位都为零(无符号数)

大于则跳转

JL,JNGE

S位和o位不相等

 小于则跳转(有符号数)

JNL,JGE

S位和o位相等

大于等于则跳转(有符号数)

JLE,JNG

Z位=1 或者 s和o位不相等

小于等于则跳转(有符号数)

JNLE,JG

 Z位等于零,并且s和o位相等

大于则跳转(有符号数)

只改变标志寄存器

CMP

做减法运算,结果不保存,但改变标志寄存器里的值,其余不变

格式:CNP      R/M,R/M/IMM

①代码

运行时EAX,ECX值不变,P 和Z位改变。

③代码

一个寄存器直接与内存比较,只要宽度一样

用途:1)比较两个操作数是否相等———Z位

           2)第一位数是否比第二位数大———S位

TEST

  两个数值进行与操作,结果不保存,但是会改变相应标志位。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/720578.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

crypto 入门

crypto1 看提示发现密文形式很像flag,加上后面有一个倒序,发现密文倒过来就是flagcrypto2 打开是一段加密文本,先用浏览器的控制台试试,按住F12打开控制台,复制,enter,就有了crypto3打开是一段颜文字,试试用AAencode解密,crypto4 题目要求我们计算d的值,根据RSA算法的…

实验20-智能换脸

changeface.pyimport cv2 import dlib import numpy import sysPREDICTOR_PATH = "./shape_predictor_68_face_landmarks.dat" SCALE_FACTOR = 1 FEATHER_AMOUNT = 11 # 代表各个区域的关键点标号 FACE_POINTS = list(range(17, 68)) MOUTH_POINTS = list(range(48, …

在线编辑涉密的Word文档,只读/禁止编辑/禁止复制/禁止另存/禁止打印

在日常办公环境中,保密信息的安全性是至关重要的,我们经常会需要在线预览编辑涉密的Word文档,但是又要求这些涉密的文档只能看,只读打开/禁止编辑/禁止复制/禁止另存/禁止打印,这时候该如何实现呢?猿大师办公助手可以帮您做到这些!猿大师办公助手可以把本地微软Office或…

实验19-使用keras完成语音识别

wavs_to_model.pyimport wave import numpy as np import osimport keras from keras.models import Sequential from keras.layers import Densenum_class = 0 # 加载的语音文件有几种类别 labsIndName=[] ## 训练集标签的名字 ["seven","stop"]# …

使用Wesky.Net.Opentools库,一行代码实现实体类类型转换为Json格式字符串

安装1.0.10以及以上版本的 Wesky.Net.OpenTools 包 包内,该功能的核心代码如下: 自定义属性:实体类JSON模式生成器: 使用方式:引用上面的1.0.10版本或以上的包。如果实体类有特殊需求,例如映射为其他名称,可以用OpenJson属性来实现。实体类对象案例如下:上面实体类,…

RFS_Server_06 上传并发布数据

操作描述:云服务器Ubuntu20.04系统Docker中有两个容器:Postgres容器和GeoServer容器。将数据存储至Postgres数据库容器中,并通过GeoServer连接,发布地图服务。 此文档中使用的Postgres数据库名称为pg01,GeoServer服务器名称为geoserver01。 1 基础操作:使用工具连接云…

vivado与modelsim联合仿真

写在前面:联合仿真需要版本对应,我的2020的modelsim和2020的vivado是可以用的。如果不对应,下边会编译报错。 第一步,编译仿真库文件。点击菜单栏Tools-->Compile Sim Libary,第一行Simulator选择Modelsim接下来Family选择你需要的器件对应的Family。Compiled library …

深度学习--风格迁移 原理以及实现--84

目录1. 简介4. 损失函数 参考链接:https://blog.csdn.net/ssshyeong/article/details/127092354 1. 简介 Image Style Transfer Using Convolutional Neural Networks:Gram矩阵(CVPR2016) 链接 Texture Synthesis Using Convolutional Neural Networks 图像经过卷积层后得到的…

Body AdvancedBrep Geometry

Body AdvancedBrep Geometry Body Brep Geometry是通过边界表示模型(包括NURBS)表示产品的三维形状。应使用保持该几何表示的IfcShapeResentation的以下属性值:IfcShapeRepresentation.RepresentationIdentifier = Body IfcShapeRepresentation.RepresentationType = Advanc…

node.js + mysql实现基本的增删改查功能(保姆级教程---2优化版)

node.js + mysql实现基本的增删改查(保姆级教程---2优化版)上一个实现对增删改查功能都写在同一个文件里,代码过于冗余,我认为可以优化,分开写在不同文件里面,使得更加直观。废话不多说,直接进入主题:对之前的代码进行抽离:db.js文件(用于数据库的连接,并导出连接供…

虚幻中实现本地双人的输入设备分别控制需要的Pawn

想要实现双人成行游戏中的双输入设备(双输入设备指的是一个键鼠和一个手柄,或者两个手柄)分别控制玩家1和玩家2,同时可以动态插拔设备切换对应的Pawn的控制权;本文是对探索并实现此功能的一个解决思路记录。1、前期准备和知识点梳理 1.1 本地多玩家 LocalPlayer 平常我们运…