文档详情

实验四:子程序设计实验.doc

发布:2017-02-17约9.5千字共17页下载文档
文本预览下载声明
实验四:子程序设计实验 专业班级 姓名: 学号: 联系方式 一、任务要求: 1. 调试程序dmove.asm,观察片外数据区7000H、A000H开始的单元内容变化规律。 修改程序将7010H-7073H单元内容传送至B000H开始的存储区中。 2. 设计一个子程序,统计片外数据区从2000H开始的256个符号数中偶数的个数,低位存入R3,高位存入R2。 3.(选作题)设计子程序,实现对片外数据存储器的测试。具体要求如下: 1)测试方法自选 2)数据存储区首地址、长度可变。 3)可统计坏单元数目,并记录坏单元地址。 4)利用LED指示灯,提示测试过程和结果状态。 二、设计思路 实验一: 1.用MOVX @DPTR, A 指令,向片外数据区7000H到70FFH单元内容送值。 2.用同样的指令,将7010H-7073H单元内容传送至B000H开始的存储区中。 实验二: 1.将要检验的地址区域内容逐个取出,进行奇偶判断 2.是偶数则统计加一,之后对下一位进行判断 3.不是则对下一位进行判断 4.结束后返回 实验三: 1.先将监测区域内赋值 2.赋值完成后通过改变区域内的内容,再进行检测 3.若两次的内容不相同,则统计数加一并记录地址 4用P1,P2,P3口的状态来表示LED指示灯的工作状态 三、资源分配 实验一: 起始地址为0090H 向片外数据区7000H、A000H开始的单元赋值。 将7010H-7073H单元内容传送至B000H开始的存储区中。 实验二: 1. 起始地址1000H 2. 统计片外数据区从2000H开始的256个符号数中偶数的个数,低位存入R3,高位存入R2。 实验三:(选作题) 起始地址2000H 向7000H开始的片外RAM空间送监测数 错误数目放在R2中 错误地址放在片内IDATE中 四、流程图 2. Y N Y N N Y 3. Y N N Y N Y 五、源代码 (含文件头说明、资源使用说明、语句行注释) 试验一代码: ;File name: dmove.asm ;Date: ;Designed by: ;Description: 数据块传送 ;Resource used: R0: 计数器 ; DPTR: 片外数据指针 ; R2, R3 源地址 ; R4, R5 目的地址 ; R6, R7 传送字节数 ORG 0090H START: ;初始化7000H开始的片外RAM空间 MOV R0, #00H ;设循环计数器 MOV DPTR, #7000H ;设数据指针 MOV R1, #00H LOOP1: MOV A, R1 MOVX @DPTR, A ;传送到片外RAM INC DPTR ;修改数据指针 INC R0
显示全部
相似文档