版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、标志位简介:标志寄存器,又称程序状态寄存器(它的内容是Program Status Word,PSW).这是一个存放条件码标志,控制标志和系统标志的寄存器.6个状态标志位CF进位标志,加法时的最高位(D7或D15)产生进位或减法时最高位出现借位,则CF=1,否则CF=0;AF辅助进位标志,供BCD码使用。当D3位出现进位或借位时AF=1,否则AF=0;OF溢出标志,带符号数进行算术运算时,其结果超出了8位或16位的表示范围,产生溢出,则OF=1,否则OF=0;ZF零标志,运算结果各位都为零,则ZF=1,否则ZF=0;SF符号标志,运算结果为负数时,即运算结果的最高位为1,则SF=1,否则SF=
2、0;PF奇偶标志,反映操作结果中“1”的个数的情况,若有偶数个“1”,则PF=1,否则PF=0。3个控制标志位DF方向标志,用来控制数据串操作指令的步进方向;当设置DF=1时,将以递减顺序对数据串中的数据进行处理。当设置DF=0时,递增。IF中断允许标志,当设置IF=1,开中断,CPU可响应可屏蔽中断请求;当设置IF=0时,关中断,CPU不响应可屏蔽中断请求。TF陷阱标志,为程序调试而设的。当设置TF=1,CPU处于单步执行指令的方式;当设置TF=0时,CPU正常执行程序。详解:1、进位标志CF (Carry Flag)当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置1,即CF
3、 = 1;否则CF = 0。49H + 6DHB6H,没有进位:CF = 0BBH + 6AH(1)25H,有进位:CF = 12、 零标志ZF (Zero Flag)若运算结果为0,则ZF = 1;否则ZF = 049H + 6DHB6H,结果不是零:ZF = 075H + 8BH(1)00H,结果是零:ZF = 13、符号标志SF (Sign Flag)运算结果最高位为1,则SF = 1;否则SF = 049H + 6DHB6H=10110110B,SF=14、 奇偶标志PF(Parity Flag)当运算结果最低字节中“1”的个数为零或偶数时,PF = 1;否则PF = 03AH + 7
4、CHB6H10110110B结果中有5个1,是奇数:PF = 05、溢出标志OF (Overflow Flag)若算术运算的结果有溢出,则OF1;否则 OF049H + 6DH B6H,产生溢出:OF = 175H + 8BH (1)26H,没有溢出:OF = 0什么是溢出?处理器内部以补码表示有符号数8位表达的整数范围是:12712816位表达的范围是:3276732768如果运算结果超出这个范围,就产生了溢出有溢出,说明有符号数的运算结果不正确49H6DHB6H,就是73109182,已经超出128127范围,产生溢出,故OF1;另一方面,补码B6H表达真值是-74,显然运算结果也不正确溢
5、出标志OF和进位标志CF是两个意义不同的标志进位标志表示无符号数运算结果是否超出范围,运算结果仍然正确;溢出标志表示有符号数运算结果是否超出范围,运算结果已经不正确。例1:49H + 6DHB6H无符号数运算:73109182范围内,无进位有符号数运算:73109182范围外,有溢出例2:BBH + 6AH(1)25H无符号数运算:187106293范围外,有进位有符号数运算:6910637范围内,无溢出溢出的判断判断运算结果是否溢出有一个简单的规则:只有当两个相同符号数相加(包括不同符号数相减),而运算结果的符号与原数据符号相反时,产生溢出;因为,此时的运算结果显然不正确其他情况下,则不会产
6、生溢出1.当两个符号相同的数相加,结果的符号与之相反,则OF=1,否则OF=0. 2.当两个符号不同的数相减,结果的符号与减数相同,则OF=1,否则OF=0.6、辅助进位标志AF(Auxiliary Flag)运算时D3位(低半字节)有进位或借位时,AF = 1;否则AF = 0。49H + 6DHB6H,D3有进位:AF = 1100 1001B+110 1101B=1011 0110B7、方向标志DF(Direction Flag)用于串操作指令中,控制地址的变化方向:设置DF0,存储器地址自动增加;设置DF1,存储器地址自动减少。CLD指令复位方向标志:DF0STD指令置位方向标志:DF
7、18、中断允许标志IF(Interrupt Flag)用于控制外部可屏蔽中断是否可以被处理器响应:设置IF1,则允许中断;设置IF0,则禁止中断。CLI指令复位中断标志:IF0STI指令置位中断标志:IF19、陷阱标志TF(Trap Flag)用于控制处理器进入单步操作方式:设置TF0,处理器正常工作;设置TF1,处理器单步执行指令。单步执行指令处理器在每条指令执行结束时,便产生一个编号为1的内部中断这种内部中断称为单步中断所以TF也称为单步标志利用单步中断可对程序进行逐条指令的调试这种逐条指令调试程序的方法就是单步调试EU控制器是执行指令的控制电路,实现从队列中取指令、译码、产生控制信号等。
8、,在(cmd debug)调试程序中为了使标志位的值显尔易见,他提供用符号表示标志位的值。标志值为1值为0OFOVNVDFDNUPIFEIDISFNGPLZFZRNZAFACNAPFPEPOCFCYNCcmp指令 cmp ax,bx 如果(ax)=(bx), 则 zf=1 如果(ax)!=(bx), 则 zf=0 如果(ax)=(bx), 则 cf=0 如果(ax)(bx), 则 cf=0且zf=0 如果(ax)=(bx), 则 cf=1或zf=1cmp指令配合和条件转移指令配合使用 条件转移指令指令含义检测的相关标志位je等于则转移zf=1jne不等于则转移zf=0jb小于则转移cf=1jnb不小于则转移cf=0ja大于则转移cf=0且zf=0jna不大于则转移cf=1且zf=1 DF标志和串传送指令 DF 方向标志位,在串处理指令中,控制每次操作后si、di的增减 df=0 每次操作后si、di递增 df=1 每次操作后si、di递减 movsb: 相当于 mov es:di,byte ptr ds:si 如果 df=0 inc di inc si 如果 df=1 dec di dec si movsw: 相当于 mov es:di,word ptr ds:si 如果 df=0 add si,2 add
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公务卡报账审计制度
- 中医院财务规章制度
- p2p投资人风控制度
- 审计建议单制度
- 审计公司企业规章制度
- 肠瘘护理新进展介绍
- 牙齿美白的市场趋势
- 审计局四零创建制度
- 534选人用人制度
- 农庄员工绩效考核制度
- 2025年江苏安全技术职业学院单招综合素质考试试题及答案解析
- 2026新疆乌鲁木齐市乌鲁木齐县南郊供排水有限公司及子公司招聘14人笔试模拟试题及答案解析
- 《名师工作室建设实践指南(2025版)》
- 2026广东江门市新会银海集团有限公司招聘2人备考题库及答案详解(名师系列)
- 2025年农商行考试题及答案
- 2026年春苏教版新教材小学科学二年级下册教学计划及进度表
- 2025中证信息技术服务有限责任公司招聘16人笔试备考试题附答案
- 流程管理优化工具及方法
- 医疗设备采购与招标流程
- 雨课堂学堂在线学堂云中华戏曲艺术鉴赏华侨单元测试考核答案
- PET吹瓶工艺操作指导书
评论
0/150
提交评论