微型计算机技术陈慈发第8讲算术运算指令解析.ppt

微型计算机技术陈慈发第8讲算术运算指令解析.ppt

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

课后作业 3.17(1)(2) 3.26、 3.28 BCD码调整指令 15、加法的压缩BCD码调整指令DAA 【例】设AL=25H,BL=37H,问执行下列指令后,AL=? CF=? ADD AL,BL DAA 0010 0101 + 0011 0111 0101 1100 大于9 +06H 修正 0101 1100 + 0000 0110 0110 0010 AL=62H CF=0 BCD码调整指令 15、加法的压缩BCD码调整指令DAA 【例】CPU执行下列指令后,AL=? CF=? MOV AL,68H ADD AL,89H DAA 0110 1000 + 1000 1001 1111 0001 AF=1 +66H 修正 1111 0001 + 0110 0110 10101 0111 AL=57H CF=1 大于9 CF=1 BCD码调整指令 15、加法的压缩BCD码调整指令DAA 【例】设AX和BX中存放着两个4位的压缩BCD码,求两数之和,并将和放在AX中。 【错误编程1】 ADD AX,BX DAA 【错误编程2】 ADD AL,BL DAA ADC AH,BH DAA 【正确实现】 ADD AL,BL DAA ADC AL,BH DAA XCHG AL,AH XCHG AL,AH BCD码调整指令 16、加法的非压缩BCD码调整指令AAA 格式:AAA 功能:对AL中的非压缩BCD码加法结果进行调整。 说明:必须紧跟在ADD或ADC指令后出现。 AL/AH为隐含操作数,且为非压缩BCD码。 对标志的影响:影响AF、CF,其余标志不受影响。 BCD码调整指令 16、加法的非压缩BCD码调整指令AAA 【调整算法】 如果:AL低4位>9或AF=1,则执行: AL ← AL+06H AH ← AH+1 AL ← AL AND 0FH AF=CF=1 否则执行: AL ← AL AND 0FH AF=CF=0 BCD码调整指令 16、加法的非压缩BCD码调整指令AAA 【例】设AX=0339H,BL=36H,问执行下列指令后,AX=( ), CF=( ) ADD AL,BL AAA 0405H 1 【答】 AL←AL+BL=39H+36H=6FH 由于AL低四位1111>9,所以AAA执行如下调整: AL←AL+06H=6FH+06H=75H AH←AH+1=03H+01H=04H AL←AL AND 0FH=75H AND 0FH=05H AF=CF=1 BCD码调整指令 17、减法的压缩BCD码调整指令DAS 格式:DAS 功能:对AL中的压缩BCD码减法结果进行调整。 说明:必须紧跟在SUB或SBB指令后出现。 AL为隐含操作数,且为压缩BCD码。 对标志的影响:除OF不确定外,其余标志均受影响。其中CF=1表示结果小于0 BCD码调整指令 17、减法的压缩BCD码调整指令DAS 【调整算法】 AL低4位 >9 AF=1 AL← AL-06H 调 整 算 法 AL高4位 >9 CF=1 AL← AL-60H BCD码调整指令 17、减法的压缩BCD码调整指令DAS 【例】CPU执行下列指令后,AL=? CF=? MOV AL,34H SUB AL,89H DAS 0011 0100 - 1000 1001 1010 1011 大于9且AF=1 -66H 修正 1010 1011 - 0110 0110 0100 0101 AL=45H CF=1 大于9且CF=1 BCD码调整指令 18、减法的非压缩BCD码调整指令AAS 格式:AAS 功能:对AL中的非压缩BCD码减法结果进行调整。 说明:必须紧跟在SUB或SBB指令后出现。 AL/AH为隐含操作数,且为非压缩BCD码。 对标志的影响:影响AF、CF,其余标志不受影响。 BCD码调整指令 18、减法的非压缩BCD码调整指令AAS 【调整算法】 如果:AL低4位>9或AF=1,则执行: AL ← AL-06H AH ← AH-1 AL ← AL AND 0FH AF=CF=1 否则执行: AL ← AL AND 0FH AF=CF=0 BCD码调整指令 18、减法的非压缩BCD码调整指令AAS 【例】设AX=0531H,BL=09H,问执行下列指令后,AX=( ), CF=( ) SUB AL,BL AAS 0402H 1 【答】 AL←AL-BL=31H-09H=28H 由于AF=1,所以AAA执行如下调整: AL←AL-06H=28H-06H=22H AH←AH-1=05H-01H=04H AL←AL AND 0FH=2

文档评论(0)

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

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

1亿VIP精品文档

相关文档