标志寄存器汇编标志寄存器分类?

标志寄存器  时间:2021-08-31  阅读:()

在8086/8088&160;cpu中,标志寄存器包含哪些标志位

e799bee5baa6e78988e69d8331333361323034从功能上划分,CPU内部可划分为总线接口单元BIU(Bus Interface Unit)与执行单元EU(Execution Unit):   总线接口单元BIU   BIU负责CPU与存储器、外设之间的数据传送,包括存储器读写,I/O接口读写以及取指令。

  BIU由段寄存器(CS、DS、SS、ES)、指令指针寄存器(IP)、地址加法器、内部寄存器、指令队列缓冲器及I/O控制逻辑等部分组成。

  2. 指令执行单元部件EU   EU负责指令执行,它由通用寄存器组、专用寄存器组、算术逻辑运算单元(ALU)、标志寄存器(FR)和内部控制逻辑组成。

  从上可看出,BIU负责完成取指令与存取操作数,即CPU所有与外部总线有关的操作均由其完成。

而EU则负责分析、执行指令,并不需与CPU外部总线直接发生联系,其所需的数据和所产生的结果都通过BIU接收或传送到外部总线。

BIU与EU两个单元一起并行工作,使得取指令与执行指令的操作并行进行,从而大大提高了工作效率。

  图中的8086中共有4个16位的通用寄存器(AX、BX、CX、DX),4个16位的指针与变址寄存器(BP、SP、SI、DI),4个16位的段寄存器(CS、DS、SS、ES),一个指令指针寄存器(IP)及一个标志寄存器(PSW)。

  通 用   寄存器   15 - 8 7 - 0   累 加 器(AX) AH AL   基址寄存器(BX) BH BL   计 数 器(CX) CH CL   数据寄存器(DX) DH DL   指 针   和变址   寄存器   15 - 0   堆栈指示器(SP) SP   基址指示器(BP) BP   源 变址 器(SI) SI   目的变址器(DI) DI   控 制   寄存器 15 - 0   指令指示器(IP) IP   标志寄存器(FR) FR   段寄存器 15 - 0   代码段寄存器(CS) CS   数据段寄存器(DS) DS   堆栈段寄存器(SS) SS   附加段寄存器(ES) ES   注:   其中4个通用寄存器都可以拆成高8位与低8位两个寄存器来使用。

  4个变址指针寄存器(SP、BP、SI、DI)中前两个称为“地址指针”,后两个称为“变址寄存器”。

  通用寄存器的特殊用途和隐含性质   寄存器名 特殊用途 隐含性质   AX, AL 在输入输出指令中作数据寄存器用 不能隐含   在乘法指令中存放被乘数或乘积;   在除法指令中存放被除数或商 隐含   AH 在LAHF指令中,作目标寄存器用 隐含   AL 在十进制运算指令中作累加器用 隐含   在XLAT指令中作累加器用 隐含   BX 在间接寻址中作基址寄存器用 不能隐含   在XLAT指令中作基址寄存器用 隐含   CX 在串操作指令和LOOP指令中作计数器用 隐含   CL 在移位/循环移位指令中作移位次数计数器用 不能隐含   DX 在字乘法/除法指令中存放   乘积高位或被除数高位或余数 隐含   在间接寻址的输入输出指令中作地址寄存器用 不能隐含   SI 在字符串运算指令中作源变址寄存器用 隐含   在间接寻址中作变址寄存器用 不能隐含   DI 在字符串运算指令中作目标变址寄存器用 隐含   在间接寻址中作变址寄存器用 不能隐含   BP 在间接寻址中作基址指针用 不能隐含   SP 在堆栈操作中作堆栈指针用 隐含   注:EU中设计了一个16位的标志寄存器,用来存放程序状态字PSW(Program Status Word)。

