微机实验报告KEIL的使用与汇编语言上机操作.docx
- 文档编号:28981463
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:11
- 大小:460.61KB
微机实验报告KEIL的使用与汇编语言上机操作.docx
《微机实验报告KEIL的使用与汇编语言上机操作.docx》由会员分享,可在线阅读,更多相关《微机实验报告KEIL的使用与汇编语言上机操作.docx(11页珍藏版)》请在冰豆网上搜索。
微机实验报告KEIL的使用与汇编语言上机操作
实验名称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位
R0R1每次加法运算的两个数的地址
R4保存进位结果
19H18H两个16位数之后的数高低位的保存地址
A中间运算
四、流程图
五、源代码
Filename:
jiafa.asm
ORG0000H
MOV27H,#25H
MOV26H,#25H
MOV25H,#25H
MOV24H,#0E5H
MOV23H,#0F5H
MOV22H,#25H
MOV21H,#25H
MOV20H,#0F5H;赋值
CLRC
MOVR2,#00H;暂存每次加法的低位结果
MOVR3,#00H;暂存每次加法的高位结果
MOVR4,#00H;记录4个16位数相加的进位
MOVR0,#20H;第一次相加
MOVR1,#22H
MOVA,@R0
ADDA,@R1
MOVR2,A;低位相加和保存到R2
INCR0
INCR1;地址加1,进行高位相加
MOVA,@R0
ADDCA,@R1
MOVR3,A;高位相加和保存到R3
JNCJINW1;如果有进位,R4加1
MOVA,R4
ADDA,#01H
MOVR4,A
JINW1:
CLRC;将第一次相加的结果与第三个数相加
MOV18H,R2;保存每次运算后的低位结果在18H
MOV19H,R3;保存每次运算后的高位结果在19H
MOVR0,#18H;将结果和新的数相加
MOVR1,#24H;新数的地址
MOVA,@R0
ADDA,@R1
MOVR2,A
INCR0
INCR1
MOVA,@R0
ADDCA,@R1
MOVR3,A
JNCJINW2
MOVA,R4
ADDA,#01H
MOVR4,A
JINW2:
CLRC;将第二次相加的结果与第四个数相加
MOV18H,R2
MOV19H,R3
MOVR0,#18H
MOVR1,#26H
MOVA,@R0
ADDA,@R1
MOVR2,A
INCR0
INCR1
MOVA,@R0
ADDCA,@R1
MOVR3,A
JNCJINW3
MOVA,R4
ADDA,#01H
MOVR4,A
JINW3:
SJMP$
END
六、程序测试方法与结果
1.字节拆分、合并程序的调试:
第一步:
拆分为两个数
第二步:
转换为ASCII码
第三步:
取出两个ASCII码并合并
2.数据块填充程序调试:
第一步:
从7000H开始赋值,每赋值一次,R0加1记录次数,A也加1
第二步:
R0加到00H,结束循环赋值
总共运行256次
3.四个16位数的相加
四个数分别为25F5H,F525H,25E5H,2525H
观察每次相加之后各个寄存器的值,进位的值,
25F5H与F525H相加,应该是11B1AH
19H18H处分别是1B1A,R4保存的进位为1
11B1AH与25E5相加,结果应该是140FFH
140FFH与2525H相加,结果应该是16624H
测试之后的结果为16624H,R4保存进位位,高低8位分别保存在R3,R2
七、思考题
1.在调试时,Registers窗口中可以查看Regs和Sys,分别是工作寄存器和SFR
VIEW-MEMORYWINDOWS-MEMORY1/2/3/4,查看片内RAM,输入D:
18H格式的语句,查看片外RAM,输入X:
3000H格式的语句,查看程序代码,输入C:
0100H格式的语句
Disassembly窗口可查看各程序指令存放的程序地址,在运用PC查表时可以用到,也可以查看指令的长度
2.字节拆分、合并:
(使用ADD指令)
MOV30H,#49H
MOVA,30H
ANLA,#0FH;取出低位
ADDA,#30H;变成ASCII码
MOV31H,A;结果存于31H
MOVA,30H
ANLA,#0F0H
SWAPA;取出高位
ADDA,#30H;变成ASCII码
MOV32H,A;结果存于32H
MOVA,31H;取出低位的ASCII码
ANLA,#0FH;转为BCD
MOV33H,A;存于33H
MOVA,32H;取出高位的ASCII码
ANLA,#0FH;转为BCD
SWAPA
ADDA,33H;高位低位相加,合并在一起
MOV33H,A;把合并的数存在33H
3.CLRA改为MOVA,#FFH
INCA改为DECA
4.MOVDPTR,#7000H改为MOVDPTR,#7010H
CJNER0,#00H,FILL1改为CJNER0,#14,FILL1
5.在每条ADD或ADDC指令的后面加上一条DAA指令
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 实验 报告 KEIL 使用 汇编语言 上机 操作