【汇编语言】(x86)test与跳转指令(je jle jge jg jl……)组合的含义

在x86指令集中,经常遇到test指令与条件跳转指令组合,这是什么含义呢?

博主表示,查了很多资料也没人完全说清楚……

这里只用最简单的,抽象层次进行说明,不讲原理。

举例

test	edx,edx
jle		某地址

含义是:如果edx <= 0,就跳到某地址,否则继续往下执行。

jle换成jg的话,就是edx > 0跳转。

其他同理。


cmp指令和跳转指令组合的区别是:这个组合比较的是cmp A,B中,AB的关系。

test A,A则比较的是A0的关系。


这些都是抽象层次的应用,具体原理还需要详细研究,这里不展开。

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

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

相关文章

【蓝桥杯】BASIC-8 回文数(2020-06-08)

题目 试题 基础练习 回文数 资源限制 时间限制&#xff1a;1.0s 内存限制&#xff1a;512.0MB 问题描述   1221是一个非常特殊的数&#xff0c;它从左边读和从右边读是一样的&#xff0c;编程求所有这样的四位十进制数。    输出格式   按从小到大的顺序输出满足条件的…

【算法训练】Leetcode 1295. 统计位数为偶数的数字(2020.06.09 )

1 题目 1295. 统计位数为偶数的数字 给你一个整数数组 nums&#xff0c;请你返回其中位数为 偶数 的数字的个数。 示例 1&#xff1a; 输入&#xff1a;nums [12,345,2,6,7896] 输出&#xff1a;2 解释&#xff1a; 12 是 2 位数字&#xff08;位数为偶数&#xff09; 345 …

Vivado设置指定源文件进行RTL优化

像VS编译器设置启动项一样&#xff0c;Vivado中&#xff0c;也有类似设计&#xff0c;可以看到&#xff0c;当前选中的是ALU&#xff0c;那么进行RTL优化的时候&#xff0c;会优化RTL的结果&#xff0c;而不是别的&#xff0c;如何改成别的&#xff1f; 在某文件上右键单击选择…

【完整流程】用VSCode替换Vivado默认编辑器

本文楼主找了很多资料&#xff0c;选出了最有用的资料&#xff0c;按照教程走&#xff0c;就可以顺利搞定&#xff0c;先给出画面 很酷很方便&#xff0c;同时还有 自动补全检测错误列选自动生成仿真测试文件 等重要功能 Vivado原来的编辑器是这样的…… 关键是&#xff0c…

IEDA中JavaDoc的自动生成、手动生成,以及生成html文档

1 自动生成类的注释 JavaDoc就是java特有的一种注释。 1.1 配置 首先&#xff0c;IDEA点击File-->Settings 然后Editor-->File and Code Templates-->Class 之后在这地方&#xff0c;添加一些代码 /** * ${description} * * <p> * 创建日期&#xff1a;$…

【java】父类与子类的引用赋值关系

理清楚4个目标 父类引用&#xff08;“名”&#xff09;父类对象&#xff08;“实”&#xff09;子类引用子类对象 理清楚几个操作 // 父类 public class parent{}// 子类 public class sun{}父类引用指向父类对象 parent p1 new parent();子类引用指向子类对象 son s1 …

IDEA自动生成 构造方法 get set方法

对于一个类&#xff0c;创建好成员变量后 右键单击&#xff0c;选中Generate 然后 这几个依次是 构造方法getsetget和set 我们可以选中一个&#xff0c;然后选中要生成的变量&#xff0c;点击OK 这样就可以自动生成 构成方法get方法set方法

IDEA快速修改类名和文件名

在你要修改的类名上&#xff0c;选中类名&#xff0c;然后 右键单击选中Refactor选中Rename 也可以使用快捷键 Win用户是Shift F6

java中 静态方法与成员方法何时使用

静态方法 不操作成员变量&#xff0c;可以直接调用 是用来直接对传入的数据进行操作的 成员方法 需要操作对象的成员变量的 区别 静态方法&#xff0c;不能操作成员变量&#xff0c;只是一个操作成员方法&#xff0c;可以操作成员变量&#xff0c;不仅仅是操作&#xff0…

通过编程解决问题的正确思路