PSW中一共定义了9个有效位。

  PSW的标志位   OF DF IF TF SF ZF AF PF CF   注:最左边的代表PSW的最高位,最右边(CF)的代表最低位。

  PSW中标志位的用法及含义   标志位 用法及含义   DF 方向控制(Direction Flag)位   若设置DF=1,则串操作后,源和目的操作数的地址均向增址方向调整;若设置DF=0,则向减址方向调整。

  IF 中断允许控制(Interrupt Enable Flag)位   若设置IF=1,则允许CPU响应可屏蔽中断(开中断);若IF=0,则不允许CPU响应可屏蔽中断(关中断)。

  TF 陷井控制(Trap Flag)位   若设置TF=1,则将在CPU运行中设置陷井,此时,CPU每执行一条指令就产生一个单步中断,用户可以在中断服务中对当前指令的执行情况进行调试;若TF=0,表示不设置陷井。

该标志主要用于程序的单步调试。

  OF 溢出标志(Overflow Flag)位。

它反映有符号数的运算结果是否超出其所能表示的范围;字运算的范围为-32768——+32767,字节运算的范围为-128——+127。

若OF=1,则表示结果溢出;OF=0,表示结果未溢出。

注意,OF标志主要针对有符号运算。

  SF 符号标志(Sign Flag)位。

它反映运算结果的最高有效位(MSB)为0、还是为1;对有符号运算来说,它反映了运算结果为正、还是为负。

若SF=1,反映运算结果的最高有效位为1(或结果为负);若SF=0,则表示最高有效位为0(或结果不为负)。

  ZF 零标志(Zero Flag)位。

反映运算结果是否为全0。

若ZF=1,则表示运算结果为全0(各位均为0);若ZF=0,表示运算结果非全0(各位不全为0)。

  AF 辅助标志(Auxiliary Flag)位。

该标志主要用于BCD码运算后的调整。

它反映运算中低四位向前(即D3向D4)有无进位(针对加运算)或借位(针对减运算)。

若AF=1,表示有进位或借位;若AF=0,表示无进位或借位。

  PF 校验标志(Parity Flag)位。

反映运算结果中1的个数是否为偶数。

若PF=1,表示运算结果中有偶数个1;若PF=0,表示结果中有奇数个1。

  CF 进位标志(Carry Flag)位。

它反映运算中最高有效位(字运算时为D15、字节运算时为D7位)向前有无进位(针对加运算)或借位(针对减运算)。

若CF=1,表示有进位或借位;若CF=0,表示无进位或借位。

CF标志主要针对无符号运算。

  注:DF、 IF、 TF为控制标志位,用户可以通过指令设置它们为0或1。

从而控制CPU的状态。

OF、SF、 ZF、 AF、 PF、CF 为状态标志位,它们记录程序的运行状态,通过对它们的判断决定程序

标志寄存器的值在Debug中是用英文字母表示的,它们的含义是什么?

在8086CPU中有种特殊的寄存器,它们用来存储CPU的状态,或某些指令执行的结果,用来控制CPU的工作方式。

这些就是标志寄存器。

? 标志寄存器共16位?其中?第1、3、5、12、13、14、15位无任何意义? 标志寄存器详解:? CF:(第0位)无符号数进位标志。

用于当二个数相加且相加后产生进位后的数据大于寄存器所能存储的数据的最大值时,CF=1?;如?mov?al,0F0H?add?al,10H?即发生了进位,al是8位寄存器,最大值为FFH,而相加后的数据100H?大于了它所能存储的最大值即发生的进位,而al中又不能存储这个进们的数据,则CF=1代表发生的进后,而AL中存储0?在debug中的CF的表现形式为:?当CF=1时?显示CF?当CF=0时?显示NC;? PF:(第2位)奇偶校验位,是否为偶数,验证运算后结果的1?的个数,如?mov?ax,5?add?ax,2?执行后其结果?7的二进制位数?1?1?1?,一的个数为奇数,即PF的值为0。

?PF在debug中的表示为?为1?时PE,为?0时PO? AF:(第4位)辅助进位标志符。

在字操作时,当发生低字节向高字节进位或借位时或在字节操作时,低四位向高四位进位或借位时?AF的值为1?其他情况AF=0? ZF:(第6位)0标志位,代表是否为0。

当两个数据进行运算后,如果运算结果为0,则ZF=1,否则ZF=0;当ZF=1时?在debug中?显示?ZR?当ZF=0时,显示?NZ? SF:(符7位)符号位,代表是否为负数。

