实验二程序设计实验.doc

实验二程序设计实验.doc

ID:59205996

大小:213.00 KB

页数:4页

时间:2020-09-10

实验二程序设计实验.doc_第1页
实验二程序设计实验.doc_第2页
实验二程序设计实验.doc_第3页
实验二程序设计实验.doc_第4页
资源描述:

《实验二程序设计实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、电子科技大学中山学院学生实验报告院别:电子信息学院课程名称:微处理器实验班级:12电信A姓名:学号:实验名称:二、程序设计实验实验时间:2014年9月23日成绩:教师签名:批改时间:一、实验原理与目的1掌握分支、循环结构程序以及子程序的设计方法。2进一步熟悉KeilC51集成开发环境。二、实验仪器PC机一台(带keil)三、实验内容与分析①分支程序ORG0000HJMPMAINORG0100HMAIN:MOV30H,#20HMOVA,30HJZNEXT;x=0,转移ANLA,#80H;保留符号位JZED;x>0,转移MOVA,#05H;x<0,不转

2、移ADDA,30HMOV30H,ASJMPEDNEXT:MOV30H,#20HED:SJMP$END☆,输入x=10,即x>0,输出y=x②循环程序ORG0000HLJMPMAINORG0100HMAIN:MOVR1,#20HMOVR3,#30MOVDPTR,#TABLOOP1:MOVA,#0MOVCA,@A+DPTRMOV@R1,AINCR1INCDPTRDJNZR3,LOOP1MAIN:MOVR0,#20H;置取数指针R0初值MOVB,#29H;置循环计数器B初值MOVA,@R0;第一个数送ALOOP:INCR0;修改指针MOVR1,A;暂存X

3、RLA,@R0;两数符号相同?JBACC.7,LAT;若相异,则转LATMOVA,R1;若相同,则恢复A中原来值CLRC;C清零SUBBA,@R0;两数相减,以判断两者的大小JNBACC.7,AA;若A中值为大,则转AACXA:MOVA,@R0;若A中值为小,则将大数送入ASJMPBBLAT:XRLA,@R0;恢复A中原值MOVA,R1JNBACC.7,BB;若A中值为正,侧转BBSJMPCXA;若A中值为负,则转CXAAA:MOVA,R1;恢复A中原值BB:DJNZB,LOOPMOV1FH,A;最大者送1FH单元SJMP$TAB:DB15,28,

4、19,30,36DB38,9,25,16,20DB68,99,53,61,2DB11,18,39,85,22DB3,51,26,10,1DB91,39,88,128,129END☆最大值:99③子程序ORG0000HJMPMAINORG0100HMAIN:MOVR0,#20H;置数据指针MOVR1,#10MOV@R0,#0MOVA,#0LOOP1:INCR0INCAMOV@R0,ADJNZR1,LOOP1MOVR0,#20H;置数据指针MOVR7,#10;置计数初值MOVR3,#0;结果单元清零MOVR2,#0CLRCLOOP:MOVA,@R0;取

5、数ACALLSORT;调用求平方子程序ADDA,R2;累加平方和MOVR2,AMOVA,R3ADDCA,#0;加进位CyMOVR3,AINCR0;修改指针DJNZR7,LOOP;未完,继续SJMPENSORT:MOVDPTR,#TAB;进入子程序查平方表MOVCA,@A+DPTRRETTAB:DB0,1,4,9,16DB25,36,49,64,81EN:NOPEND☆验算:0²+1²+...+8²+9²=285,保存在r3、r2中,r3、r2表示的数是256+29=285(正确)四、实验结论1.学会了各种结构以及子程序的使用。2.会使用堆栈传递参数

6、。3.更加熟练使用keil软件。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。