- 21
- 0
- 约3.13千字
- 约 10页
- 2017-04-22 发布于湖北
- 举报
《微机实验》报告
PAGE \* MERGEFORMAT 10
实验名称 Keil的使用与汇编语言上机操作 成 绩
指导教师
专业班级 姓 名 学 号
联系电话
一、任务要求
二、设计思路
三、资源分配
四、流程图
五、源代码 (含文件头说明、语句行注释)
六、程序测试方法与结果
思考题
本人承诺:
本报告内容真实,无伪造数据,无抄袭他人成果。本人完全了解学校相关规定,如若违反,愿意承担其后果。
签字:
2016 年 10 月 11 日
Keil的使用与汇编语言上机操作
一、任务要求
编写多个十六位数的加法程序,有4个十六位无符号数,连续存放在20H开始的片上数据区中,低八位先存,高八位在后。要求:和存于R3(高八位)和R2(低八位),进位位存于R4。
二、设计思路
1.先将20H21H和22H23H的两个16位数相加。用R0,R1存储被加的两个数的地址,低位相加之后,结果保存在R2,将R0,R1存储的地址自加1,进行高位相加,结果保存在R3。完成一次两个16位数的相加之后,低位相加结果存储在18H,高位结果存储在19H,进位保存在R4
2.R0改为18H,R1改为24H,将第一次的结果再和第三个数相加,若有进位,R4加1
3.R0改为18H,R1改为26H,将第二次的结果再和第四个数相加,若有进位,R4加1
4.最后R2储存的是低八位,R3保存的高八位,R4保存的总进位
三、资源分配
20H--27H 保存四个16位数
R2 保存每次加法的低8位
R3 保存每次加法的高8位
R0 R1每次加法运算的两个数的地址
R4 保存进位结果
19H 18H 两个16位数之后的数高低位的保存地址
A 中间运算
四、流程图
五、源代码
File name: jiafa.asm
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
ADDC A,@R1
MOV R3,A
JNC JINW2
MOV A,R4
ADD A,#01H
MOV R4,A
JINW2:
CLR C ;将第二次相加的结果与第四个数相加
MOV 18H,R2
MOV 19H,R3
MOV R0,#18H
MOV R1,#26H
MOV A,@R0
ADD A,@R1
MOV R2,A
INC R0
INC R1
MOV A,@R0
ADDC A,@R1
MOV R3,A
JNC JINW3
MOV A,R4
ADD A,#01H
MOV R4,A
JINW3:
SJMP $
您可能关注的文档
最近下载
- 会计报表附注(企业会计准则).pdf VIP
- 2025年深圳市考公务员考试《行测》真题及答案.docx
- 2025年山东省公务员考试《行测》真题及答案.pdf
- 股权转让合同协议简单范本.doc VIP
- 2025年山东省公务员考试《行测》真题及答案.docx
- 2025年江西省公务员考试《行测》真题及答案.pdf
- 数字普惠金融对中小企业融资约束的影响研究.docx VIP
- 【新教材】人教版(2024)七年级上册数学第五章 一元一次方程 综合素质评价试卷(Word版,含答案).docx VIP
- 2025年江西省公务员考试《行测》真题及答案.docx
- 2025年河北省公务员考试《行测》真题及答案.pdf
原创力文档

文档评论(0)