1 / 10
文档名称:

微机实验报告--KEIL的使用与汇编语言上机操作.doc

格式:doc   大小:744KB   页数:10页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

微机实验报告--KEIL的使用与汇编语言上机操作.doc

上传人:今晚不太方便 2017/7/14 文件大小:744 KB

下载得到文件列表

微机实验报告--KEIL的使用与汇编语言上机操作.doc

相关文档

文档介绍

文档介绍:实验名称 Keil的使用与汇编语言上机操作成绩
指导教师
专业班级姓名学号
联系电话
一、任务要求
二、设计思路
三、资源分配
四、流程图
五、源代码(含文件头说明、语句行注释)
六、程序测试方法与结果
思考题
本人承诺:
本报告内容真实,无伪造数据,无抄袭他人成果。本人完全了解学校相关规定,如若违反,愿意承担其后果。
签字:
2016 年 10 月 11 日
Keil的使用与汇编语言上机操作
一、任务要求
编写多个十六位数的加法程序,有4个十六位无符号数,连续存放在20H开始的片上数据区中,低八位先存,高八位在后。要求:和存于R3(高八位)和R2(低八位),进位位存于R4。
二、设计思路
。用R0,R1存储被加的两个数的地址,低位相加之后,结果保存在R2,将R0,R1存储的地址自加1,进行高位相加,结果保存在R3。完成一次两个16位数的相加之后,低位相加结果存储在18H,高位结果存储在19H,进位保存在R4
,R1改为24H,将第一次的结果再和第三个数相加,若有进位,R4加1
,R1改为26H,将第二次的结果再和第四个数相加,若有进位,R4加1
,R3保存的高八位,R4保存的总进位
三、资源分配
20H--27H 保存四个16位数
R2 保存每次加法的低8位
R3 保存每次加法的高8位
R0 R1每次加法运算的两个数的地址
R4 保存进位结果
19H 18H 两个16位数之后的数高低位的保存地址
A 中间运算
四、流程图
五、源代码
File name:
ORG 0000H
MOV 27H,#25H
MOV 26H,#25H
MOV 25H,#25H
MOV 24H,#0E5H
MOV 23H,#0F5H
MOV 22H,#25H
MOV 21H,#25H
MOV 20H,#0F5H ;赋值
CLR C
MOV R2,#00H ;暂存每次加法的低位结果
MOV R3,#00H ;暂存每次加法的高位结果
MOV R4,#00H ;记录4个16位数相加的进位
MOV R0,#20H ;第一次相加
MOV R1,#22H
MOV A,***@R0
ADD A,***@R1
MOV R2,A ;低位相加和保存到R2
INC R0
INC R1 ;地址加1,进行高位相加
MOV A,***@R0
ADDC A,***@R1
MOV R3,A ;高位相加和保存到R3
JNC JINW1 ;如果有进位,R4加1
MOV A,R4
ADD A,#01H
MOV R4,A

JINW1: CLR C ;将第一次相加的结果与第三个数相加
MOV 18H,R2 ;保存每次运算后的低位结果在18H
MOV 19H,R3 ;保存每次运算后的高位结果在19H
MOV R0,#18H ;将结果和新的数相加
MOV R1,#24H ;新数的地址
MOV A,***@R0
ADD A,***@R1
MOV R2,A
INC R0
INC R1
MOV A,***@R0