状态标志与状态标志寄存器
1. 什么是状态标志寄存器
状态标志位(Status Flags):
状态标志被分配到到一个称为标志寄存器(Status Flags Register)的特殊寄存器中。
该寄存器包含:
Zero Flag(ZF):判断存储数是否等于0
Sign Flag(SF):判断存储数是否为负数
Overflow Flag(OF):判断存储数是否溢出
Carry Flag(CF):判断运算是否有进位
标志寄存器结构:
当标志位为1时,表示其代表的状态存在
2. 各标志位如何工作的
2.1 Zero Flag(ZF):
ZF=所有位做 或非 运算(只有全为0时才会输出1)
2.2 Sign Flag(SF):
SF为符号位,即第一位bit
SF=1时为负数,SF=0时为正数
2.3 Overflow Flag(OF):
Cin=0,Cout=1:上溢出(overflow)
Cin=1,Cout=0:下溢出(underflow)
OF案例:
Case 1:4+5 ==0100+0101=1001=-7 答案错误
原因:Cin=1,Cout=0,OF=1 下溢出
Case 2:-6-5==1010+1011=0001=1 答案错误
原因:Cin=0,Cout=1,OF=1 上溢出
Case 3: -3-4==1101+1100=1001=-7 答案正确
原因:Cin=1,Cout=1,OF=0
注:(1) 4bit有符号加法范围为(7,-8]
(2) Cin和Cout计算方法详见:加法器复习_就叫你天选之人啦的博客-CSDN博客
2.4 Carry Flag(CF):
详见:加法器复习_就叫你天选之人啦的博客-CSDN博客
状态标志与状态标志寄存器相关推荐
- 汇编语言——标志(状态字)寄存器PSW
标志寄存器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) ...
- Ollydbg中C标志位P标志位A标志位Z标志位以及S,T,D,0标志位含义详解
转载自https://www.cnblogs.com/whzym111/p/6374855.html 知识点: l 标志位 置位相关指令 l 标志寄存器PSW 标志寄存器PSW(程序状态字寄存器P ...
- flutter 局部状态和全局状态区别_给 Android 开发者的 Flutter 指南
这篇文档旨在帮助 Android 开发者利用既有的 Android 知识来通过 Flutter 开发移动应用.如果你了解 Android 框架的基本知识,你就可以使用这篇文档作为 Flutter 开发 ...
- 【Java 并发编程】线程锁机制 ( 锁的四种状态 | 无锁状态 | 偏向锁 | 轻量级锁 | 重量级锁 | 锁竞争 | 锁升级 )
文章目录 一.悲观锁示例 ( ReentrantLock ) 二.重量级锁弊端 三.锁的四种状态 ( 无锁状态 | 偏向锁 | 轻量级锁 | 重量级锁 ) 四.锁的四种状态之间的转换 ( 无锁状态 - ...
- TCP协议 状态解析和状态统计
一.三次握手和四次挥手 1.建立连接(三次握手) (1)服务器会处于listen状态,客户端发送一个带SYN标志的TCP报文到服务器. (2)服务器端回应客户端的请求,这是三次握手中的第2个报文,这个 ...
- Linux程序文件状态,linux 文件状态标识和IO操作方式
转自:http://book.2cto.com/201212/11767.html 来自<UNIX/Linux程序设计教程> 文件状态标签指明文件的打开属性,它们由open()的flags ...
- flutter 局部状态和全局状态区别_Android 开发者遇到 5G、AI,写给 Android 开发者的 Flutter 指南
前言 Flutter 是 Google 用以帮助开发者在 iOS 和 Android 两个平台开发高质量原生 UI 的移动 SDK.Flutter 兼容现有的代码,免费并且开源,在全球开发者中广泛被 ...
- 关于对来电状态和去电状态的区分
首先网上查到的那些说"没有专门用于接收来电的action,所以,非去电即来电",这是不对的! 同时在onReceive()方法中进行电话状态监听器的注册也是有问题的,因为每个Int ...
- linux 中 ACPI 电源管理 G 状态、S 状态、D 状态、C 状态、P 状态
ACPI 高级电源管理 ACPI 中定义了 G.D.S.C.P 这 5 个大的电力状态. G 状态 Global system state G 状态表示的是用户看到的整个系统的电力状态. G0 运行模 ...
最新文章
- 联想无线网卡 linux驱动,ubuntu14.04手动安装博通官方无线网卡驱动时报错,
- 服务器的文件共享,服务器文件共享
- ASP.NET MVC Action Filters
- 生成特定分布随机数的方法:Python seed() 函数numpy scikit-learn随机数据生成
- Linux系统编程---11(会话,守护进程,创建守护进程)
- linux中shell编写数组排序,linux bash shell实现对数组快速排序(升序)
- SpringBoot 使用AOP功能
- centos8搭建k8s集群
- 亚信安全中标南方电网网络架构优化调整项目 智能联动抑制未知威胁
- 2018Oracle11g下载与安装菜鸟教程(一)
- 计算机病毒是通过内存传播吗,计算机病毒的工作过程
- Java实现家庭账户收支记录表
- CleanMyPC比360管家好用N倍的电脑清理软件
- 对象存储OSS云存储
- GetLastError()函数返回值对照列表
- Intel 助力移动云百万 IOPS 云硬盘,打造极速云存储体验
- Termux外置硬盘挂载——rclone WebDav 挂载网盘
- 字体设计编辑软件Glyphs 2 for mac中文版v2.6.6(1350)
- EOJ Monthly 2019.3 (based on March Selection) -D .宇恒棋
- golang入门笔记——kitex
热门文章
- 洛谷 P1361 小猫爬山
- 联想Thinkpad E420 重装系统
- Echarts (option.yAxis) Y轴 的属性
- 神经网络模型结果怎么看,神经网络模型怎么评估
- PTA习题 7-4 定义抽象类Person、派生类Student和类Teacher
- 下载的中文文件名乱码,如何转码
- Python 数组的长度
- 解决winform自定义窗体在扩展显示器最大化不能充满屏幕
- 基于FPGA的DDS直接数字频率合成器,频率和相位控制字可配置,在vivado2019.2平台中verilog开发.含testbench
- JavaEE项目实战_流程审批之二