福建师范大学MCU作业汇编程序设计进阶.docx

上传人:b****5 文档编号:5048080 上传时间:2022-12-12 格式:DOCX 页数:9 大小:78.17KB
下载 相关 举报
福建师范大学MCU作业汇编程序设计进阶.docx_第1页
第1页 / 共9页
福建师范大学MCU作业汇编程序设计进阶.docx_第2页
第2页 / 共9页
福建师范大学MCU作业汇编程序设计进阶.docx_第3页
第3页 / 共9页
福建师范大学MCU作业汇编程序设计进阶.docx_第4页
第4页 / 共9页
福建师范大学MCU作业汇编程序设计进阶.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

福建师范大学MCU作业汇编程序设计进阶.docx

《福建师范大学MCU作业汇编程序设计进阶.docx》由会员分享,可在线阅读,更多相关《福建师范大学MCU作业汇编程序设计进阶.docx(9页珍藏版)》请在冰豆网上搜索。

福建师范大学MCU作业汇编程序设计进阶.docx

福建师范大学MCU作业汇编程序设计进阶

实验报告3汇编程序设计-进阶

实验目的

1、熟悉51单片机的指令系统,掌握汇编语言程序的设计方法,掌握开发的调试方法。

实验环境

WAVE6000

内容与步骤

(1)在指定缓冲区查找最大值

(2)在指定缓冲区查找最小值

(3)在指定缓冲区计算平均值

(4)一位十六进制数转换成ASC1I码

(5)一位十六进制数转换8段式数码管显示码

(6)多分支转移(散转)程序

过程分析

通过编程前画出流程图,使编写起来更简单,更快速。

结果总结

 

通过本次实验,加深了我对汇编指令的理解。

以及流程图的使用大大提高了编程效率。

思考题

如何采RET指令实现的多分支程序。

RET 是子程序返回指令,功能是从堆栈中取出断电送给程序计数器

PC,使程序从断点处继续执行。

所以在编写多分枝程序时,调用子程序后,必须使用返回指令(如RET

)才能返回到主程序。

附录

(1)在指定缓冲区查找最大值

说明:

将最大值MAX存放在内存单元40H中

缓冲区地址从50H开始。

;-------------在指定缓冲区查找最大值----------

LENEQU20H

MAXEQU40H

VALUEEQU10H

MOVR0,#050H

MOVMAX,@R0

MOVLEN,#5

FIND:

MOVVALUE,@R0

MOVA,VALUE

CLRC

SUBBA,MAX

JCNEXT

MOVMAX,VALUE

NEXT:

INCR0

DJNZLEN,FIND执行前:

执行后:

(2)在指定缓冲区查找最小值

说明:

将最小值MIN存放在内存单元40H中

缓冲区地址从50H开始。

;-------------在指定缓冲区查找最小值-------------

LENEQU20H

MINEQU40H

VALUEEQU10H

MOVR0,#050H

MOVMIN,@R0

MOVLEN,#5

FIND:

MOVVALUE,@R0

MOVA,VALUE

CLRC

SUBBA,MIN

JNCNEXT

MOVMIN,VALUE

NEXT:

INCR0

DJNZLEN,FIND

执行前:

执行后:

(3)在指定缓冲区计算平均值

说明:

将商放入TEMP_1中,余数放入TEMP_2中。

缓冲区地址从50H开始。

LENEQU30H

TEMP_1EQU31H

TEMP_2EQU32H

MOVTEMP_1,#00H

MOVTEMP_2,#00H

MOVLEN,#05H

MOVR0,#50H

CLRC

LOP:

ADDCA,@R0

INCR0

DJNZLEN,LOP

MOVB,#5

DIVAB

MOVTEMP_1,A

MOVTEMP_2,B

执行前:

执行后:

(4)一位十六进制数转换成ASC1I码

说明:

将一个十六进制数存入A中,小于10的+30H,大于等于10的+37H。

MOVA,#00BH

CJNEA,#0AH,NEXT

NEXT:

JCASC

ADDA,#37H

SJMPLOP

ASC:

ADDA,#30H

LOP:

SJMPLOP

执行前:

执行后:

教师评阅:

成绩:

注:

老师如已阅,方便的话能否通知!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1