汇编 eax test jnz jz 等组合连用的总结

汇编 eax test jnz jz 等组合连用的总结目录结论举例分析 test 作用 ZFPF 标志位改变不需要记 因为不方便记忆 我们需要记住是 test 下面语句的跳转语句意思 jnzjz 总结结论这几个组合在一起通常是判断函数返回结果是否是 0 是 0 跳转到哪里 不是 0 跳转到哪里举例分析下面代码 就是判断 2 个字符串是否相等 pushedxpushe K amp KERNEL32 1strcmpA gt 判断 edx 和 eax2 个字符串是否相等 调用的是 C 语言的 strcmptestea eax

结论

这几个组合在一起通常是判断 函数返回结果是否是0.是0跳转到哪里,不是0跳转到哪里

举例分析

下面代码:就是判断2个字符串是否相等.

push edx push eax call dword ptr dS:[K&KERNEL32.1strcmpA> //判断edx和 eax 2个字符串是否相等,调用的是C语言的 strcmp  test eax,eax push 0 JnZ Short Crackhe. 00401 0E8 
if (eax == 0){ 
    跳转到一个地方 }else{ 
    跳转到一个地方 } 

在汇编中这么做判断eax是否等于0

test eax,eax 

test作用

ZF PF标志位改变不需要记,因为不方便记忆.

我们需要记住是test下面语句的跳转语句意思

jnz

例如jnz,那么就是说不等于0的时候跳转n是not不,z是zero零.jnz检验的标志位就是zf,这个标志位通过test改变了zf,然后jnz进行跳转.当test比较的结果不等于0,就跳转

jz

总结

下面截图是一段汇编指令,判断2个字符串是否相等的

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220429.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午8:30
下一篇 2026年3月17日 下午8:30


相关推荐

  • 填充墙一般用什么材料_opencv填充封闭区域

    填充墙一般用什么材料_opencv填充封闭区域目录一、须知二、演示过程代码展示主函数展示原图运行结果三、总结一、须知本文章所提供代码不是自创,由于时间太久实在找不到来源,发布出来只为给大家提供便利,完全免费。话不多说,不想看文章的直接点击下载链接即可:点我.二、演示过程代码展示Matcop二值图intn填充比n小的孔洞函数默认为4连通如想改为8连通自行修改代码即可。#include”imfill.h”Matimfill(Matcop,intn){ Matdata=~cop; Matlabels,

    2025年11月3日
    6
  • sql 求交集_sql求差函数

    sql 求交集_sql求差函数start_num=5end_num=10(数据库值)startend(条件)四种情况://1、start=6end=8#{start}>=start_numand#{end}<=end_num//2、start=4end=7#{effectiveDate}<=effective_dateand(#{validDate}betweeneffective_dateandvalid_date)//3、

    2025年7月3日
    9
  • rider 激活码【2021.10最新】

    (rider 激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~23LN…

    2022年3月29日
    73
  • JavaScript:如何将消息打印到错误控制台?

    JavaScript:如何将消息打印到错误控制台?HowcanIprint preferablyin 如何将消息打印到错误控制台 最好包括

    2026年3月26日
    3
  • 雅虎前端优化14准则

    雅虎前端优化14准则

    1.尽可能使用少的HTTP请求MakefewerHTTPrequests; 

      这个是很重要的一条,具体措施是使用Imagemaps 和InlineImages;合并CSS和脚本代码。比如对于ImageMaps 
    (服务器端)server-side 
    →http://…/navbar.cgi?127,1

    2022年7月15日
    18
  • redis 击穿 穿透_redis穿透击穿雪崩

    redis 击穿 穿透_redis穿透击穿雪崩本文分享自华为云社区《【高并发】什么是缓存穿透?击穿?雪崩?如何解决?》,作者:冰河。缓存穿透首先,我们来说说缓存穿透。什么是缓存穿透呢?缓存穿透问题在一定程度上与缓存命中率有关。如果我们的缓存设计的不合理,缓存的命中率非常低,那么,数据访问的绝大部分压力都会集中在后端数据库层面。什么是缓存穿透?如果在请求数据时,在缓存层和数据库层都没有找到符合条件的数据,也就是说,在缓存层和数据库层都没有命中数据,那么,这种情况就叫作缓存穿透。我们可以使用下图来表示缓存穿透的现象。造成缓

    2025年11月16日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号