- 1、本文档共116页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编11标志李寄存器
第11章 标志寄存器 11.1 ZF标志 11.2 PF标志 11.3 SF标志 11.4 CF标志 11.5 OF标志 11.6 adc指令 11.7 sbb指令 11.8 cmp指令 11.9 检测比较结果的条件转移指令 11.10 DF标志和串传送指令 11.11 pushf和popf 11.12 标志寄存器在Debug中的表示 引言 8086CPU的标志寄存器有16位,其中存储的信息通常被称为程序状态字(PSW)。 我们己经使用过8086CPU的ax、bx、cx、dx、si、di、bp、sp、ip、cs、ss、ds、es等13个寄存器了。 本章中的标志寄存器(以下简称为flag)是我们要学习的最后一个寄存器。 引言 flag 和其他寄存器不一样,其他寄存器是用来存放数据的,都是整个寄存器具有一个含义。 而flag寄存器是按位起作用的,也就是说,它的每一位都有专门的含义,记录特定的信息。 引言 8086CPU的flag寄存器的结构: flag的1、3、5、12、13、14、15位在8086CPU中没有使用,不具有任何含义。而0、2、4、6、7、8、9、10、11位都具有特殊的含义。 11.1 ZF标志 flag的第6位是ZF,零标志位。 它记录相关指令执行后, 结果为0 ,ZF = 1 结果不为0,ZF = 0 示例 11.1 ZF标志 比如: mov ax,1 sub ax,1 指令执行后,结果为0,则ZF = 1。 mov ax,2 sub ax,1 指令执行后,结果为1,则ZF = 0。 11.1 ZF标志 注意: 在8086CPU的指令集中,有的指令的执行是影响标志寄存器的,比如:add、sub、mul、div、inc、or、and等,它们大都是运算指令(进行逻辑或算术运算); 有的指令的执行对标志寄存器没有影响,比如:mov、push、pop等,它们大都是传送指令。 11.2 PF标志 flag的第2位是PF,奇偶标志位。 它记录指令执行后,结果的所有二进制位中1的个数: 为偶数,PF = 1; 为奇数,PF = 0。 示例 11.2 PF标志 示例 指令:mov al,1 add al,10 执行后,结果,其中有3(奇数)个1,则PF=0; 指令:mov al,1 or al,10 执行后,结果,其中有2(偶数)个1,则PF=1; 11.3 SF标志 flag的第7位是SF,符号标志位。 它记录指令执行后, 结果为负,SF = 1; 结果为正,SF = 0。 示例 mov al add al,1 结果: (al) 我们可以将add指令进行的运算当作无符号数的运算,那么add指令相当于计算129+1,结果为130); 也可以将add指令进行的运算当作有符号数的运算,那么add指令相当于计算-127+1,结果为-126)。 11.3 SF标志 比如: mov al add al,1 执行后,结果,SF=1, 表示:如果指令进行的是有符号数运算,那么结果为负; 11.3 SF标志 再比如: mov al add al 执行后,结果为0,SF=0, 表示:如果指令进行的是有符号数运算,那么结果为非负。 11.4 CF标志 flag的第0位是CF,进位标志位。 一般情况下,在进行无符号数运算的时候,它记录了运算结果的最高有效位向更高位的进位值,或从更高位的借位值。 11.4 CF标志 对于位数为N的无符号数来说,其对应的二进制信息的最高位,即第N-1位,而假想存在的第N位,就是相对于最高有效位的更高位。 11.4 CF标志 当两个数据相加的时候,有可能产生从最高有效位向更高位的进位。 比如:98H+98H,将产生进位。 由于这个进位值在8位数中无法保存,我们在前面的课程中,就只是简单地说这个进位值丢失了。 11.4 CF标志 其实CPU在运算的时候,并不丢弃这个进位值,而是记录在一个特殊的寄存器的某一位上。 8086CPU 就用flag的CF位来记录这个进位值。 11.4 CF标志 比如,下面的指令: mov al,98H add al,al ;执行后: (al)=30H,CF=1,
您可能关注的文档
最近下载
- 3.13《丹顶鹤生活在哪里》课件.ppt VIP
- 《矿业权评估指南》.pdf VIP
- 教科版五下第一单元第5课当环境改变了 课件.pptx VIP
- 2025年湖北省咸宁市崇阳县人才引进(39人)考前自测高频考点模拟试题及答案详解(考点梳理).docx VIP
- 年产5万吨聚乳酸纤维(玉米纤维)生产线可行性研究报告.doc
- 矿洗煤厂走廊改造加固施工方案.doc VIP
- 《入党志愿书》空白电子版.pdf VIP
- 水土保持学课件-水土保持监测与管理.pptx VIP
- 高考英语词汇3500电子版.pdf VIP
- 2025年湖北省咸宁市崇阳县人才引进(39人)笔试备考试题含答案详解(夺分金卷).docx VIP
文档评论(0)