欢迎来到天天文库
浏览记录
ID:8827140
大小:52.50 KB
页数:8页
时间:2018-04-08
《单元4汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、单元四 汇编语言程序设计一、学习目标与要求1、了解汇编语言程序结构2、掌握分支程序、循环程序、子程序、查表程序的设计方法3、了解常用伪指令及其使用方法二、本章重点内容1、单片机程序设计中常用伪指令伪指令不是真正的指令,它只向编译程序提供编译信息,而不产生机器代码。常用伪指令有:(1)标号等值伪指令——EQU格式:〈标号:〉EQU〈表达式〉指令的含义为本语句的标号等值于表达式,亦即将表达式值赋予标号。这里的标号和表达式是必不可少的。(2)数据存储说明伪指令数据存储说明伪指令的作用是将数据存储在程序存储器单元中。①定义字节数
2、据伪指令——DB格式:〈标号:〉DB〈表达式或表达式串〉② 定义字数据伪指令——DW格式:〈标号:〉DW〈表达式或表达式串〉(3)程序起始地址伪指令——ORG格式:ORG〈表达式〉(4)汇编结束伪指令——END格式1:〈标号:〉END〈表达式〉格式2:〈标号:〉END或者 END2、程序设计(1)分支程序条件转移指令是指分支程序产生的原因,条件转移指令执行时,如果转移条件(yes)程序转向一个分支,如果不转移条件(no)程序转向是一个分支。(2)循环程序任何计算机程序都不可能是无限长的顺序程序,程序总是根据不同的条件
3、不断循环的转移执行的。将循环程序从结构上分成循环初始化,循环体,循环修改和循环结构四个部分,是为了便于理解。实际应用时应视具体问题灵活应用。(3)子程序采用子程序结构的程序设计最大的好处是优化了程序设计,将可局部独立处理的问题编写成子程序,可供主程序反复多次调用,它将复杂的运标或检制问题,细分成许多小的事件进行处理,这种主程序调用子程序的结构形式被称为模块式的结构形式。(4)查表程序数学变量与函数之间的关系是一种确定的关系,可以用数学表达式表示,计算机编程时,可根据变量及与函数的关系式计算出函数值。但有的变量与函数之间的
4、关系不能用数学表达式表示,如七段数码显示代码(函数)与显示字符(变量)就是这样。它们之间只能用表格形式建立函数关系,单片机程序设计中的查表程序就是解决这类问题。当然有确定数学关系的数学变量也可以用查表程序求函数值。三、本章内容的前后联系1、与前面内容的联系(1)单片机指令系统是学习本章的基础,也就是说,要想编好程序首先必须学好指令。(2)单片机的内部结构也是本章的基础,单片机的工作是建立在程序存储的基础上,但是程序的执行还必须依赖单片机的硬件资源,这就涉及到了单片机的内部结构。2、与后面内容的联系单片机的汇编语言程序设计
5、,是单片机应用系统程序设计的基础,所以,在学习本章时,应该以应用系统程序开发为目的。认真掌握典型结构化程序设计方法。四、学习方法指导1、单片机汇编语言程序设计,对初学者来说,不是很容易掌握,特别是它的编程和单片机内部资源密切相关,所以,在学习编程之前,一定要掌握单片机的内部资源及其单片机结构。2、为了真正理解程序执行过程,必须先理解指令的执行过程,所以,学习本章时首先应该建立一个概念:程序是指令的集合。3、要注意一开始学习编程就养成一个比较好的习惯:先画流程图、后写指令;程序按结构化设计。五、典型例题分析【例题4.1】
6、拆字程序。将一个字节的两个BCD码十进制数拆开并变成相应的ASCII码,并存入两个RAM单元中。设两个BCD码(一个字节)已存入在内部RAM的30H单元中,变换后的ASCII码分别存放在31H和32H单元,且高位BCD码的ASCII码的ASCII码存于31H单元。数字0~9的ASCII为30H~39H,完成拆字转换只需将一个字节的两个BCD码拆开存放在另两个单元的低4位,并在其高4位赋以0011即可。程序段清单如下:MOV R0,#32H ;将32H单元地址送R0MOV @R0,#00H ;32H单元
7、清0MOV A,30H ;将30H单元中的BCD送AXCHD A,@R0 ;将低位BCD码送32H单元ORL 32H,#30H ;完成低位BCD码转换SWAP A ;将高位BCD码交换到低位ORL A,#30H ;完成高位BCD码转换MOV 31H,A ;将高位BCD的ASCII码存入31H上述程序段完成了将一个字节的BCD码转换成两个ASCII码的功能。共需占用15个程序存储器字节单元,用9个机器周期执行完毕。【
8、例4.2】 双字节加法程序段。设被加数存放在内部矛盾RAM的31H、32H单元,低位字节在前,加数存入于34H、35H单元(低字节在前),结果和存放于31H、32H、33H单元中。其程序段清单如下;STRT:PUSH A ;将A内容进栈保护MOV R0,#31H ;将地址码送R0和R1
此文档下载收益归作者所有