第四章旗號.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章旗號

第四章 旗號 所有的高階語言都可以使用if~else、for及while 執行決策及迴圈,但是組合語言為了強調執行效率,就得學習旗號暫存器。80x86的旗號暫存器如下圖,程式設計者必須根據這些旗號的變化,做為決策及迴圈的執行根據。 CF (Carry Flag) CF是進位旗號,此旗號邏輯值為『是』時是CY(Carry Yes);『否』時是NC(No Carry),上圖即為NC。執行加法時,最高位元若產生進位,則設定CF為CY,否則設定為NC。例如, MOV AL,22 MOV AL,22 ADD AL,33 ADD AL,FE AL= 55 AL= 20 CF= NC CF= CY 其次,執行減法時,最高位元若產生借位,則CF設為CY,否則設定為NC。例如, MOV AL,3 MOV AL,4 SUB AL,4 SUB AL,3 AL= FF AL= 1 CF= CY CF= NC PF(Parity Flag) PF稱為同位旗號(Parity Flag)。當執行算術或邏輯運算,所得結果有偶數個1時,則PF=PE (Even,偶數),否則PF=PO(Odd,奇數)。例如 , MOV AL,3 MOV AL,3 ADD AL,2 AND AL,2 AL= 5 AL= 2 PF= PE PF= PO AF (Auxiliary Carry Flag) AF稱為輔助進位旗號(Auxiliary Carry Flag)。當執行加法運算,由位元3至位元4產生進位;或執行減法運算,於位元4產生借位,則AF=AC(Auxiliary Carry),否則AF=NA(No Auxiliary)。例如, MOV AL,08 (0000 1000) ADD AL,08 (0000 1000) AL=10 AF=AC 例如, MOV AL,03 (0000 0011) ADD AL,07 (0000 0111) AL= 0A (0000 1010) AF= NA 例如, MOV AL,24 SUB AL,23 則 AL= 01 AF= NA 例如, MOV AL,23 SUB AL,24 本例必須至位元4借位) 則 AL=FF AF= AC ZF(Zero Flag) ZF稱為零值旗號。當執行算術或邏輯運算,其結果為0,則ZF=ZR(ZeRo),否則NZ(No Zero)。例如, MOV AL,FF MOV AL,FF MOV AL,01 ADD AL,01 AND AL,0 OR AL,10 AL= 00 AL= 00 AL= 11 ZF= ZR ZF= ZR ZF= NZ SF(Sign Flag) SF稱為符號旗標。當運算結果最高位元為1時,SF=NG(NeGative,負數);否則SF=PL(Plus,正數)。例如, MOV AL,60 MOV AL,60 MOV AL,60 ADD AL,60 OR AL,90 OR AL,60 AL= C0 AL= F0 AL= 60 SF= NG SF= NG SP= PL OF(Overflow Flag) OF稱為溢位旗號。有號數的算術運算,其結果超過暫存器可以表達的範圍(+127~ -128),稱為溢位,此時PF=OV,否則NV。 例如, MOV AL,50 ADD AL,56 AL=__A6___ PF= OV (兩個正數相加,卻變成負數,稱為溢位) 又例如, MOV AL,80 ;-128 ADD AL,81 ;-127 AL=__01___ PF= OV (兩個負數相加,卻變成正數,稱為溢位) TF (

文档评论(0)

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

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

1亿VIP精品文档

相关文档