汇编语言程序的结构_常用汇编语言程序

电子说

1.3w人已加入

描述

  汇编语言程序的结构

  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单元中的单字节无符号正整数按从小到大的次序重新排列(冒泡法)。

  汇编语言程序

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分