首页 > 编程语言 >【汇编语言】标志位和转移指令

【汇编语言】标志位和转移指令

时间:2024-10-25 10:17:44浏览次数:3  
标签:汇编语言 ZF CF 转移 指令 PF 跳转 DEBUG SF

## 1.标志位
     
ZF:上一步操作是否为0,是(ZF=1),否(ZF=0);
                      在DEBUG中,是(ZR),否(NZ)。
      OF:上一步操作是否溢出,是(OF=1),否(OF=0);
                     在DEBUG中,是(OV),否(NV)。
      SF:上一步操作结果是否为负,负(SF=1),正(SF=0);
                     在DEBUG中,负(NG),正(PL)。
      CF:上一步操作是否进位,是(CF=1),否(CF=0);
                     在DEBUG中,负(CY),正(NC)。
      PF:二进制中1的个数,偶数(PF=1),奇数(PF=0);
                     在DEBUG中,偶数(PE),奇数(PO)。(even偶数,odd奇数)
## 2.转移指令
     
上一步操作:CMP WORD1,WORD2
      (1)相等跳转(ZF=1):JZ,JE
        不相等跳转(ZF=0):JNZ,JNE
        
      (2)负号跳转(SF=1):JS
        非负号跳转(SF=0):JNS
          小于跳转(SF异或OF=1):JL,JNGE
        不小于跳转(SF异或OF=0):JNL,JGE
          高于跳转(CF或ZF=0):JNBE,JA
        不高于跳转(CF或ZF=1):JBE,JNA
          大于跳转((SF异或OF)或ZF=0):JNLE,JG
        不大于跳转((SF异或OF)或ZF=1):JLE,JNG
        
      (3)溢出跳转(OF=1):JO
        未溢出跳转(OF=0):JNO
        
      (4) 二进制中1的个数为偶数跳转(PF=1):JP
        二进制中1的个数为奇数跳转(PF=0):JNP
        
      (5)进位跳转(CF=1):JB,JC,JNAE
        未进位跳转(CF=0):JNB,JNC,JAE
        
      (6)无条件跳转:JMP
      
      (7)JCXZ 标号:相当于if((CX)==0),jmp short 标号

标签:汇编语言,ZF,CF,转移,指令,PF,跳转,DEBUG,SF
From: https://blog.csdn.net/2301_80102216/article/details/143227966

相关文章

  • [MySQL#1] database概述 | 常见的操作指令 | MySQL架构 | 存储引擎
    #1024程序员节|征文#目录一.数据库概念0.连接服务器1.什么是数据库口语中的数据库为什么数据不直接以文件形式存储,而需要使用数据库呢?总结二.......
  • 指令2(不完整)
    一、CMP指令MOVEAX,100MOVECX,100CMPEAX,ECX         这个主要是通过观察Z位来判断EAX和ECX两个数相不相等先用mov将eax和ecx变成100再进行相减,得到eax为0ecx为100,z位为1再将eax改成100,把所有标志寄存器改为0,输入指令CMPEAX,ECX 只有标志寄存器发生......
  • Linux下的基本指令
    目录1.ls指令 2.pwd指令3.cd指令4. touch指令 5.mkdir指令6.which指令 7.alias指令8.rm指令9.man指令10.cp指令11.mv指令理论杂谈12.cat指令重定向操作  13. more指令 14. less指令 15. head指令16.tail指令17.时间相关的指令1......
  • 噪声标签学习-噪声转移矩阵估计
    基本原理样本的干净标签后验概率\(P(\mathbf{Y}|X=\mathbf{x})\),可通过噪声标签的后验概率\(P(\bar{\mathbf{Y}}|X=\mathbf{x})\)和噪声转移矩阵\(T(\mathbf{x})\)得到,即:\[P(\bar{\mathbf{Y}}|X=\mathbf{x})=T(\mathbf{x})P(\mathbf{Y}|X=\mathbf{x})\]其中\(T_{ij}(\mathbf......
  • [linux]常用指令
    命令初体验体验Linux命令的使用执行命令时,如果提示信息出现乱码,是由于编码问题导致的,执行命令修改Linux的编码即可命令1:把配置写入指定文件命令2:重新加载指定文件Linux命令格式:command[-options][parameter]command:命令名[-options]:选项,可同来......
  • 汇编语言
    寄存器RIP存放下一条指令的偏移地址RSP存放当前栈帧的栈顶偏移地址RBP存放当前栈帧的栈底偏移地址RAX通用寄存器。存放函数的返回值汇编实际中执行指令时,EIP已经移动到下一行了cmp语句cmpa1,0x61suba1,0x61本质a1-0x61a1=a1-0x61不同a1不会赋值a1......
  • 为什么并发明明只是多个指令在单个CPU上交替执行,但是却可以优化程序执行效率呢?
    并发虽然只是多个指令在单个CPU上交替执行,但它可以显著优化程序效率,这主要归因于以下几个方面的原因:一、CPU与I/O操作的效率差异CPU的高效性:CPU是计算机中的核心处理单元,其执行速度非常快,能够在极短的时间内完成大量的计算任务。I/O操作的耗时性:相比CPU,I/O操作(如读写磁盘、网......
  • 044 内置指令总结
    ......
  • Dockerfile指令详解
    Dockerfile是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。首先通过一张图来了解Docker镜像、容器和Dockerfile三者之间的关系。通过上图可以看出使用Dockerfile定义镜像,运行镜像启动容器。一、Dockerfile概念Docker镜像是一个特殊的文......
  • 指令
    一、ADC指令:带进位加法1、格式:ADCR/M,R/M/IMM(ADC寄存器/内存,寄存器/内存/立即数)  两边不能同时为内存,宽度要一样2、①ADCAL,CLCL加到AL中1+2应为3,但是是ADC再进位加法变成了4,C位也从1变成了0(因为AL+CL后高位没有溢出,所以变成了0) ②ADCBYTEPTRDS:[12FFC4],212FFC4的......