试验熟悉51指令双字节乘法.DOC

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

实验三、熟悉51指令(双字节乘法) 实验目的: 1.了解MUL AB指令的使用方法。 2.了解双字节乘法的程序设计方法。 实验设备: TDS-MD微机教学实验系统   一台 MP-51单片机开发系统     一片 实验重点指令:   MUL AB是乘法指令,其机器码A4。该指令是将累加器A和寄存器B中的二个8位无符号整数进行相乘,16位乘积的低8位存入A中,高8位存入B中,如果乘积大于255(0FFH),即B的内容不为0时,则置位溢出标志位OV,否则OV清“0”。进位标志位Cy总是清0。 实验内容: 编程指南:由于MUL AB指令完成的是单字节乘法,所以对于双字节乘法,首先将双字节分解为:(aX256+b)(cX256+d)的乘法形式进行计算,其积依次放在内部RAM20H起始的连续四个单元,(R2R3)=乘数,(R4R5)=被乘数。 运算算法为:   acH acL       adH adL       bcH bcL           bdH bdL 其中H、L分别表示积的高8位和低8位,参考程序如下: 地址    机器码           助记符 ────────────────────────────────  2000   7A0F       MOV R2,#0F  2002   7BFF       MOV R3,#FF  2004   7C0F       MOV R4,#0F  2006   7DFF       MOV R5,#FF   2008   7823       MOV R0,#23  200A   EB         MOV A,R3  200B   8DF0       MOV F0,R5  200D   A4         MUL AB  200E   F6         MOV @R0,A  200F   E5F0       MOV A,F0  2011   18         DEC R0  2012   F6         MOV @R0,A  2013   EA         MOV A,R2  2014   8DF0       MOV F0,R5  2016   A4         MUL AB  2017   26         ADD A,@R0  2018   F6         MOV @R0,A  2019   18         DEC R0  201A   E5F0       MOV A,F0  201C   3400       ADDC A,#00  201E   F6         MOV @R0,A  201F   08         INC R0  2020   EB         MOV A,R3  2021   8CF0       MOV F0,R4  2023   A4         MUL AB  2024   26         ADD A,@R0  2025   F6         MOV @R0,A  2026   E5F0       MOV A,F0  2028   18         DEC R0  2029   36         ADDC A,@R0  202A   F6         MOV @R0,A  202B   18         DEC R0  202C   E4         CLR A  202D   3400       ADDC A,#00  202F   F6         MOV @R0,A  2030   EA         MOV A,R2  2031   8CF0       MOV F0,R4  2033   A4         MUL AB  2034   08         INC R0  2035   26         ADD A,@R0  2036   F6         MOV @R0,A  2037   E5F0       MOV A,F0  2039   18         DEC R0  203A   36         ADDC A,@R0  203B   F6         MOV @R0,A  203C   80FE       SJMP 203C ────────────────────────────────── 实验步骤: 1.将上述程序装入开发机,并做认真检查; 2.在203CH处设置断点,运行程序,在断点处检查结果;   3.自己送乘数0011H和被乘数0011H,通过键盘送入R2,R3,R4,R5中,从2008开始运行程序,检查结果。 六、实验练习题: 画出示例程序的框图: 七、实验结果: 1.

文档评论(0)

136****3783 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档