微机组装实验报告,微机原理实验报告答案,微机实验报告,微机实验报告模板-2014 QQ空间素材网 > 微机原理实验报告 > 微机组装实验报告,微机原理实验报告答案,微机实验报告,微机实验报告模板-2014 正文

微机组装实验报告,微机原理实验报告答案,微机实验报告,微机实验报告模板-2014

发布时间:2012-08-19 来源: 微机原理实验报告

西安科技大学高新学院 微机原理实验报告 院、系(部) 机电信息学院 专业及班级 机械专业1001 班 学 号 *** 姓 名 *** 指 导 教 师 日 期 2012 年06 月 号 上机实验报告 班 级 姓 名 学...

《微机实验》报告 实验名称 指导教师 专业班级 姓名 学号 Keil 的使用与汇编语言上机操作 曹丹华 光实 1201 潘伟程 U201214203 15927111792 联系电话 一、任务要求 熟悉 Keil 环境,通过在 Keil 环境下调试字节拆分、合并程序、数据块清零程序、加法 程序,掌握汇编语言程序的调试方法,加深对 BCD 码、ASCII 码、堆栈、寄存器、数据指针、 汇编语言指令、机器码等基本概念的理解,为后续程序编制和调试打下基础。

1.掌握 Keil 环境的使用 1)字节拆分、合并:调试 e421.asm 程序, 观察相关寄存器和单元的内容。

2)数据块填充:调试 fill.asm 程序,观察相关寄存器和单元的内容。

2. 编写两个十六位数的加法程序。

有两个十六位无符号数,分别存放在从 20H 和 30H 开始的数据区中,低八位先存,高八 位在后,和存于 R3(高八位)和 R4(低八位) ,进位位存于 R2。 二、设计思路 对任务 1 对任务 2 赋值后,利用数据指针,取两数低位相加,存和于 R4,再取两数低位相加, 存和于 R3,存进位位于 R2。 1 《微机实验》报告 三、资源分配 对任务 2 两数初值分别存于片内 RAM 中的 20H~21H 和 30H~31H, 运算结果存于 R2 (进 位位) 、R3(高八位)和 R4(低八位) ,工作寄存器 R0 和 R1 用作地址指针。 四、流程图 两个十六位数的加法程序 开始 C←0 进位清零 初始赋值 A←(20H) R4←A+(30H) 低位相加 A←A+CY 处理进位 R3←(21H)+(31H) 高位相加 R2←A+CY 存进位位 结束 2 《微机实验》报告 五、源代码 (含文件头说明、语句行注释) 1、 字节拆分、合并程序 File name: e421.asm Description: 1 字节 BCD 码转换为 2 字节 ASCII 2 字节 ASCII 码转化为 1 字节 BCD 码 Date: Designed by: Source used: 30H: BCD data 31H, 32H:ASCII data 31H, 32H ->33H ORG 0000H LJMP MAIN ORG MAIN: MOV MOV MOV MOV MOV ORL ORL MOV MOV ANL 0100H SP, #40H 30H, #49H R0, #32H @R0, #0 A, 30H ;拆分字节 ;转换为 ASCII ;转换为 ASCII ;结果存于 31H 单元 ;从 31H 单元取值 ;转换为 BCD ;结果存于 33H 单元 ;从 32H 单元取值 ;转换为 BCD ;合并字节 ;踏步 ;赋堆栈指针 ;30H 单元赋值 ;R0 指针赋值 ;32H 单元清零 XCHD A, @R0 32H, #30H A, A, A, #30H 31H #0FH SWAP A 31H, A SWAP A MOV 33H, A MOV ANL ORL HERE: A, A, 32H #0FH 33H, A SJMP HERE END 2、 数据块填充程序 File name: fill.asm Date: 2011.8.20 Designed by: CDH 3 《微机实验》报告 Source used: R0: 计数器 DPTR: 片外数据指针 ORG 0000H LJMP MAIN ORG 0100H MAIN: FILL: MOV SP,#40H CLR MOV MOV FILL1: INC INC HERE: A R0, #00H DPTR, #7000H A R0 #00H, FILL1 ;A 寄存器清零 ;设循环计数器 ;设数据指针 ;传送到片外 RAM ;A 内容加 1 ;修改数据指针 ;修改循环计数器 ;判断是否结束 ;原地踏步 MOVX @DPTR, A INC DPTR CJNE R0, SJMP HERE END 3、两个十六位数的加法程序 Date: Designed by: Source used: RO、R1:地址指针 20H~21H,30H~31H:BCD data 2012-9-26 ORG 0000H LJMP MAIN ORG 0100H MAIN: CLR C MOV 20H,#07H MOV 21H,#16H MOV 30H,#10H 4 ;进位清零 ;赋值 《微机实验》报告 MOV 31H,#28H MOV R0,#20H MOV R1,#30H MOV A,@R0 ADD A,@R1 MOV R4,A INC R0 INC R1 MOV A,@R0 ADDC A,#00H ADD A,@R1 MOV R3,A CLR A ADDC A,#00H MOV R2,A HERE: SJMP HERE END ;置数据指针 ;取第一个数低位 ;两数低位相加 ;存“和”低位 ;修改指针 ;取第一个数高位 ;处理低位相加进位 ;两数高位相加 ;存“和”高位 ;处理高位相加进位 ;最终进位存于 R2 ;踏步 六、程序测试方法与结果 1. 字节拆分,程序合并 1) 拆分 5 《微机实验》报告 2) 合并 6 《微机实验》报告 2.数据填充程序 7 《微机实验》报告 3.两个十六位数的加法程序 赋值 运 算 结 果 8 《微机实验》报告 思考题 ●怎样查看工作寄存器、SFR、片内 RAM、片外 RAM 及程序代码空间内容?Disassembly 窗 口有何作用? 答:工作寄存器与 SFR 的内容在调试阶段的“Register 窗口”查看,外围设备的内容在 “Peripherals 项目”中查看,也可以通过相对应的固定地址在“Memory 1 窗口”中查 看。Dis assembly 窗口用于设置断点。

