- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验五 查表程序与子程序.doc
实验五 查表程序与子程序
一、实验目的
1、掌握查表程序的设计及调试方法;
2、熟悉子程序的调用及返回过程;
3、掌握断点运行的方法。
二、实验仪器
1、DVCC-598JH单片开发机一台;
2、WD-5型直流稳压源一台。
三、实验预习
1、认真阅读实验指导书有关内容,明确实验目的、内容和操作步骤;
2、对实验中的程序和指令进行手工汇编;
3、复习实验中相关指令的功能;
4、复习查表程序的两种设计方法;
5、复习连续执行和断点执行程序的步骤。
四、实验内容
1、查表程序
程序一:将R0低4位所存放的十六进制数转换成ASCII码,并存放到R1中。
提示:将十六进制数的ASCII码按从小到大的顺序放入数据表中,将表首地址放入DPTR,这样从R0中取出的数就是相对表首的偏移量,利用变址寻址方式就可实现查表。
参考程序:
ORG 1000H
START: MOV A,R0
ANL A,#0FH
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV R1,A
SJMP $
TAB: DB 30H,31H,32H,33H,34H,35H
DB 36H,37H,38H,39H,41H,42H
DB 43H,44H,45H,46H
END
2、子程序
程序二:用程序实现c=a2+b2。设a、b、c存于片内RAM的三个单元30H、31H、32H,且a、b都小于10。
提示:通过两次调用查平方表子程序来得到a2和b2,并在主程序中完成相加。
参考程序:
ORG 0000H
MOV A,30H
ACALL SQR
MOV R1,A
MOV A,31H
ACALL SQR
ADD A,R1
MOV 32H,A
SJMP $
SQR: INC A ;求平方子程序
MOVC A,@A+PC
RET
TAB: DB 0,1,4,9,16,25,36,49,64,81
END
程序三:设有两个4字节十六进制数,分别放在片内RAM40H和50H起始的单元中,求这两个数之和,并将和存放在40H为起始地址的单元中(低位在前)。另有两个6字节的十六进制数,分别存放在片内RAM60H和70H起始的单元中,求两数之和,并将结果存放在60H为起始的单元中。
参考程序:
ORG 0000H
JIA: MOV R0,#40H ;主程序
MOV R1,#50H
MOV R7,#04H
LCALL JIA1
MOV R0,#60H
MOV R1,#70H
MOV R7,#06H
LCALL JIA1
SJMP $
ORG 0030H
JIA1: CLR C ;子程序
JIA2: MOV A,@R0
ADDC A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R7,JIA2
RET
END
五、实验步骤
1、认真阅读实验参考程序并分析程序运行后的理论结果;
2、输入程序并检查输入是否正确;
3、根据已知条件输入程序执行前的原始数据;
4、执行程序,检查并记录结果,注意观察PC指针的变化情况;
六、练习
1、修改程序一,用MOVC A,@A+PC实现查表;
2、设有三个无符号8位二进制数a、b、c分别存放在8031片内RAM的30H、31H及32H单元中,计算Y=(a+b)2+(b+c)2+(c+a)2(设Y256),并将结果Y存入片内RAM的33H单元。试用调用子程序的方法编写程序,实现上式的计算。
七、实验报告
1、整理记录结果,并与理论结果进行比较;
2、调试过程及体会;
3、总结实现查表程序和子程序设计的基本方法;
4、总结断点运行在程序调试中的作用。
文档评论(0)