实验四子程序设计实验

实验四子程序设计实验

ID:36478371

大小:117.50 KB

页数:17页

时间:2019-05-11

实验四子程序设计实验_第1页
实验四子程序设计实验_第2页
实验四子程序设计实验_第3页
实验四子程序设计实验_第4页
实验四子程序设计实验_第5页
资源描述:

《实验四子程序设计实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验四:子程序设计实验专业班级姓名:学号:联系方式一、任务要求:1.调试程序dmove.asm,观察片外数据区7000H、A000H开始的单元内容变化规律。修改程序将7010H-7073H单元内容传送至B000H开始的存储区中。2.设计一个子程序,统计片外数据区从2000H开始的256个符号数中偶数的个数,低位存入R3,高位存入R2。3.(选作题)设计子程序,实现对片外数据存储器的测试。具体要求如下:1)测试方法自选2)数据存储区首地址、长度可变。3)可统计坏单元数目,并记录坏单元地址。4)利用LED指示灯,提示测试过程和结果状态。二、设计思路实验一:1.用MOVX@DPTR,A指令,

2、向片外数据区7000H到70FFH单元内容送值。2.用同样的指令,将7010H-7073H单元内容传送至B000H开始的存储区中。实验二:1.将要检验的地址区域内容逐个取出,进行奇偶判断2.是偶数则统计加一,之后对下一位进行判断3.不是则对下一位进行判断4.结束后返回实验三:1.先将监测区域内赋值2.赋值完成后通过改变区域内的内容,再进行检测3.若两次的内容不相同,则统计数加一并记录地址4用P1,P2,P3口的状态来表示LED指示灯的工作状态三、资源分配实验一:1.起始地址为0090H2.向片外数据区7000H、A000H开始的单元赋值。3.将7010H-7073H单元内容传送至B00

3、0H开始的存储区中。实验二:1.起始地址1000H2.统计片外数据区从2000H开始的256个符号数中偶数的个数,低位存入R3,高位存入R2。实验三:(选作题)1.起始地址2000H2.向7000H开始的片外RAM空间送监测数3.错误数目放在R2中4.错误地址放在片内IDATE中四、流程图DPTR#2000C=1?R3ACLRCINCDOTRAA+@DPTR2R1=0?R1#256R2#0R3#0开始2.结束YNYACC.0=1?NAR3INCANYINCR2INCR1AA+@DPTR开始3.LONGDATA50TABLEDATA2000HINCDPTRMOVR2,#0MOVR6,#3

4、0HMOVR7,#31HMOVP0,#0MOVP1,#0MOVP2,#0MOVP3,#0MOVR1,#0R0=0?YP1#1NR2#0FFHNA=(29)?MOVDPTR,#TABLEMOVR0,#LONGMOVA,R2YAA+@DPTRMOVP0,R1MOVP2,DPLMOVR6,DPLINCDPTRNINCR6INCR6R0=0?YP3DPHR7DPH(29H)R2INCR7INCR7R0LONGDPTRTABLE五、源代码(含文件头说明、资源使用说明、语句行注释)试验一代码:;Filename:dmove.asm;Date:;Designedby:;Description:数据块

5、传送;Resourceused:R0:计数器;DPTR:片外数据指针;R2,R3源地址;R4,R5目的地址;R6,R7传送字节数ORG0090HSTART:;初始化7000H开始的片外RAM空间MOVR0,#00H;设循环计数器MOVDPTR,#7000H;设数据指针MOVR1,#00HLOOP1:MOVA,R1MOVX@DPTR,A;传送到片外RAMINCDPTR;修改数据指针INCR0;修改循环计数器INCR1CJNER0,#00H,LOOP1;判断是否结束;给R2,R3,R4,R5,R6,R7赋初值MOVR2,#70HMOVR3,#10HMOVR6,#01HMOVR7,#00HM

6、OVR4,#0b0HMOVR5,#00H;数据串传送DMVE:MOVSP,#70H;设栈底MOVDPL,R3MOVDPH,R2MOVXA,@DPTR;取一个字节MOVDPL,R5MOVDPH,R4MOVX@DPTR,A;传送一个字节CJNER3,#73H,DMVE1SJMPLP;源地址加1DMVE1:INCR3CJNER5,#0FFH,DMVE2INCR4;目的地址加1DMVE2:INCR5CJNER7,#00H,DMVE3CJNER6,#00H,DMVE4;数据传送结束?SJMP$;原地踏步DMVE3:DECR7;字节数减1SJMPDMVEDMVE4:DECR7DECR6SJMPDM

7、VELP:SJMPLPEND实验二代码:ORG1000HMOVR2,#00H;统计数目高位MOVR3,#00H;低位MOVR1,#00H;定义判定区间长度MOVDPTR,#2000H;预先定义ALLER:MOVXA,@DPTR;将目的地址中的内容送到A累加器中ANLA,#01H;与1进行与运算CJNEA,#01H,COUNTN;判定是否为偶数,是则跳至COUNTNINCDPTR;指向下一地址SJMPGOCOUNTN:CJNER3,#0FFH,C

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

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

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