- 1、本文档共154页,可阅读全部内容。
- 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标志 对于ZF的值,我们可以这样来看,ZF标记相关指令的计算结果是否为0,如果为0,则在ZF要记录下“是0”这样的肯定信息。 在计算机中1 表示逻辑真,表示肯定,所以当结果为0的时候 ZF=1,表示“结果是0 ”。如果结果不为0,则ZF要记录下“不是0”这样的否定信息。 在计算机中0表示逻辑假,表示否定,所以当结果不为0 的时候ZF=0,表示“结果不是0”。 示例 11.1 ZF标志 示例 指令:mov ax,1 and ax,0 执行后,结果为0,则ZF=1,表示“结果是0”。 指令:mov ax,1 or ax,0 执行后,结果不为0,则ZF=0,表示“结果非0”。 11.1 ZF标志 注意: 在8086CPU的指令集中,有的指令的执行是影响标志寄存器的,比如:add、sub、mul、div、inc、or、and等,它们大都是运算指令(进行逻辑或算术运算); 有的指令的执行对标志寄存器没有影响,比如:mov、push、pop等,它们大都是传送指令。 11.1 ZF标志 注意: 我们在使用一条指令的时候,要注意这条指令的全部功能,其中包括,执行结果对标记寄存器的哪些标志位造成影响。 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,2 执行后,结果,其中有2(偶数)个1,则PF=1; 11.3 SF标志 flag的第7位是SF,符号标志位。 它记录指令执行后, 结果为负,SF = 1; 结果为正,SF = 0。 有符号数与补码 示例 mov al add al,1 结果: (al) 有符号数与补码 我们知道计算机中通常用补码来表示有符号数据。计算机中的一个数据可以看作是有符号数,也可以看成是无符号数。 比如: ,可以看作为无符号数 1 ,或有符号数+1; ,可以看作为无符号数129,也可以看作有符号数-127。 有符号数与补码 这也就是说,对于同一个二进制数据,计算机可以将它当作无符号数据来运算,也可以当作有符号数据来运算。 11.3 SF标志 我们可以将add指令进行的运算当作无符号数的运算,那么add指令相当于计算129+1,结果为130); 也可以将add指令进行的运算当作有符号数的运算,那么add指令相当于计算-127+1,结果为-12
您可能关注的文档
- [医学]2011 LX 移动通信_第五章 蜂窝组网技术 合并.ppt
- [医学]11第十章共价键与分子结构.ppt
- [医学]09-消化系统-2.ppt
- [医学]24-心血管系统发生.ppt
- [医学]5第四章 t检验.ppt
- [医学]20120313浓缩与干燥.ppt
- [医学]2010年电生理.ppt
- [医学]2011中药质量评价.ppt
- [医学]1血常规检查.ppt
- [医学]4健康保健-中青年亚健康.ppt
- TCSPSTC 134-2024 砒霜冶炼砷及伴生重金属污染地块风险管控与修复集成技术规范.docx
- TCGAPA 039-2024 六安黄鸭规范.docx
- SGO 2024_宫颈癌症最新进展PPT课件(英文版).pptx
- TCSTM 01180.2-2024 锻件缺陷检测 第2部分:涡流法.docx
- 2025零信任的部署现状及未来.docx
- 残疾人居家托养服务照料项目服务方案(技术方案).doc
- 《化学反应与电能》-高中化学示范课PPT课件(含视频).pptx
- TCSTM 01180.3-2024 锻件缺陷检测 第3部分:相控阵超声法.docx
- 2025建设工程红外热成像法检测技术规程.docx
- 2025既有建筑结构内部钢筋射线法检测技术规程.docx
文档评论(0)