汇编语言程序分析-51单片机
来源:互联网 发布:怎么看b超单子的数据 编辑:程序博客网 时间:2024/05/23 20:17
人工汇编出下列程序机器代码,并分析该程序段的执行功能。
悬赏分:10 - 解决时间:2009-10-8 13:19
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个0,R1的高4位,移入R2的低4位。
;-----------------
对补充提问的回答:
程序中,参与向左移位的是R2R1R0,共有24位数字。
但是,在你的程序中,事先已经将R2清零,所以实际被移动的只有R1R0中的16位数字。
在你的程序前面,我加上了两行,使得R1 R0=34 12H;
程序执行后,R2 R1 R0=03 41 20H。
程序的功能,即如前所述。
;------------------
回答者: 做而论道 - 七级 2009-10-8 06:38
提问者对于答案的评价:嗯,谢谢了,再给你加10分吧,咱分不太多,呵呵~~~
原文网址:http://zhidao.baidu.com/question/120423261.html
- 汇编语言程序分析-51单片机
- 51单片机汇编语言--延时程序的延时时间
- 51单片机 汇编语言 两道题
- 51单片机 汇编语言电子琴
- 用51单片机汇编语言,编写“键控加减一”的程序
- 第三个试验:认识单片机发音程序-----51单片机汇编语言试验教程
- 单片机 AT89C51 汇编语言编写报警信号程序
- 51单片机汇编语言使用串口
- 51 单片机汇编语言--矩阵键盘的驱动
- 第六个试验:认识数码管扫描程序----51单片机汇编语言试验教程
- 用51单片机汇编语言设计程序,实现一个4位秒表
- 用51单片机汇编语言,写一个60s倒计时的程序
- 51单片机汇编语言编程:开关控制计时
- 51单片机,汇编语言,定时与计数
- 51单片机,汇编语言,按键操作控制
- 51 单片机汇编语言:0~100 计数器
- 51单片机汇编语言:定时器与中断
- 闪烁灯-51单片机-asm-汇编语言
- 编写LED控制程序,完成LED奇数号灯和偶数号灯的交替显示
- 关于view.getTop(),view.getRight()....
- 利用8031单片机,设计跑马灯和流水灯
- 单片机编程,输出周期为2S和0.5S的方波
- 三级偏软程序题目
- 汇编语言程序分析-51单片机
- 求 《微机系统原理与接口》 题目答案
- ASCII 码和十六进制数的转换 -51单片机
- 单片机定时问题:亮100ms、灭300ms
- 汇编中字符串初始化的问题,“7, 13, 10, 13, 10” 是什么意思?
- 编写3字节二进制加法子程序
- 树莓派利用360wifi2开机自动连接路由器
- 编写10位十进制加法子程序(十进制数采用压缩BCD码存放)
- 编写3字节二进制减法子程序 -单片机编程