- 14
- 0
- 约2.48千字
- 约 8页
- 2018-06-07 发布于未知
- 举报
《微机实验》报告
实验名称 KeilC的使用与汇编语言上机操作
指导教师 曹丹华
专业班级 xxxxxxxxxxxxxxx 姓名 xxxxxx 学号 xxxxxxxxxxx
联系方式 xxxxxxxxxxxxx
任务要求
1.掌握KeilC环境的使用
1)字节拆分、合并:调试e421.asm程序, 观察相关寄存器和单元的内容。
2)数据块填充:调试fill.asm程序,观察相关寄存器和单元的内容。
2. 编写两个十六位数的加法程序。
有两个十六位无符号数,分别存放在从20H和30H开始的数据区中,低八位先存,高八位在后,和存于R3(高八位)和R4(低八位),进位位存于R2。
设计思路
对于16位的两个无符号数做加法,应该先做低8位加法(半加器),再做高8位带进位加法(全加器),最后保存C位。
资源分配
两个数的低8位存放位置:20H、30H
两个数的高8位存放位置:21H、31H
程序从0000H开始,做加法过程中将数据存放在R4和R3,完成后将C位转存到R2。
流程图
五、源代码
;这个程序实现了两个16位数:2A10H和0021H相加
ORG 50H
LJMP MAIN
ORG 0000H
MAIN: CLR C ;将进位清零
MOV 20H,#10H
MOV 21H,#2AH
MOV 30H,#21H
MOV 31H,#00H
MOV R0,20H ;将A中的低位存入R0中
MOV A,30H ;将B中的低位存入A累加器中
ADDC A,R0 ;将低位相加
MOV R4,A ;其和存入R4
CLR A ;清零累加器A
MOV R0,21H ;将A中的高位存入R0
MOV A,31H ;将B中的高位存入A累加器
ADDC A,R0 ;将高位以及进位位相加
MOV R3,A ;其和存入R3中
CLR A ;清零累加器A
ADDC A,#0 ;将进位存入A
MOV R2,A ;将进位存入R2
SJMP HERE ;原地踏步
END
六、程序测试方法与结果、软件性能分析
测试采用直接加两个给定的数的方法,检查加法结果和进位是否正常。其中2A10H存放在20H,0021H存放在30H。
执行完赋值语句后:
执行完低8位加法:
执行完高8位加法:
程序执行完毕:
从寄存器的结果来看,程序功能正常。
七:思考题
怎样查看工作寄存器、SFR、片内RAM、片外RAM及程序代码空间内容?Disassembly 窗口有何作用?
工作寄存器:view-registers window
SFR:view-registers window peripherals
片内RAM:view-memory window 并且在address里输入d:xxxxH
片外RAM:view-memory window 并且在address里输入x:xxxxH
程序代码:view-memory window 并且在address里输入c:xxxxH
Disassembly窗口:用来查看编译好的机器码和反汇编代码
字节拆分、合并还有哪些方法,举一例说明。
字节拆分:
假设一个字节存在20H单元里,将它的高4位存入R0,低4位存入R1,以下为实现的代码:
MOV A,20H
SWAP A ;准备拆分
MOV B,#10H
MUL AB ;保留高4位在A中
MOV R0,A ;存数据
MOV A,20H
MOV B,#10H
SWAP A ;准备拆分
DIV AB ;保留低4位在A中
MOV A,R1 ;存数据
字节合并:
假设将R0的低4位和R1的高4位合并存入A,以下为实现代码:
MOV A,R0
MOV B,#10H
MUL AB ;保留低4位在A
SWAP A ;将低4位换回正确的位置
MOV R0,A
MOV A,R1
MOV B,#10H
DIV AB ;保留高4位在A
SWAP A ;将高4位挽回正确的位置
ADD A,R0 ;拼接字符
当然,这个方法效率低下,不实用。
若按递减1规律填充数据块,应如何修改程序?
下为已经修改过的代码,与原代码不同的地方独立成行
若从7020H单元开始,连续填充10个字节,应该如何修改程序?
下面为已经修改过的代码,被改过的地方独立成行
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV SP,#40H
FILL: CLR A ;A寄存器清零
MOV R0, #F0H ;设循环计数器
MOV DPTR, #7020H ;
您可能关注的文档
- 2013年医师定期工作考核临床与人文模拟试题答案清晰版.ppt
- 2013年医师实践技能测试影像学试题(1).pdf
- 2013年医师实践技能测试影像学试题(2).pdf
- 014政法干警测试申论热点解析-中国社会“啃老族”1.doc
- 014政法干警测试申论热点解析-中国社会“啃老族”8.doc
- 014政法干警测试申论热点解析-中国社会“啃老族”-副本(4).doc
- 2013年执业(助理)医师测试题库(母题探秘医学伦理).pdf
- 14.医师资格许可办事指南.doc
- 2013年执业西药师测试--药事管理与法规.pdf
- 2013年执业药师测试真题—药事管理与法规.pdf
- 湖南永州市2025-2026学年高二上学期2月期末考试语文试题(含答案)(含解析).docx
- 餐饮行业食品原料采购流程.docx
- 江西南昌市第二中学2025-2026学年高一上学期2月期末语文试题(含答案)(含解析).docx
- 高三数学五月模拟试题汇编.docx
- 云南昆明市第三中学2025-2026上学期期末高一语文试题(含答案)(含解析).docx
- 四川字节精准教育联盟2025-2026学年度上期期末综合能力调查高三语文试题(含答案)(含解析).docx
- 人力资源开发年度考核真题与解析.docx
- 中英双语教学设计课例集锦.docx
- 招标代理服务承诺书与执行措施.docx
- 小数除法课堂教学设计案例分析.docx
原创力文档

文档评论(0)