第十一章 标志寄存器.pptVIP

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十一章 标志寄存器 本章要点 8086CPU的标志寄存器 与标志寄存器相关的指令 8086CPU的flag寄存器 flag寄存器的作用: 存储相关指令的某些执行结果; 为CPU执行相关指令提供行为依据; 控制CPU的相关工作方式。 flag寄存器的结构 flag寄存器中存储的信息称为程序状态字 ZF标志——Zero,零标志位 它记录相关指令执行后,结果是否为0,若结果为0,ZF=1,否则ZF=0 例如:mov ax,1 sub ax,1 mov ax,2 sub ax,1 影响标志位的指令:运算指令一般会影响标志位,而数据传送指令不会影响标志位 PF标志——Parity,奇偶标志位 它记录相关指令执行后,结果的所有二进制位中1的个数是否为偶数,是则PF=1,否则PF=0 例如:mov al,1 add al,10 mov al,1 or al,2 SF标志——Sign,符号标志位 它记录相关指令执行后,结果是否为负,若结果为负,则SF=1,否则SF=0 SF标志,就是CPU对有符号数运算结果的一种记录,它记录数据的正负,若将数据当作有符号数来运算,可以通过它来得知结果的正负,若将数据当作无符号数来运算,SF的值没有意义。 例如:mov al add al,1 执行后,SF=1表示:若进行的是有符号数运算,则结果为负 检测点11.1 写出下面每条指令执行后,标志位的值 CF标志——Carry,进位标志位 一般情况下,在进行无符号数运算的时候,它记录了运算结果的最高有效位向更高位的进位值,或从更高位的借位值 例如:mov al,98H mov al,97H add al,al sub al,98H add al,al sub al,al OF标志——overflow,溢出标志位 溢出:进行有符号数运算的时候,结果超出机器所能表示的范围 机器表示的范围:8位有符号数据,机器所能表示的范围是-128~127,而16位有符号数据,机器所能表示的范围是 -32768~32767 例:mov al,99 mov al,0F0h add al,99 add al, 88h 进行有符号数运算时,可能发生溢出而造成结果的错误,则CPU需要对指令执行后是否溢出进行记录。 OF标志——overflow,溢出标志位 一般情况下,OF记录了有符号数运算的结果是否发生了溢出,若溢出则OF=1,否则OF=0 注意CF和OF的区别:CF是对无符号数运算有意义的标志位,而OF是对有符号数运算有意义的标志位 例:mov al,98 add al,99 执行后,CF=0,OF=1 检测点11.2 写出每条指令执行后,ZF,PF,SF,CF,OF的值 AF——Auxiliary Carry,辅助进位标志位 在加(减)法操作中,Bit3向Bit4(低4位向高4位)有进位(借位)时AF=1,否则AF=0 ZF、PF、CF、SF、OF、AF我们统称为运算结果标志位,受算数运算和逻辑运算结果的影响 adc指令——带进位加法指令 格式:adc 操作对象1,操作对象2 功能:操作对象1=操作对象1+操作对象2+CF 例: mov ax,2 mov ax,1 mov bx,1 add ax,ax sub bx,ax adc ax,3 adc ax,1 执行后(ax)=4 执行后(ax)=5 adc指令的含义 0198H和0183H相加 加法可以分两步进行: 低位相加 高位相加在加上低位相加产生的进位值 add al,bl adc ah,bh 编程1 计算1EF000H+201000H,结果放在ax(高16位)和bx(低16位)中 程序如下: mov ax,001Eh mov bx,0F000h add bx,1000h adc ax,0020h 编程2 计算1EF0001000H+2010001EF0H,结果放在ax(高16位), bx(次高16位)和cx(低16位)中 程序如下: mov ax,001Eh mov bx,0F000h mov cx,1000h add cx,1E

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档