实验四:子程序设计实验.doc
文本预览下载声明
实验四:子程序设计实验
专业班级
姓名:
学号:
联系方式
一、任务要求:
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
显示全部