【分支结构】Jcc 的一些助记
eax > ebx
OF=0 SF=0 ZF=0 AF=0 PF=0 CF=0
eax = ebx
OF=0 SF=0 ZF=1 AF=0 PF=1 CF=0
eax < ebx
OF=0 SF=1 ZF=0 AF=1 PF=1 CF=1
其中,重点看CF、ZF、( SF 和 OF)
Jcc 的指令关于五个状态标志的十种状态分别有十种指令与之对应,如下所示:
标志 | 状态 | 指令 | 说明 |
ZF | ZF=1 | JZ | 相等/等于零 |
ZF=0 | JNZ | ---- | |
SF | SF=1 | JS | 符号为负 |
SF=0 | JNS | ---- | |
PF | PF=1 | JP | “1”的个数为偶 |
PF=0 | JNP | ---- | |
OF | OF=1 | JO | 有溢出 |
OF=0 | JNO | ---- | |
CF | CF=1 | JC | 有进位/小于 |
CF=0 | JNC | ---- |
!关于指令有多个助记符,此处仅列一个以示意
指令 | 状态 | 说明 |
JA | CF=0 & ZF=0 | 高于 |
JNA | CF=1 | ZF=1 | ---- |
JL | SF = OF | 小于 |
JNL | SF ≠ OF | ---- |
JG | (SF = OF) & (ZF = 0) | 大于 |
JNG | (SF ≠ OF) & (ZF = 1) | ---- |
JA 是对无符号整数的,JL、JG是对有符号整数的,参照状态中是否含SF即可辨别出。
结合前面所述的eax 和ebx 的比较,很容易做出判断。
另:高于也可以描述为不低于,小于亦可以描述为不大于,因为同一个指令会有多个助记符,所以具体怎么理解,视情况而定。
【分支结构】Jcc 的一些助记的更多相关文章
- [三] java虚拟机 JVM字节码 指令集 bytecode 操作码 指令分类用法 助记符
说明,本文的目的在于从宏观逻辑上介绍清楚绝大多数的字节码指令的含义以及分类 只要认真阅读本文必然能够对字节码指令集有所了解 如果需要了解清楚每一个指令的具体详尽用法,请参阅虚拟机规范 指令简介 计算机 ...
- c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)
1.表达式: 表达式的判断是有无结果(值), 最简单的表达式是一个常量或变量, 如:12, a, 3 + 1, a + b, a + 5 都是表达式 2.BOOL(布尔)数据类型: c语言中除了基本数 ...
- [java基础]分支结构(2)
[java基础]分支结构2 switch case /** 文件路径:G:\JavaByHands\if-else\ 文件名称:switchcase.java 编写时间:2016/6/6 作 者:郑晨 ...
- 1.16. BIP39协议:使用助记词生成确定性钱包
以太坊系统学习教程: https://www.netkiller.cn/blockchain/bip39.html 1.16. BIP39协议:使用助记词生成确定性钱包 BIP:39 层:应用层 标题 ...
- Oracle 助记
title: Oracle 助记 Nothing is impossible! 基础操作 $ sqlplus name/pssword; # 登录数据库 $ create user username ...
- c博客作业01--顺序分支结构
0.展示PTA总分 1.本章学习总结 1.1 学习内容总结 1.运算符需注意的要点 '/'的左右两边如果均为整型数,其结果也为整型:'%'的左右两边只能为整型数: 优先级:逻辑运算符<关系运算符 ...
- 12 (H5*) JS第二天 流程控制:顺序结构、分支结构、循环结构
目录 1:一元运算符 2:流程控制 3:分支之if语句 4:分支之if-else语句 5:分支语句之三元运算符 6:if和else if语句 7:switch-case语句 8:while循环 9:d ...
- Java SE7虚拟机指令操作码助记符
本文转载自Java SE7 虚拟机指令操作码助记符 导语 在Class文件中,Java方法里的方法体,也就是代表着一个Java源码程序中程序的部分存储在方法表集合的Code属性中.存储在Code属性中 ...
- PHP流程控制结构之分支结构
流程控制对于任何一门编程语言来说都是具有通用与普遍性的,是程序的重要组成部分.可以这么说,在任何一门程序设计语言中,都需要支持三种基本结构:顺序结构.分支结构(选择结构或条件结构)和循环结构.对于顺序 ...
随机推荐
- JS中函数参数值传递和引用传递
也许大家对于函数的参数都不会太在意,简单来说,把函数外部的值复制给函数内部的参数,就和把值从一个变量复制到另一个变量一样.深入研究,你会发现其实没那么简单,这个传参是要分俩种情况(其实这是个错误的说法 ...
- Hibernate 案例
搭建一个Hibernate环境,开发步骤: 1. 下载源码 版本:hibernate-distribution-3.6.0.Final 2. 引入jar文件 hibernate3.j ...
- 学习总结------用JDBC连接MySQL
1.下载MySQL的JDBC驱动 地址:https://dev.mysql.com/downloads/connector/ 为了方便,直接就选择合适自己的压缩包 跳过登录,选择直接下载 下载完成后, ...
- Python 内置函数汇总
循环设计与循环对象 range() enumerate() zip() iter() 函数对象 map() filter() reduce() 序列操作 all([True, 1, "hel ...
- 各开放平台API接口通用SDK序列文章 前言
最近两年一直在做API接口相关的工作,在平时工作中以及网上看到很多刚接触API接口调用的新人一开始会感到很不适应,要看的文档一大堆,自己要调用的接口找不着,或都找着了不知道怎么去调用,记得包括自己刚开 ...
- Java内存分配及垃圾回收机制(未完待待续)
Java内存区域 1.内存区域 jvm运行时数据区域 程序计数器 Java虚拟机栈 本地方法栈 方法区 Java堆 大图 2.概念解释 程序计数器 线程私有的一块很小的内存空间,它是当前线程所执行 ...
- mysql left join
MySQL左连接不同于简单连接.MySQL LEFT JOIN提供该表额外字段在左侧. 如果使用LEFT JOIN,得到的所有记录的匹配方式相同, 在左边表中得到的每个记录不匹配也会有一个额外的记录. ...
- 1.如何安装ubuntu
1.先安装vmvare workstation VMware Workstation 12序列号: 5A02H-AU243-TZJ49-GTC7K-3C61N 2.下载ubuntu镜像 3.安装
- XML 新手入门基础知识(复制,留着自己看)
如果您是 XML 新手,本文将为您介绍 XML 文档的基础结构,以及创建构造良好的 XML 需要遵循的规则,包括命名约定.正确的标记嵌套.属性规则.声明和实体.您还可以从本文了解到 DTD 和 sch ...
- Vijos 1040 高精度乘法
描述 高精度乘法 输入:两行,每行表示一个非负整数(不超过10000位) 输出:两数的乘积. 样例1 样例输入1 99 101 样例输出1 9999 题解 这道题和之前的Vijos 1010 清帝之惑 ...