分支与循环程序设计实验 报告文档格式.docx
- 文档编号:18950439
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:30
- 大小:639.17KB
分支与循环程序设计实验 报告文档格式.docx
《分支与循环程序设计实验 报告文档格式.docx》由会员分享,可在线阅读,更多相关《分支与循环程序设计实验 报告文档格式.docx(30页珍藏版)》请在冰豆网上搜索。
三、资源分配
X存于片外1000H
Y存于片外1001H、1002H
其中,求平方时,低位存于1001H,,高位存于1002H
除二时,商存于1001H,,余数存于1002H
P0输出小时数
P1输出分钟数
P2输出秒数
R0小时循环计数
R1分钟循环计数
R2秒循环计数
R3保存分钟数
R4保存小时数
P1输出千百位
P2输出个十位
P3.0计数开始与停止控制
P3.7加1减1计数切换
R1存千百位
R2存个十位
四、流程图
五、源代码(含文件头说明、语句行注释)
Filename:
task1.asm
Description:
对8bits符号数X,对于不同的X进行不同的运算操作
Date:
Designedby:
Sourceused:
1000H:
存X的值
1001H、1002H:
存Y的值
1001H:
平方运算所得低位;
除法运算所得商
1002H:
平方运算所得高位;
除法运算所得余数
ORG0000H
LJMPMAIN
ORG0100H
MAIN:
MOVDPTR,#1000H;
X存于1000H
MOVA,#-1;
给X赋值
MOVB,#0
MOVX@DPTR,A
;
正负判断
JBACC.7,L3;
X<
0,L3
;
X>
CJNEA,#64,L2;
A!
=64,L2
SJMPL1
L1:
MOVB,A;
=64
MULAB
SJMPSTORE;
低位存于1001H,¸
高位存于1002H
L2:
JNCL1;
64,L1
CJNEA,#10,L4;
=10,L4
SJMPL3;
X=10,L3
L4:
JCL3;
10,L3
MOVB,#2
DIVAB;
10
商存于1001H,余数存于1002H
L3:
CPLA;
=10
STORE:
INCDPTR;
结果存于1001H
INCDPTR
MOVA,B
MOVX@DPTR,A
SJMP$
END
3.
task2.asm
24小时制电子时钟
DYH
P0:
输出小时数
P1:
输出分钟数
P2:
输出秒数
R0:
小时循环计数
R1:
分钟循环计数
R2:
秒循环计数
R3:
保存分钟数
R4:
保存小时数
ORG0000H
MOVSP,#40H
MOVP0,#0
MOVP1,#0
MOVP2,#0
MOVR3,#0;
保存小时
MOVR4,#0;
保存分钟
设定循环
MOVR0,#24;
小时外循环·
24
MOVR1,#59;
分钟中循环·
60
MOVR2,#59;
秒内循环·
CLRA
LOOP:
JNBP3.0,$;
p3.0=0,结束计数
LCALLDELAY;
延时1s
ADDA,#1
DAA
MOVP2,A
DJNZR2,LOOP
MOVA,R3;
分钟开始计数将分钟赋给A
ADDA,#1;
分钟+1
MOVR3,A
MOVP1,A
CLRA;
秒清零
重置内循环·
DJNZR1,LOOP;
R1!
=0,中循环
MOVR3,#0;
分钟清零,小时计数
MOVA,R4
MOVR4,A
MOVP0,A
MOVR2,#59;
重置中循环
MOVR1,#59;
重置外循环
DJNZR0,LOOP
DONE:
DELAY:
MOVR7,#11;
n==((201*5+5)*90+9)*11+2=1000001
DELAY3:
MOVR6,#90;
t=1.000001s
DELAY2:
MOVR5,#201
DELAY1:
NOP
NOP
DJNZR5,DELAY1
DJNZR6,DELAY2
DJNZR7,DELAY3
RET
END
实现4位十进制加、减1计数
MOVP1,#0;
输出千百位
MOVP2,#0;
输出个十位
MOVR1,#0;
存千百位
MOVR2,#0;
存个十位
LJMPMAIN
ORG0100H
JBP3.0,$;
计数开始与停止控制
JNBP3.7,ADD1;
加1减1,模式选择
SUB1:
MOVP1,#99
MOVP2,#99
MOVR1,#99
LOOP2:
MOVR2,#99
LOOP1:
JBP3.0,$
JNBP3.7,LOOP3
MOVA,R2
LCALLDELAY
DECA
MOVR2,A
MOVP2,R2
CJNER2,#0H,LOOP1
MOVA,R1
MOVR1,A
MOVP1,R1
CJNER1,#0H,LOOP2
SJMP$
ADD1:
MOVP2,#0
MOVR1,#0
LOOP4:
MOVR2,#0
LOOP3:
JBP3.7,LOOP1
INCA
CJNER2,#99H,LOOP3
CJNER1,#99H,LOOP4
MOVR1,#0
END
六、程序测试方法与结果
(1)X=-30=E2HY=1DH
(2).X=5=05H,Y=FAH
(3).X=10=0AH,Y=F5H
(4)X=25=19hY=0CH(商)01H(余数)
(5).X=64=40HY=1000H
(1)P3.0=0,停止计数
(2)分钟进位前
(3)分钟进位后
(4)小时进位前
(5)小时进位后
(1)P3.0=1,停止计数
(2)P3.0=1,中途停止计数
(3)P3.0=0,从暂停点继续计数
(4)P3.7=0,加1计数前后
(5)P3.7=1,减1计数前后
思考题
1.实现多分支结构程序的主要方法有哪些?
举例说明。
2.在编程上,十进制加1计数器与十六进制加1计数器的区别是什么?
怎样用十进制加法指令实现减1计数?
十进制加1计数器,逢10进1,计数模为10,十六进制加1计数器逢16进1,计数模为16,加上1的补码,再通过DA,进行BCD修正
本人承诺:
本报告内容真实,无伪造数据,无抄袭他人成果。
本人完全了解学校相关规定,如若违反,愿意承担其后果。
签字:
2016年10月25日
其它说明:
1.标题:
黑体,小四号
2.正文:
宋体,五号,1.5倍行距
3.流程图使用SmartDraw7或Visio软件绘制
4.不要加封面
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分支与循环程序设计实验 报告 分支 循环 程序设计 实验