当前位置:网站首页>8086CPU标志寄存器
8086CPU标志寄存器
2022-08-06 21:12:00 【三态门】
目录
flag寄存器(程序状态寄存器)PSW作用:
①执行结果标志;②执行过程转换依据;③相关工作方式配置
按位作用CF、PF、AF、ZF、SF、TF、IF、OF、DF标志位

直接访问标志寄存器:pushf指令操作可对标志寄存器压栈,popf从栈弹出送至标志寄存器
标志位表示
标志----值1标记----零标记
OF OV NV
SF NG PL
ZF ZR NZ
PF PE PO
CF CY NC
DF DN UP
1、ZF标志
零标志位(zero flag) --若程序运算结果为0,则ZF位为1,表示有效
mov ax ,2
sub ax , 2 ;ZF = 1
add ax , 1 ;ZF = 0
2、PF标志
奇偶标志位(parity flag)--指代bit位中1是偶数的情况,若bit位中1的数量为偶数,则PF位为1,表示有效
mov al , 1 ;00000001B移位符对其不生效
add al , 10;00001011B ; parity flag = 0
3、SF标志
符号标志位(sign flag),经运算符后,结果为负,则SF为1,表示有效。符号标志位,主要用于二进制数进行补码运算
判算时,应考虑是否为有符号数据运算
mov al , 10000001B
add al , 01111111B 若是将其进行有符号运算,结果为负,SF生效,若将其进行无符号运算,结果非负,情况不一,此情况还需考虑其他标志位现象
4、CF标志
进位标志位(carry flag),记录借位和进位状态
mov ad , 95H
add al , al 最高有效位向前进位
注:inc 和 loop 指令不影响CF位
5、OF标志
溢出标志位(over)
CPU在做运算处理时,对于无符号数,CPU采用监测CF位是否发生进位;对于无符号运算、常规判定
mov al , 0F0H;
add al , 78H ;0F0H + 78 H 对于无符号运算,产生进位,OF = 1;对于有符号运算,不发生溢出,OF = 0
注意与CF位区别:CF是对于无符号数运算有意义的标志位,而OF是对有符号运算有意义的的标志位
6、DF标志
方向标志位(direct flag),串处理指令操作中,控制si,di 的递减
df = 0 si 、di 串指令操作后递增反之递减
边栏推荐
猜你喜欢
随机推荐
Before start of result set报错(已解决)
Redis+Redisson 基础配置和使用
cdh6,使用oozie进行spark的jar任务调度
SimpleDateFormat常用格式代码一览
复现一个循环问题以及两个循环问题
内网渗透之Token令牌窃取
uniapp 九宫格抽奖功能效果demo(整理)
oracle关联表查询用in关联查询用字符隔开逗号隔开
】 【 mention test platform
硅谷课堂第九课-整合网关与订单和营销模块
Kotlin Coroutines - Coroutine Start Mode CoroutineStart
The predicament of e-commerce giants is reversed, and Alibaba and Amazon have the same goal
利用类加载器获取文件路径报错空指针异常
如何用邮件(微信)接收交易信号?
【目标检测】小脚本:Xml标签可视化
硅谷课堂第十三课-直播管理模块
收获首届算力大会“创新先锋”,济南超算“数据存储集群系统”揭示了什么趋势
Huawei Device User Access and Authentication Configuration Commands
Matlab统计与回归
SkiaSharp 之 WPF 自绘 投篮小游戏(案例版)









