汇编语言十进制调整指令.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言十进制调整指令

4.2.3 十进制调整类指令 这组指令是在二进制数计算的基础上, 给予十进制数调整, 得到十进制数的结果。计算机中常用8421码表示十进制数。十进制数码所对应的8421码如表4 - 1所示。 ; 在PC机里,表示十进制数的8421码可以用压缩的8421码和非压缩的8421码两种格式来表示。压缩的8421码用4位二进制数表示一个十进制数位。  非压缩的8421码用8位表示一个十进制数位, 8位中的低4位表示8421码,而高4位则没有意义。  显然,数字的ASCII码是一种非压缩8421码。 因为数字的ASCII码的高4位值为0011B,而低4位是以8421码表示的十进制数位, 这符合非压缩8421码高4位无意义的规定。  相应地PC机的十进制调整指令分为两组,下面分别加以说明: ; 压缩的8421码调整指令:  DAA(Decimal Adjust for Addition) 加法的十进制调整指令 DAS(Decimal Adjust for Subtraction)减法的十进制调整指令 ADD、 ADC以及SUB、 SSB指令只用于二进制数加、减法, 是逢二进一,借一当二, 对连续的4位二进制数是逢十六进一, 借一当十六。但压缩的8421码却是逢十进一,借一当十。因此使用加、减法指令对8421码运算后,必须经调整才能得到正确的结果。 ; 非压缩的8421码调整指令:  AAA(ASCII Adjust for Addition)加法的ASCII调整指令 AAS(ASCII Adjust for Subtraction)减法的ASCII调整指令 AAM(ASCII Adjust for Multiplication)乘法的ASCII调整指令 AAD(ASCII Adjust for Division)除法的ASCII调整指令 这一组指令适用于数字ASCII的调整, 也适用于一般的非压缩8421码的十进制调整。  十进制调整指令不能单独使用,必须与加、减、乘、除二进制指令配合使用才能进行十进制调整。十进制调整指令形式上均为零地址指令, 其操作对象由AX寄存器隐含。 ;十进制调整指令 8086专门为完成十进制数运算而提供了一组十进制调整指令。进行十进制运算时,首先将十进制数据编码成为BCD码。 压缩的BCD码调整指令 (1) DAA DAA是加法的十进制调整指令,它必须跟在ADD或ADC指令之后使用。 功能:将存于AL寄存器中的2位BCD码加法运算的结果调整为2位压缩型十进制数,仍保留在AL中??? AL寄存器中的运算结果在出现非法码(1010B~1111B)或本位向高位(指BCD码)有进位(由AF=1或CF=1表示低位向高位或高位向更高位有进位)时,由DAA自动进行加6调整。;调整的方法如下: 若AF=1或者(AL)的低4位是在A~F之间,则(AL)加06H,且自动置AF=1; 若CF=1或者(AL)的高4位是在A~F之间,则(AL)加60H,且自动置CF=1 说明: 本条指令对PSW中的OF标志位无影响,但影响所有其他条件标志。 例: ADD AL,BL DAA 如执行指令前,(AL)=28,(BL)=68; 执行DAA指令时,因AF=1而做 (AL) (AL)+06 1001 0000 + 0000 0110 1001 0110 得(AL)=96,CF=0,AF=1结果正确。; 例: ADD AL,BL DAA 执行指令前,(AL)=55,(BL)=36 执行ADD指令后 0101 0101 + 0011 0110 1000 1011 AF=0,但低4位出现非法码1011,加06 +0000 0110 执行DAA指令时 1001 0001 高4位CF=0,且高4位无非法码,不调整 最后得(AL)=91,CF=0,AF=0结果正确; 由于DAA指令只能对AL中的结果进行调整,因此,对于多字节的十进制加法,只能从低字节开始,逐个字节地进行运算和调整。

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档