首页 > 其他分享 >标志寄存器

标志寄存器

时间:2024-06-05 14:34:25浏览次数:29  
标签:标志 运算 EDI EAX 溢出 寄存器 进位

标志寄存器

EFLAGS寄存器

 

1.进位标志CF

运算结果的最高位产生进位或者借位,那么CF=1

注:前提是要确定数据宽度

2.奇偶标志PF

反映运算结果中'1'的个数,若个数为偶PF=1,为奇则PF=0

注:结果转为二进制,数1的个数

3.辅助进位标志AF

1)在字操作时,发生低字节向高字节进位或者借位时,AF=1

2)在字节操作时,发生低4位向高4位进位或借位时,AF=1

1.32位   0x343EFFFF

  16位     0x12FE

   8位        0xFE

注:当红色位数进位,被借位时,AF=1。

4.零标志ZF

运算结果为0,则ZF=1

注:XOR EAX,EAX            //将EAX清零,即EAX=00000000。ZF=1

5.符号标志SF

反应运算结果的符号位,它与运算结果的最高位相同

注:最高位要转为二进制(SF=0,1)

6.溢出标志OF

 反映有符号数加减运算所得结果是否溢出

如果运算有符号,所得结果超过当前运算位数所能表示的范围则称为溢出

eg:0~7F为正,80~FF为负

 

 

注:1).正+正=正,  若等于负数,则说明有溢出=1

          负+负=负,  若等于正数,则说明有溢出

           正+负,         永远都不会有溢出

        2.)有符号数看OF是否溢出

             无符号数看CF

 

其他指令

ADC

带进位加法(eg:1+2=4)

格式:ADC R/M,R/M/IMM               //r—寄存器,m—内存,IMM—立即数

注:不能同为内存

       宽度一致

SBB

带借位减法(eg:4-2=1)

格式:SBB   R/M,R/M/IMM

XCHG

交换数据

格式:XCHG   R/M,R/M

MOVS

移动数据

 

 

eg:MOVS  DWORD  PTR  ES:[EDI],DWORD  PTR DS:[ESI]==MOVSW

//从内存编号ESI中取出四个字节,放入内存编号EDI中,放四个字节

原EDI地址里的值,与原ESI地址里的值相等

EDI与ESI的地址各加了四

 

 

若把DWORD改为WORD,D位=0时,各加四

STOS指令

将AI/AX/EAX的值存储到[EDI ]指定的内存单元

具体是AI/AX/EAX,看STOS后面的数据宽度

如图:将12345678存入EDI中,宽度为一个字节。EDI地址具体是加还是减,根据D位,D位为1—则为减

这是目前

原EDI地址里的值存入了EAI的值,由于D位=1,所以EDI地址减四

REP

按计数寄存器(ECX)中指定的次数重复执行字符串指令

eg:重复16次(16进制)MOVSD指令

       重复16次STOSD指令

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                        

     

 

标签:标志,运算,EDI,EAX,溢出,寄存器,进位
From: https://www.cnblogs.com/yuli10952/p/18231697

相关文章

  • andorid属性读写 + 恢复出厂设置保存文件标志位到 persist 分区
    1.关于selinux权限和用户权限组修改device/feixiang/sepolicy/radio.te allowradiopersist_file:dir{searchgetattrreadwriteadd_nameremove_name}; allowradiopersist_file:file{getattrreadwritecreateopenunlink}; system/core/rootdir......
  • 【图像处理】交通标志检测(Matlab代码实现)
    ......
  • 8086 汇编笔记(十):标志寄存器
    前言一、ZF标志ZeroFlag,零标记位。用于记录相关指令执行后,其结果是否为0。如果结果为0,则ZF=1,如果结果非0,则ZF=0 movax,1subax,1;ZF=1movax,2subax,1;ZF=0二、PF标志ParityFlag,奇偶标记位。它用于记录相关指令执行后,其结果的所有bit位中1的个......
  • 51单片机学习记录-06-LED点阵屏(74HC595移位寄存器)
    1 74HC595是串行输入并行输出的移位寄存器,可用3根线输入串行数据,8根线输出并行数据,多片级联后,可输出16位、24位、32位等,常用于IO口扩展。2 74HC595原理图上升沿移位SERCLK,上升沿锁存RCLK点阵屏MATRIX函数sbitRCK=P3^5; //RCLKsbitSCK=P3^6; //SRCLKsbitSER=P3......
  • Java中字符串格式化的短横线标志用法
    Java中字符串格式化是通过String类的format()方法来实现的,该方法有两种定义:publicstaticStringformat(Stringformat,                           Object...args)publicstaticStringformat(Localel,                  ......
  • Java中字符串格式化的井号标志用法
    Java中字符串格式化是通过String类的format()方法来实现的,该方法有两种定义:publicstaticStringformat(Stringformat,                           Object...args)publicstaticStringformat(Localel,                  ......
  • 【Proteus】使用移位寄存器实现对汽车尾灯的控制
    1.使用数据选择器74实现移位寄存器!!!2.使用逻辑开关、门电路、LED灯、电阻模拟汽车尾灯电路实验内容:1.使用J-K触发器设计一个汽车尾灯左转向模拟电路。使用LED电平显示器(编号5-8以及13-16)模拟汽车尾灯,当逻辑电平开关K1置低电平时,汽车正常行驶,所......
  • 程序员从幼稚到成熟的标志是什么?
    1意识到写代码无非就是调用接口api,做业务无非也就是抄些增删改查的现成代码。也就是说,编程没想象中那样高大上,也就是谋生的一种手段。2知道提升能力不是单纯靠学,而是得靠解决实际问题。比如在做项目时,提升技能的最好方式是,去解决些值钱(比如分布式高并发或devops等)方面的问题......
  • 嵌入式单片机寄存器操作与实现方法
       大家好,今天给大家分享一下,单片机中寄存器该如何操作与实现。“芯片里面的寄存器访问方式一般是: 1.可使用地址访问,2.可使用指令访问,3.不可访问”第一:挂载到内存地址总线上了的挂载到内存地址总线上了的,可以使用分配到的地址访问如下是STM32单片机存储器映像上挂载......
  • 指令指针和寄存器:深入理解及其计算与操作
    在计算机科学中,指令指针和寄存器是两个关键的概念,它们在处理器执行指令时起着重要作用。本文将详细讲解指令指针和寄存器的基本概念,探讨指令指针的计算和操作,帮助读者深入理解这些底层硬件的工作原理。一、指令指针和寄存器的基本概念1.1指令指针指令指针(InstructionP......