如果两数运算结果为负,则SF=1?,?当在debug中?SF=1时表现形式是?NG?为0时表现形式为?PL? TF:(第8位)状态控制标志位,是用来控制CPU操作的,它们要通过专门的指令才能使之发生改变? IF:(第9位)中断允许标志位,决定CPU是否响应CPU外部的可屏蔽中断发出的中断请求。

在不管IF为何值,CPU必须响应CPU外部发出不可屏蔽中断请求和CPU内部的请求。

为IF=1?CPU可以响应外部发出的可屏蔽中断请求。

为0时不响应?STI?设置IF=1?CLI?设置IF=0? DF:(第10位)串传送方向标志位。

将DS:SI中的数据送入ES:DI中,如果DF为?0?;SI,DI递增传送,DF=1时;SI,DI递减传送,传送长度为CX;在debug中?DF=0时显示为?DN?当DF=1时显示为?UP? OF:(第11位)有符号数溢出标志位。

标志当两个有符号数运算时,是否发生了溢出。

如AL?为8位寄存器,则它的存储范围在-128~127之间?即80H-7FH?之间?例:mov?al,041H?add?al,al?其结果为82?超出了表示范围,则OF=1?在debug中?OF=1时显示?为OV?当OF=0时显示为?NV? 各标志寄存器位置:

汇编标志寄存器分类?

标志寄存器是分为状态标志和控制标志两类。

状态标志有6个,SF,ZF,PF,CF,AF,OF. 指令系统中控制标志好像是由专门用于控制标志的设置和清除指令,DF,IF,TF。

百纵科技(19元/月),美国洛杉矶10G防御服务器/洛杉矶C3机房 带金盾高防

百纵科技官网:https://www.baizon.cn/百纵科技:美国云服务器活动重磅来袭,洛杉矶C3机房 带金盾高防,会员后台可自助管理防火墙,添加黑白名单 CC策略开启低中高.CPU全系列E52680v3 DDR4内存 三星固态盘列阵。另有高防清洗!美国洛杉矶 CN2 云服务器CPU内存带宽数据盘防御价格1H1G10M10G10G19元/月 购买地址2H1G10M10G10G29元/月 购买...

SugarHosts糖果主机圣诞节促销 美国/香港虚拟主机低至6折

SugarHosts 糖果主机商我们算是比较熟悉的,早年学会建站的时候开始就用的糖果虚拟主机,目前他们家还算是为数不多提供虚拟主机的商家,有提供香港、美国、德国等虚拟主机机房。香港机房CN2速度比较快,美国机房有提供优化线路和普通线路适合外贸业务。德国欧洲机房适合欧洲业务的虚拟主机。糖果主机商一般是不会发布黑五活动的,他们在圣圣诞节促销活动是有的,我们看到糖果主机商发布的圣诞节促销虚拟主机低至6折...

HostKvm香港VPS七折:$5.95/月KVM-2GB内存/40GB硬盘/500GB月流量

HostKvm是一家成立于2013年的国外主机服务商,主要提供VPS主机,基于KVM架构,可选数据中心包括日本、新加坡、韩国、美国、俄罗斯、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。商家本月针对香港国际机房提供特别7折优惠码,其他机房全场8折,优惠后2G内存香港VPS每月5.95美元起,支持使用PayPal或者支付宝付款。下面以香港国际(HKGlobal)为...

标志寄存器为你推荐
高级工程师证书考一个高级工程师证要什么学历?提升网站排名如何提升网站排名?快速网网课怎么刷测量师测量师考什么监控设备安装监控器怎么安装软件更新不可用我的手机系统更新时候出现您的设备已修改,软件更新不可用S3(sch-939d)物联网公司排名2019中国物联网企业100强有哪些?2017双112017年双11有哪些值得购买的商品免费数据采集软件最好用的采集软件是哪个?ldap统一用户认证介绍H3CTE的H3CTE认证介绍
namecheap 香港机房托管 轻博客 香港新世界电讯 debian7 免费个人空间 php空间购买 linux使用教程 创建邮箱 万网空间管理 永久免费空间 电信宽带测速软件 新疆服务器 贵州电信 塔式服务器 ncp是什么 月付空间 什么是dns 服务器机柜 shuangshiyi 更多