标志寄存器PSW

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

OF

DF

IF

TF

SF

ZF

AF

PF

CF

标志

标志寄存器PSW(程序状态字寄存器PSW)
   标志寄存器PSW是一个16为的寄存器。它反映了CPU运算的状态特征并且存放某些控制标志。8086使用了16位中的9位,包括6个状态标志位和3个控制标志位。

CF(进位标志位):当执行一个加法(减法)运算时,最高位产生进位(或借位)时,CF为1,否则为0。
   ZF零标志:若当前的运算结果为零,则ZF为1,否则为0。
   SF符号标志位:该标志位与运算结果的最高位相同。即运算结果为负,则SF为1,否则为0。
   OF溢出标志位:若运算结果超出机器能够表示的范围称为溢出,此时OF为1,否则为0。判断是否溢出的方法是:进行二进制运算时,最高位的进位值与次高位的进位值进行异或运算,若运算结果为1则表示溢出OF=1,否则OF=0
   PF奇偶标志:当运算结果的最低16位中含1的个数为偶数则PF=1否则PF=0
   AF辅助进位标志:一个加法(减法)运算结果的低4位向高4位有进位(或借位)时则AF=1否则AF=0

另外还有三个控制标志位用来控制CPU的操作,可以由程序进行置位和复位。
   TF跟踪标志:该标志位为方面程序调试而设置。若TF=1,8086/8088CPU处于单步工作方式,即在每条指令执行结束后,产生中断。
   IF中断标志位:该标志位用来控制CPU是否响应可屏蔽中断。若IF=1则允许中断,否则禁止中断。
   DF方向标志:该标志位用来控制串处理指令的处理方向。若DF=1则串处理过程中地址自动递减,否则自动递增。

OD里能查看到 除IF标志外的 8个标志位

例如:

执行sub...前 AF=0

执行后(0x10-0x6 有借位)  AF变为1

汇编语言——标志(状态字)寄存器PSW相关推荐

  1. 关于程序状态字寄存器PSW(Program Status Word)与多核多线程

    内核态(Kernel Mode)与用户态(User Mode) CPU通常有两种工作模式即:内核态和用户态,而在PSW中有一个二进制位控制这两种模式. 内核态:当CPU运行在内核态时,程序可以访问所有 ...

  2. 011-减法指令SUB及对标志寄存器PSW的影响

    l  汇编减法指令sub l   初识标志位 l   标志寄存器PSW l   ZF(零标志)     l  一.标志寄存器PSW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 ...

  3. 标志寄存器PSW和汇编条件转移指令解释

    标志寄存器PSW 标志寄存器PSW(程序状态字寄存器PSW)    标志寄存器PSW是一个16为的寄存器.它反映了CPU运算的状态特征并且存放某些控制标志.8086使用了16位中的9位,包括6个状态标 ...

  4. 如何理解FPGA的配置状态字寄存器Status Register

    赛灵思 FPGA开发圈 今天 Xilinx的FPGA有多种配置接口,如SPI,BPI,SeletMAP,Serial,JTAG等:如果从时钟发送者的角度分,还可以分为主动Master(即由FPGA自己 ...

  5. 西门子PLC状态字解释

     西门子STL语句表编程中的状态字 状态字又称状态字寄存器,是一个16位的寄存器,只用了其中的9位,它属于S7-300/400PLC的存储区中除基本存储区外的存储区的一种.用于存储CPU执行指令后 ...

  6. 【汇编语言】标志寄存器PSW

    简介 8086CPU设置了一个16位标志寄存器PSW(也叫FR). 其中规定了9个标志位,用来存放运算结果特征和控制CPU操作. 反映指令对数据作用之后,结果的状态(不是结果本身).这些状态将控制后续 ...

  7. CPU中的主要寄存器:有六类寄存器:指令寄存器(IR)、程序计数器(PC)、地址寄存器(AR)、数据寄存器(DR)、累加寄存器(AC)、程序状态字寄存器(PSW)

    在CPU中至少要有六类寄存器:指令寄存器(IR).程序计数器(PC).地址寄存器(AR).数据寄存器(DR).累加寄存器(AC).程序状态字寄存器(PSW).这些寄存器用来暂存一个计算机字,其数目可以 ...

  8. [汇编语言]标志寄存器

    目录 一.ZF标志 二.PF标志 三.SF标志 四.CF标志 五.OF标志 六.adc指令 七.sbb指令 八.cmp指令 九.检测比较结果的条件转移指令 十.DF标志和串传送指令 十一.pushf和 ...

  9. 汇编语言(一)- 寄存器的作用

    汇编语言(一)- 寄存器 80x86寄存器组 80x86是Intel一系列cpu的代称,其中8088,8086,80286为16位cpu,80386为32位寄存器.其体系如下: 备注:通过寻址的方式可 ...

最新文章

  1. linux三剑客之awk (用于个人学习以及回顾)
  2. 服务器禁止修改目录,目录服务器限制 (Sun Java System Directory Server Enterprise Edition 6.2 发行说明)...
  3. C++可变长数组vector的使用
  4. windows 10无法安装virtualbox的解决方法
  5. 模组厂商对话 MTK:智能音箱市场谈红海还早,下一个爆品将诞生丨WARE 2018
  6. 使用IdleTest进行TDD单元测试驱动开发演练(3) 之 ASP.NET MVC
  7. Photometric Stereo 光度立体三维重建(四)——光源标定
  8. 联想Filez zBox2022企业版为企业的 “零信任体系”构建保驾护航
  9. gerrit rebase
  10. 基金从业考试如何备考?
  11. 甲子光年推出中国低代码行业分析报告:本地私有化部署占比超过一半
  12. 调用命令强制关闭windows进程
  13. php实时股票,php股票数据分析源码
  14. 股票预测论文精读:Astock: a new dataset automated stock trading based on stock-specific news analyzing mod
  15. android清理存储工具,(安卓)CCleaner Pro — 手机垃圾文件清理工具
  16. 数据库实验七:存储过程实验
  17. SAP MIRO付款条件与折扣
  18. xtrabackup 问题“Too many open files”system error number 24
  19. JavaScript-ECMAScript编程
  20. 自动挡车辆起步停车,档位操作技巧,实录详解

热门文章

  1. 微信开发者工具 不想要警告提示怎么设置
  2. git报错fatal: unable to access ‘https://github.com/‘: OpenSSL SSL_read: Connection was reset
  3. 自然语言处理--语素语素是最小的语法单位,也就是最小的语音、语义结合体。...
  4. springboot学习(一)IDEA简单使用以及数据源配置的三种方法
  5. 空间分析实验报告 实验二 度假村选址
  6. c#+dev-ComboboxEdit控件用法
  7. PTA|pintia分段计算居民水费【1】
  8. java程序输出实心菱形,使用java打印菱形(实心)
  9. TIA PORTAL版本和CPU中程序版本不同时可以上传吗?
  10. 用java写新春祝福语