汇编JCC条件跳转指令记忆
汇编中的条件跳转指令(JCC):
1. 理解标志寄存器
JCC 指令依赖于标志寄存器(FLAGS)的状态,常见的标志位有:
-
ZF(Zero Flag):结果为0时置1。
-
CF(Carry Flag):无符号数溢出时置1。
-
SF(Sign Flag):结果为负时置1。
-
OF(Overflow Flag):有符号数溢出时置1。
-
PF(Parity Flag):结果中1的个数为偶数时置1。
理解这些标志位的含义是记忆 JCC 的基础。
2. 分类记忆
将 JCC 指令分为几类,每类对应一种比较场景:
(1) 无符号数比较
-
JA/JNBE:高于/不低于等于时跳转(
A= Above)。 -
JAE/JNB:高于等于/不低于时跳转(
AE= Above or Equal)。 -
JB/JNAE:低于/不高于等于时跳转(
B= Below)。 -
JBE/JNA:低于等于/不高于时跳转(
BE= Below or Equal)。
记忆技巧:
-
A表示“高于”,B表示“低于”。 -
E表示“等于”(Equal)。 -
N表示“不”(Not)。
(2) 有符号数比较
-
JG/JNLE:大于/不小于等于时跳转(
G= Greater)。 -
JGE/JNL:大于等于/不小于时跳转(
GE= Greater or Equal)。 -
JL/JNGE:小于/不大于等于时跳转(
L= Less)。 -
JLE/JNG:小于等于/不大于时跳转(
LE= Less or Equal)。
记忆技巧:
-
G表示“大于”,L表示“小于”。 -
E表示“等于”。 -
N表示“不”。
(3) 零值判断
-
JE/JZ:等于/为零时跳转(
E= Equal,Z= Zero)。 -
JNE/JNZ:不等于/不为零时跳转(
NE= Not Equal,NZ= Not Zero)。
记忆技巧:
-
E和Z都表示“等于”或“为零”。 -
NE和NZ表示“不等于”或“不为零”。
(4) 标志位判断
-
JC:进位标志为1时跳转(
C= Carry)。 -
JNC:进位标志为0时跳转(
NC= Not Carry)。 -
JO:溢出标志为1时跳转(
O= Overflow)。 -
JNO:溢出标志为0时跳转(
NO= Not Overflow)。 -
JS:符号标志为1时跳转(
S= Sign)。 -
JNS:符号标志为0时跳转(
NS= Not Sign)。 -
JP/JPE:奇偶标志为1时跳转(
P= Parity,PE= Parity Even)。 -
JNP/JPO:奇偶标志为0时跳转(
NP= Not Parity,PO= Parity Odd)。
记忆技巧:
-
标志位的缩写直接对应指令名称(如
C= Carry,O= Overflow)。 -
N表示“不”。
3. 总结规律
-
字母含义:
-
A/B:无符号数比较(Above/Below)。 -
G/L:有符号数比较(Greater/Less)。 -
E:等于(Equal)。 -
Z:为零(Zero)。 -
C:进位(Carry)。 -
O:溢出(Overflow)。 -
S:符号(Sign)。 -
P:奇偶(Parity)。
-
-
前缀:
-
J:跳转(Jump)。 -
N:不(Not)。
-
4. 练习与应用
-
编写简单的汇编代码,使用不同的
JCC指令,观察其行为。 -
通过调试器(如 GDB)查看标志寄存器的变化,加深理解。
5. 记忆口诀
-
无符号:
A(Above)高,B(Below)低,E等于别忘记。 -
有符号:
G(Greater)大,L(Less)小,E等于要记牢。 -
零值:
E等于Z为零,NE不等NZ非零。 -
标志位:
C进位O溢出,S符号P奇偶。
相关文章:
汇编JCC条件跳转指令记忆
汇编中的条件跳转指令(JCC): 1. 理解标志寄存器 JCC 指令依赖于标志寄存器(FLAGS)的状态,常见的标志位有: ZF(Zero Flag):结果为0时置1。 CF(Ca…...
HTML排版标签、语义化标签、块级和行内元素详解
目录 前言 一、HTML中的排版标签 1. 文本相关标签 1.1 标题标签 ~ 1.2 段落标签 1.3 强调和加粗 1.4 换行标签 1.5 水平线标签 二、HTML中的语义化标签 2.1 语义化标签概述 2.2 常见的语义化标签 示例(核心代码部分): 三、HTM…...
【回溯+剪枝】单词搜索,你能用递归解决吗?
文章目录 79. 单词搜索解题思路:回溯(深搜) 剪枝 79. 单词搜索 79. 单词搜索 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 …...
《深度揭秘LDA:开启人工智能降维与分类优化的大门》
在当今人工智能蓬勃发展的时代,数据成为了驱动技术进步的核心要素。随着数据采集和存储技术的飞速发展,我们所面临的数据量不仅日益庞大,其维度也愈发复杂。高维数据虽然蕴含着丰富的信息,但却给机器学习算法带来了一系列严峻的挑…...
Linux(CentOS)安装 MySQL
CentOS版本:CentOS 7 三种安装方式: 一、通过 yum 安装,最简单,一键安装,全程无忧。 二、通过 rpm 包安装,需具备基础概念及常规操作。 三、通过 gz 包安装,需具备配置相关操作。 --------…...
C++ 使用CURL开源库实现Http/Https的get/post请求进行字串和文件传输
CURL开源库介绍 CURL 是一个功能强大的开源库,用于在各种平台上进行网络数据传输。它支持众多的网络协议,像 HTTP、HTTPS、FTP、SMTP 等,能让开发者方便地在程序里实现与远程服务器的通信。 CURL 可以在 Windows、Linux、macOS 等多种操作系…...
面试题-SpringCloud的启动流程
关键词 prepareEnvironmentBootstrapApplicationListenerBootStrap Context(启动应用上下文)Environment中bootstrap属性 面试回答 引入SpringCloud相关组件后,均会引入一个spring-cloud-context的依赖包,这个项目的META-INF/s…...
MySQL基础知识
目录 一.什么是MySQL 二.分布式系统中的身份转换 三.MySQL是如何存储数据的 四.什么是数据库的命令 一.什么是MySQL MySQL是一个“客户端(client) - 服务器(server)”结构的软件(数据库软件)。 客户端&am…...
nas-群晖docker查询注册表失败解决办法(平替:使用SSH命令拉取ddns-go)
目录 前言必读 一、遇到问题 二、操作步骤 (一)打开群晖系统的SSH服务? (二)Windows电脑本地下载安装putty? 输入登录账号密码 开启root权限 例子:使用命令行下载ddns-go? 前言必读 读者手册(必…...
GSMA SGP.31 eSIM IoT 架构与需求笔记
GSMA SGP.31 eSIM IoT 架构与需求笔记 (版本 1.2,2024 年 4 月 26 日) 一、 概述 1. 文档目的: 本文件旨在为网络受限和/或用户界面 (UI) 受限的物联网 (IoT) 设备中的嵌入式通用集成电路卡 (eUICC) 提供远程配置架构和需求规范。 2. 主要内容&#…...
sql版本序列号
SQL Server 2019 Enterprise密钥:HMWJ3-KY3J2-NMVD7-KG4JR-X2G8G SQL Server 2019 Enterprise Core密钥:2C9JR-K3RNG-QD4M4-JQ2HR-8468J SQL Server 2019 Standard密钥:PMBDC-FXVM3-T777P-N4FY8-PKFF4 SQL Server 2019 Web密钥:33…...
vue2-nextTick
这里是引用 vue2-nextTick 1. 什么是nextTick 先来看官方定义 在下次DOM更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的DOM云里雾里,啥意思呢,其实本质就是事件循环、同步和异步的问题不懂事件循环相关问题的…...
【其他专题】如何在线将PNG转ICO图标
在我们编程打包成exe时,可能需要一些图标文件。但往往我们下载的图标文件是.png或是其他格式的,是不能用于做图标文件的,因为图标文件往往是.ico文件。 比如下图所示的.png文件,我们怎么快速的将它转为ico文件呢? 首先…...
2019_AutoInt
AutoInt:通过自注意神经网络进行自动特征交互学习 创新点复现论文0摘要1介绍2相关工作2.1点击率预测2.2学习特征交互2.3注意力和残差网络 3问题定义4自动特征交互学习4.1概述4.2输入层4.3嵌入层4.4交互层4.5输出层 4.6训练4.7 AutoInt分析 5实验5.1实验装置5.2定量结…...
HAL库 Systick定时器 基于STM32F103EZT6 野火霸道,可做参考
目录 1.时钟选择(这里选择高速外部时钟) 编辑 2.调试模式和时基源选择: 3.LED的GPIO配置 这里用板子的红灯PB5 4.工程配置 5.1ms的systick中断实现led闪烁 源码: 6.修改systick的中断频率 7.systick定时原理 SysTick 定时器的工作原理 中断触发机制 HAL_SYSTICK_Co…...
使用 Postman 进行 API 测试:从入门到精通
使用 Postman 进行 API 测试:从入门到精通 使用 Postman 进行 API 测试:从入门到精通一、什么是 API 测试?二、Postman 简介三、环境搭建四、API 测试流程1. 收集 API 文档2. 发送基本请求示例:发送 GET 请求示例代码(…...
K8s 分布式存储后端(K8s Distributed Storage Backend)
K8s 分布式存储后端 在 K8s 中实现分布式存储后端对于管理跨集群的持久数据、确保高可用性、可扩展性和可靠性至关重要。在 K8s 环境中,应用程序通常被容器化并跨多个节点部署。虽然 K8s 可以有效处理无状态应用程序,但有状态应用程序需要持久存储来维护…...
基于docker搭建Kafka集群,使用KRaft方式搭建,摒弃Zookeeper
KAFKA基于docker使用KRaft进行集群搭建 环境:已成功搭建kafka服务 可点击链接跳转至安装kafka-3.8.0版本 并启用SASL认证 教程 使用基于Zookeeper方式搭建集群教程 kafka-3.8.0版本 并启用SASL认证 教程 搭建kafka-ui可视化工具 192.168.2.91 192.168.2.92 192…...
Centos7 安装 RabbitMQ与Erlang
1、下载erlang和rabbitmq wget https://github.com/rabbitmq/erlang-rpm/releases/download/v23.3.4.5/erlang-23.3.4.5-1.el7.x86_64.rpmwget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.16/rabbitmq-server-3.9.16-1.el7.noarch.rpm2、安装erlang…...
mybatis-plus的分页查询简单使用
引入依赖 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><version>3.5.5</version></dependency>在yml中配置启动mybatis-plus插件 mybatis-plus:configuration:#…...
Unity游戏接入TapTap登录,从后台配置到打包上线的完整避坑指南
Unity游戏接入TapTap登录的全流程避坑指南:从配置到上线的实战经验 在独立游戏开发领域,TapTap平台凭借其庞大的用户基础和便捷的登录系统,已成为许多开发者的首选接入方案。然而,从后台配置到最终打包上线的完整流程中࿰…...
Fast-GitHub:三步安装解决国内GitHub访问难题的终极指南
Fast-GitHub:三步安装解决国内GitHub访问难题的终极指南 【免费下载链接】Fast-GitHub 国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~! 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 你是否经常因为…...
深入Transformer内部:LoRA到底改动了哪部分权重才让模型“学会”新任务?
深入Transformer内部:LoRA如何通过低秩更新重塑大模型能力 在自然语言处理领域,大型预训练模型的微调一直是个计算密集型任务。传统全参数微调需要更新数十亿甚至数千亿参数,这对大多数研究者和企业来说都是难以承受的负担。低秩适应(LoRA)技…...
Java 大厂面试 200 题完整版含答案解析
前言本文整理了近两年从阿里、腾讯、字节、美团、京东、拼多多等大厂面试中高频出现的 200 道 Java 面试题,覆盖 Java 基础、集合、并发、JVM、Spring、MySQL、Redis、消息队列、分布式、场景设计 等核心模块,每题都附有简明扼要的答案解析,助…...
通达信数据解析终极指南:mootdx让金融数据获取变得如此简单
通达信数据解析终极指南:mootdx让金融数据获取变得如此简单 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 在金融数据分析和量化交易的世界里,获取准确、完整的市场数据是…...
iOS越狱终极指南:解锁iPhone隐藏功能的3个关键步骤
iOS越狱终极指南:解锁iPhone隐藏功能的3个关键步骤 【免费下载链接】Jailbreak iOS 26.4 - 26, 17 - 17.7.5 & iOS 18 - 18.7.3 Jailbreak Tools, Cydia/Sileo/Zebra Tweaks & Jailbreak News Updates || AI Jailbreak Finder 👇 项目地址: ht…...
Gopeed下载器深度解析:从零开始构建你的全平台高速下载解决方案
Gopeed下载器深度解析:从零开始构建你的全平台高速下载解决方案 【免费下载链接】gopeed A fast, modern download manager for HTTP, BitTorrent, Magnet, and ed2k. Cross-platform, built with Golang and Flutter. 项目地址: https://gitcode.com/GitHub_Tre…...
ElevenLabs葡语语音私密训练技巧(仅限白名单客户使用的SSML扩展语法+方言权重微调指令集)
更多请点击: https://intelliparadigm.com 第一章:ElevenLabs葡语语音私密训练的核心价值与白名单准入机制 ElevenLabs 的葡语语音私密训练(Private Voice Fine-tuning for Portuguese)专为高合规性场景设计,面向金融…...
NeoPixel光剑制作全攻略:从WS2812B原理到实战装配
1. 项目概述:从零件到光剑的旅程如果你和我一样,是个对《星球大战》里的光剑毫无抵抗力,同时又喜欢动手折腾电子玩意儿的人,那么用NeoPixel灯带自制一把会发光、能变色的光剑,绝对是件充满成就感的事。这不仅仅是把灯塞…...
数据质量保证:确保数据准确性和可靠性
数据质量保证:确保数据准确性和可靠性 一、数据质量保证概述 1.1 数据质量保证的定义 数据质量保证是指通过一系列技术和流程,确保数据的准确性、完整性、一致性和及时性的过程。它涉及数据采集、存储、处理和使用的各个环节,确保数据符合业务…...
