汇编 sub减法指令 比较指令CMP JZ条件跳转指令

本文探讨了汇编语言中的sub减法指令,以及如何使用CMP进行比较,并详细介绍了无符号条件转移指令,如JZ条件跳转。通过实例解析,帮助读者理解这些基本操作在程序控制流中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二、SUB指令
减法指令SUB (SUBtract) 
格式: SUB A,B //A=A-B;
功能: 两个操作数的相减,即从A中减去B,其结果放在A中.

 

二、CMP 和JZ 指令
比较指令CMP  
格式: CMP A,B //  A-B;
功能: 两个操作数的相减,即从A中减去B,其结果会影响标志位, 对标志位的影响与SUB指令相同。本条指令主要是用于配合条件转移指令使用。如JZ ZF=0时,跳转

条件转移指令 JE/JZ 
格式: JE/JZ标号 //等于跳转
功能: ZF=1,转到指定地址执行
说明:
1. 指令JE与JZ等价,它们是根据标志位ZF进行转移的指令
2. JE,JZ均为一条指令的两种助记符表示方法

     printf("begin\n");
    int a=3;
    if (a!=3)
    {
        printf("do code\n");
    }
printf("end");

 条件跳转指令

二、 不等于转移指令 JNE/JNZ (等于JE/JZ)
1、 JNE/JNZ功能
条件转移指令JNE/JNZ  //不等于转移
格式: JNE/JNZ 标号
功能: ZF=0,转至标号地址处执行
2、代码测试
 printf("begin\n");
    int a=4;
    //if (a==3) //ZF=0
    //{
    //    printf("未跳转ZF==1\n");
    //}
    //printf("ZF==0跳转\n");
    __asm
    {      mov eax,3
      sub eax,a //3-4
      jz end; //ZF=1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值