解决某一问题、实现某一功能的程序不是唯一的。程序有简有繁,占用的内存单元有多有少,执行的时间有长有短,因而编制的程序也不相同。但在进行汇编语言程序设计时,应始终把握3个原则:尽可能缩短程序长度;尽可能节省数据存放单元;尽可能加快程序的执行速度。通常采用以下几种方法实现。
(1)尽量采用模块化程序设计方法
模块化设计是程序设计中最常用的一种方法。所谓模块化设计即把一个完整的程序分成若干个功能相对独立的、较小的程序模块,对各个程序模块分别进行设计、编制和调试,最后把各个调试好的程序模块装配起来进行联调,最终成为一个有实用价值的程序。对于初学者来说,尽可能查找并借用经过检验、被证明切实有效的程序模块,或只需局部修改的程序模块,然后将这些程序模块有机地组合起来,得到所需要的程序,如果实在找不到,再自行设计。
(2)合理地绘制程序流程图
绘制流程图时应先粗后细,即只考虑逻辑结构和算法,不考虑或者少考虑具体指令。这样画流程图就可以集中精力考虑程序的结构,从根本上保证程序的合理性和可靠性。使用流程图直观明了,有利于查错和修改。因此,多花一些时间来设计程序流程图,就可以大大缩短源程序编辑调试的时间。
(3)少用无条件转移指令,尽量采用循环结构和子程序结构
少用无条件转移指令可以使程序的条理更加清晰,采用循环结构和子程序结构可以减小程序容量,节省内存。
(4)充分利用累加器(www.xing528.com)
累加器是数据传递的枢纽,大部分的汇编指令围绕着它进行。在调用子程序时也经常通过累加器传递参数,此时一般不把累加器压入堆栈。若需保护累加器的内容,应先把累加器的内容存入其他寄存器单元中,然后再调用子程序。
(5)精心设计主要程序段
对主要的程序段要下功夫精心设计,这样会收到事半功倍的效果。例如如果在一个重复执行100次的循环程序中多用了两条指令,或者每次循环执行时间多用了两个机器周期,则整个循环就要多执行200条指令或多执行200个机器周期,使整个程序运行速度大大降低。
(6)对于中断要注意保护和恢复现场
在中断处理程序中,进入中断要注意保护好现场(包括各相关寄存器及标志寄存器的内容),中断结束前要恢复现场。
一般来说,一个程序的执行时间越短,占用的内存单元越少,其质量也就越高,这就是程序设计中的“时间”和“空间”的概念。程序应该逻辑性强、层次分明、数据结构合理、便于阅读,同时还要保证程序在任何实际的工作条件下,都能正常运行。另外,在较复杂的程序设计中,必须充分考虑程序的可读性和可靠性。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。