汇编语言程序的结构
1、顺序结构程序
顺序结构程序,是按程序顺序一条指令紧接一条指令执行,是所有程序设计中最基本的程序结构,是应用最普遍的程序结构,是实际编写程序的基础。
2、选择结构程序(分支程序)
选择结构程序,是指在程序执行过程中,依据条件选择执行不同的分支程序。为实现程序分支,编写选择结构程序时要合理选用具有判断功能的指令,如条件转移指令、比较转移指令和位转移指令等。
选择结构程序允许嵌套,从而形成多级选择程序结构。汇编语言不限制嵌套的层数,但过多的嵌套将使程序的结构变得复杂和臃肿,容易造成混乱。
3、循环结构程序
循环是指MCU反复地执行某种相同的操作。从本质上讲,循环只是选择结构程序中的一个特殊形式而已,但因为其重要性,因而独立作为一种程序结构。
在进入循环体之前,需给用于循环过程的工作单元设置初值,如循环控制计数初值、地址指针起始地址的设置、变量初值等,初始化部分是保证循环正确执行所必须的。循环体是循环结构的核心,完成实际的处理工作,在循环体中也可包括改变循环变量、改变地址指针等有关修改循环参数的部分。循环控制部分通过循环变量和结束条件控制循环结束,有时修改循环参数和判断结束条件由一条指令完成,如DJNZ。循环处理程序的结束条件不同,相应控制部分的实现方法也不一样,分循环计数控制和条件控制。
4、子程序结构
子程序是在主程序中通过LCALL、ACALL等指令调用的程序段,该程序段的第一条指令地址称子程序入口地址。子程序的最后一条指令必须是RET返回指令,即返回到主程序中调用子程序指令的下一条指令。
实际应用中,大多数子程序具有复杂程度不等的结构,主程序调用的子程序运行时有可能改变主程序中某些寄存器的内容,如PSW、A、B、工作寄存器等,这样就必须先用PUSH指令将相应寄存器的内容压入堆栈保护起来,返回时再用POP指令将压入堆栈的内容弹回到相应的寄存器中。有调用前在主程序保护和子程序开头保护两种,相应的在主程序恢复和子程序末尾恢复。
常用汇编语言程序
1、延时程序
延时程序是经常使用的程序,一般设计成具有通用性的循环结构子程序。在设计延时子程序时,延时的最小单位为机器周期,所以要注意晶振的频率。
2、码制转换程序
MCU内部进行数据计算和存储时,多采用二进制码;在数据的输入/输出中,多采用BCD码。编程中经常会遇到各种码制的转换问题。
十进制数常用BCD码表示,BCD码有两种形式:一种是一个字节放一位BCD码,适用于显示或输出;另一种是压缩的BCD码,一个字节放两个BCD码,节省存储单元。
单字节二进制(或16进制)数转换为BCD码的一般方法是把二进制数除以100,得到百位数,余数除以10的商和余数分别是十位数、个位数。
3、数据排序程序
经常要对数据进行排序,排序的方法有按从小到大的次序和按从大到小的次序排。示例为将放于片内RAM的50H~5AH单元中的单字节无符号正整数按从小到大的次序重新排列(冒泡法)。
-
汇编语言
+关注
关注
14文章
409浏览量
35701 -
汇编语言程序
+关注
关注
0文章
6浏览量
6377
发布评论请先 登录
相关推荐
评论