10-112)微机课05(算逻指令).pptVIP

  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文档。上传文档
查看更多
10-112)微机课05(算逻指令)

3.程序状态字寄存器PSW (标志寄存器) 记存CPU执行算术运算及某些操作的一些特征标志信息,以备后用 1、机器数和真值 2、原码表示法 (以 n=8 位原码为例) 补码的数学定义: n位补码,数值位n-1位 X (X≥0) [X]补= 2n+X (X<0) 8位补码列式运算例: 例1:设x = - 46 , y = + 35 , 求 x+y 解: x = - 46 y = + 35 = - 010 1110 B = + 010 0011 B [X]原 = 1 010 1110 [Y]原= 0 010 0011 [X]补 = 1 101 0010 [Y]补= 0 010 0011 [X]补 = 1 1 0 1 0 0 1 0 + [Y]补 = 0 0 1 0 0 0 1 1 进位 : 0 0 0 0 0 0 1 0 ∵最高两位均无向上进位 ∴无溢出 [X+Y]补 = 1 1 1 1 0 1 0 1 [X+Y]原 = 1 0 0 0 1 0 1 1 [X+Y] = - 0 0 0 1 0 1 1 B = - 11 = - 46 + 35 答:本运算无溢出,补码运算得x+y = - 11 , 结果正确。 例2:设 x = +67 , y = +86 , 求 x-y 例3:设 x = +67 , y = -86 , 求 x-y BCD码:每一位十进制数用4位二进制码表示。 如8421BCD码用0000~1001 表示十进制数码 0 ~ 9 一个字节可表示两位十进制数。 如 97 的压缩BCD码:1001 0111 B = 97H BCD码特点:与十进制间转换简便,计算仅须稍作调整处理: BCD数加/减运算:先按二进制运算,再判断 各四位组如果出现A~F非法码或有向上进/借位则该四位组应进行加/减6修正(也称进行BCD码调整)。 CPU通常设有专门的BCD码调整指令 【例3-1】 (A)=53H,(R0)=FCH,执行指令 ADD A,R0 结果: (A)=4FH,Cy=1,Ac=0,OV=0,P=1 注意:运算中,由于位6和位7同时有进位,所以标志位OV=0。 【例3-2】 (A)= 85H,(R0)=20H,(20H)=AFH,执行指令: ADD A,@R0 结果:(A)=34H,Cy=1,Ac=1,OV=1,P=1 注意:由于位7有进位,而位6无进位,所以标志位OV=1 【例3-3】 (A)=85H,(20H)=FFH,Cy=1,执行指令: ADDC A,20H 结果为:(A)=85H,Cy=1,Ac=1,OV=0,P=1 【例3-4】 (A)=56H,(R5)=67H,把它们看作为两个压缩的BCD数,进行BCD数的加法。执行指令: ADD A,R5 ;先按二进制加,得BDH DA A ;紧接着进行BCD调整,得23H且有向上进位 结果为:(A)=23H,Cy=1 (维持ADD后的Ac=1,OV=1),P=1。 可见,56+67=123,结果是正确的。 【例3-5】(A)=C9H,(R2)=54H,Cy=1,执行指令 SUBB A,R2 结果:(A)=74H,Cy=0,Ac=0,OV=1(位6向位7借位而位7无 向上借位) ,P=0 【例3-6】 (A)=0FH,(R7)=19H,(30H)=00H,(R1)=40H,(40H)=0FFH,执行指令 DEC A ;(A)-1→A = 0EH DEC R7 ;(R7)-1→R7 =18H DEC 30H ;(30H)-1→30H = FFH DEC @R1 ;

文档评论(0)

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

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

1亿VIP精品文档

相关文档