第一范文网 - 专业文章范例文档资料分享平台

51单片机汇编语言程序分析

来源:用户分享 时间:2025/7/23 13:07:27 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

人工汇编出下列程序机器代码,并分析该程序段的执行功能。 CLR A MOV R2, A MOV R7, #4 LOOP: CLR C MOV A, R0 RLC A MOV R0, A MOV A, R1 RLC A MOV R1, A MOV A, R2 RLC A MOV R2, A DJNZ R7, LOOP SJMP $ ;-------------------

问题补充:问做而论道:

为什么是把 R1的高4位,移入R2的低4位?而不是 R2中的数,也左移4位,右边填入4个0? 还有哪儿看出来是16位数???

;================================== 最佳答案:

0000 7812 MOV R0, #12H 0002 7934 MOV R1, #34H 0004 E4 CLR A 0005 FA MOV R2, A 0006 7F04 MOV R7, #04H 0008 C3 CLR C 0009 E8 MOV A, R0 000A 33 RLC A 000B F8 MOV R0, A 000C E9 MOV A, R1 000D 33 RLC A 000E F9 MOV R1, A 000F EA MOV A, R2 0010 33 RLC A 0011 FA MOV R2, A 0012 DFF4 DJNZ R7, 0008H 0014 80FE SJMP $ ;-----------------

程序功能:将R1R0中的16位数,左移4位,右边填入高4位,移入R2的低4位。

4个0,R1的;----------------- 对补充提问的回答:

程序中,参与向左移位的是R2R1R0,共有24位数字。

但是,在你的程序中,事先已经将R2清零,所以实际被移动的只有R1R0中的16位数字。

在你的程序前面,我加上了两行,使得R1 R0=34 12H; 程序执行后,R2 R1 R0=03 41 20H。 程序的功能,即如前所述。 ;------------------

搜索更多关于: 51单片机汇编语言程序分析 的文档
51单片机汇编语言程序分析.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4ky1c3wykb4n7xz5eecp3x5if1klmb00awl_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top