1. 先知道我们面对一个怎样的问题 2. 考虑这个问题在现实生活中&#xff0c;我们要用怎样的方式去解决 3. 从现实到计算机&#xff0c;如何用编程的思路解决 4. 实现&#xff0c;编码和测试 5. 迭代 现实问题自然语言解决方案机器语言解决方案编码实现测试迭代

数据库设计的核心原则 外键的设计 提高插入数据速度

大道至简&#xff1a;数据库设计的核心原则 数据库设计&#xff0c;不得不承认&#xff0c;有很多专业化的理论知识&#xff0c;但是对于初学者来说&#xff0c;只需要大道至简的原则就可以了。 能不重复的就不重复&#xff0c;太重复的就拆开&#xff0c;使用指定数据做识别…

MySQL提高插入数据的效率(结合JDBC)

0 解决问题最佳途径&#xff1a;直接找官方 先说明的是&#xff0c;有问题直接去找官方文档&#xff0c;而不应该去百度搜索&#xff0c;您很容易体验到&#xff0c;搜索引擎很难快速找到真正对您有价值的解决方案&#xff0c;而官方文档是最快捷的途径。 本篇也是基于官方文…

【计算机心理学】先设计再实现 在实现中完善设计

先设计再实现 在物理学中&#xff0c;通常都是先理论证明观点&#xff0c;再进行实践&#xff0c;然后&#xff0c;再有世界各地的科学家根据理论进行实验&#xff0c;以证明观点正确。 在计算机软件开发&#xff0c;硬件开发等&#xff0c;都讲求先逻辑抽象设计&#xff0c;…

【FPGA VerilogHDL】第一次尝试:LED灯基础实验

0 实验环境 0.1 软件环境 ISE 14.7win10vivado 2017.4 0.2 硬件设备 ISE适用的FPGA开发板&#xff1a;ALINK AX309 1 需求 能够灵活控制4个LED灯 2 Verilog实现 timescale 1ns / 1ps // // Create Date: 14:18:20 08/08/2020 // Module Name: led // Revision…

使用ISE一键生成bit文件

我们知道&#xff0c;这几个&#xff0c;在第一次做好源文件之后&#xff0c;需要一个个进行右键单击-->run&#xff0c;以发现错误。 但是之后的调试&#xff0c;只要一点点变化&#xff0c;哪怕是注释变化&#xff0c;都需要重新run3次&#xff0c;太麻烦了。 不过经过实…

【FPGA Verilog】实验二:key按键基础实验

只说一下经验和教训 1 必须按照设计流程走 不要因为实验简单&#xff0c;就直接进行综合&#xff0c;比如按照 设计编码RTL优化仿真综合管脚分配&#xff0c;实现下载 一定要按照这个步骤来。 2 必须先查看开发板说明文档 开始出了一个令人困惑的问题&#xff0c;后来发现…

【Java】字符串转换为数字:Integer的parseInt方法

Java官方文档[1]的解释 public static int parseInt​(String s) throws NumberFormatException Parses the string argument as a signed decimal integer. The characters in the string must all be decimal digits, except that the first character may be an ASCII minus…

在win10上使用Vmware安装Mac OS

安装macOS 如何在Windows上VMware上安装macOS Catalina 10.15 做一些提示&#xff1a; 如果您在第一次启动mac的时候&#xff0c;在出现【语言选择】之前&#xff0c;出现了连接蓝牙内容。 您可以将教程中【修改为win10 x64】那一步跳过&#xff0c;请注意&#xff0c;如果您…

JDBC 防御性编程

防御性编程&#xff08;Defensive Programming&#xff09; 什么是Defensive Programming[1]&#xff1f; 原文&#xff1a;Defensive programming is a form of defensive design intended to ensure the continuing function of a piece of software under unforeseen circu…

【Java】异常处理的目的

编程思维&#xff1a;Defensive Programming 我们写好程序&#xff0c;将其打包&#xff0c;然后用户就可以使用和运行&#xff0c;但是&#xff0c;外界的情况是未知的&#xff0c;我们的程序很可能因为某个因素的出现而崩溃&#xff0c;因此&#xff0c;对于我们可以预测到的…