●字节拆分、合并还有哪些方法,举一例说明。

答:还可以用如下方法进行拆分(合并方法相同) :

?? MOV 30H, #49H MOV A, 30H XCHD A, #03H SWAP A MOV 31H, A ;BCD 码高位转换为 ASCII 码 MOV A, 30H XCHD A, #30H ;BCD 码低位转换为 ASCII 码 9 《微机实验》报告 MOV 32H, ?? ●若按递减 1 规律填充数据块,应如何修改程序? 答:将指令“INC A”改为“DEC A” 。

A ;拆分结束 ●若从 7010H 单元开始,连续填充 20 个字节,应该如何修改程序? 答:FILL 与 FILL1 模块改为如下代码:

FILL: CLR A MOV MOV R0, #00H DPTR, #7010H FILL1: MOVX @DPTR, A INC A INC DPTR INC R0 CJNE R0, #13H, FILL1 ● 若完成双字节 BCD 码加法,应如何修改程序? 答:每执行一次“ADD A,@R1”指令后,加上一条指令“DA A” ,进行修正。 本人承诺: 本报告内容真实,无伪造数据,无抄袭他人成果。本人完全了解学校 相关规定,如若违反,愿意承担其后果。 签字:

年 月 日 10 《微机实验》报告 11

《微机实验》报告 实验名称 指导教师 专业班级 联系电话 姓名 学号 一、任务要求 二、设计思路 三、资源分配 四、流程图 五、源代码 (含文件头说明、语句行注释) 六、程序测试...

实验目的及要求 (列出本次实验所使用... 计算机实验报告格式模板计...... 《微机实验》... 六、程序测试... 综合 模拟 实践报告模板 1310 隐藏>> 2013-2014 学年(1)学期经济管理...

综合 模拟 实践报告模板 1310 隐藏>> 2013-2014 学年(1)学期经济管理学院实践教学 成绩评定表 实践教学项目 ERP 综合 模拟 专业 工商管理 学生姓名 班级学号 评... 微机 实验 ...

微机组装实验报告,微机原理实验报告答案,微机实验报告,微机实验报告模板-2014》出自:QQ空间素材网
链接地址:http://www.qzoneai.com/sucai/4LGwbOpIUUlkKdCL.html

网站地图 | 关于我们 | 联系我们 | 广告服务 | 免责声明 | 在线留言 | 友情链接 | RSS 订阅 | 热门搜索
版权所有 QQ空间素材网 www.qzoneai.com

微机组装实验报告,微机原理实验报告答案,微机实验报告,微机实验报告模板-2014