- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
天津理工大学
计算机与通信工程学院
实验报告
2014至2015学年第一学期
课程名称
单片机原理及接口技术
课程代码
0664886
学号学生姓名
俞湛
年级
12级
专业
物联网工程
教学班号
02
实验地点
7-215
实验时间
2014年11月5日第3节至第4节
实验名称
汇编语言基础
主讲教师
王晓晔
辅导教师
王晓晔
实验一80c51汇编语言编程
一、实验目的
熟悉和掌握Keil进行汇编语言调试的常用指令;
了解和掌握MOV指令在不同的寻址方式下的使用方法。
了解和掌握加、减指令在程序设计中的用法
了解和掌握逻辑指令、移位指令的功能和作用,以及此类指令的使用方法。
实验内容
1、简单程序调试
(1)传送指令
设置内部RAM的值,(30H)=40H,(40H)=10H,单步执行下列程序,检查结果。
MOVR0,#30H
MOVA,@R0
MOVR1,A
MOVB,@R1
STOP:SJMPSTOP
执行后:(R0)=30H,(R1)=40H,(A)=40H,(B)=10H,(30H)=40H,(40H)=10H。
(2)运算指令
单步
执行
MOVA,#0BFH
MOV20H,#85H
SETBC
ADDA,20H
MOVA,#0BFH
MOV20H,#85H
SETBC
ADDCA,20H
MOVA,#0BFH
MOV20H,#85H
SETBC
SUBBA,20H
MOVA,#0BFH
MOVB,#85H
MULAB
SJMP$
结果
标志
(A)=44H
CY=1AC=1
OV=1P=0
(A)=45H
CY=1AC=1
OV=1P=1
(A)=39H
CY=0AC=0
OV=0P=0
(A)=3BH(B)=63
CY=0AC=0
OV=1P=1
(3)预先对R3和R4赋值,然后执行下列程序,检查结果。
ORG0000H
LJMPMAIN
ORG0050H
MAIN:MOVA,R3
CLRC
ADDA,R4
JCPP1
MOVR3,#00H
SJMPPP2
PP1:MOVR3,#01H
PP2:MOVR4,A
END
执行后:(R3)=00H,(R4)=07H,(A)=07H。
2、多字节十进制数加法
被加数
加数
结果
低位
20H
67
30H
65
20H
32
21H
45
31H
72
21H
18
22H
23
32H
98
22H
22
23H
01
33H
89
23H
91
高位
图1-24字节十进制数相加
两个4字节十进制数1234567加,将其8421-BCD码按低位到高位存放在地址为20-23H、30-33H的RAM中,运算结果存放在20-23H的地址中,如上图示。
运算程序如下,ADD_BCD为多字节十进制数加法子程序的首地址。分别按“单步”和“全速”方式调试程序。检查运算结果。在“ADD_BCD子程序”的指令“DAA”处设置断点,再用“全速”方式运行,到达断点后,观察“A”的值,然后用“单步”运行,观察指令“DAA”的功能。同时理解“断点”方式调试程序的特点。
;;;;;;;;;;;;;;;;;;;主程序;;;;;;;;;;;;;;;;;;;;;
MOVR0,#20H;置被加数首地址
MOVR1,#30H;置加数首地址
MOVR2,#04H;置被加数和加数的长度(字节数)
ACALLADD_BCD;调用多字节十进制数加法子程序ADD_BCD
STOP:SJMPSTOP;停止
;;;;;;;;;;多字节十进制数加法子程序;;;;;;;;;;
;入口:R0、R1为被加数和加数的首地址,按低位到高位存放
;出口:R0为运算结果的首地址,也按低位到高位存放
ADD_BCD:CLRC;进位清零
LOOP:MOVA,@R0;一字节的被加数→A
ADDCA,@R1;一字节加
DAA;十进制数调整
MOV@R0,A;存一字节的运算结果
INCR0;被加数指向下一字节
INCR1;加数指向下一字节
DJNZR2,LOOP;循环控制
RET;子程序返回
END
4、实现将数据00H-0FH写入到片内RAM30H-3FH,然后将数据一次读出来,在P1.0-P1.3引脚用发光二极管显示出来。用Keil软件调试并查看片内RAM单元中数据的变化,用Proteus软件观察仿真结果。
ORG0000H
LJMPMAIN
ORG0030H
MAIN:MOVR0,#10H
MOVR1,#30H
MOVA,#00H
LOOP:MOV@R1,A
INCR1
INCA
DJNZR0,LOOP
NEXT:MOVR0,#10H
MOVR1,#30H
LOOP1:MOVA,@R1
LCALLDISPLAY
INCR1
DJNZR0,LOOP1
您可能关注的文档
最近下载
- 部编版四年级语文上册期末复习1-8单元看拼音写词语(带答案).docx VIP
- T∕ZZB 1243-2019 66kV~220kV交流电缆用交联聚乙烯绝缘料.docx VIP
- 文化遗产数字化采集与数据库建设.docx VIP
- 部编版小学语文5上1-8单元(全册)看拼音写词语(巩固复习).pdf VIP
- 隔音声屏障工程设计方案(3篇).docx VIP
- 07MR403 城市道路-护坡.pdf VIP
- BCAT_0001—2018建设工程人工材料设备机械数据分类标准及编码规则 2018 207页.pdf VIP
- 食品安全事故应急处置培训.docx VIP
- (最新2025)三方抵账协议范本工程款抵房三方协议范本6篇.docx
- 老年患者营养评估与干预.pptx VIP
文档评论(0)