汇编语言可以为你提供按照自己的想法随意编写代码的自由,但是它却要求必须保证每一细节的正确性。在使用汇编语言来开发嵌入式项目之前,请阅读以下的技巧和方法。
理解系统的CPU体系
学习系统CPU文档。深入研究特别是指令和功能,比如硬件回路,位操作,缓冲转移,条件性执行,循环跳跃指令,以及非通用的体系操作。
查看地址模型。确认你一定知道ALU标志(零,进位,溢出等)以及它们如何被CPU体系所影响。
查看CPU是否包含特别的影响指令工作的模型。Intel x86的32位体系的实时受保护模式可以更改CPU的操作。其他体系也包含影响算法或者地址模型的特别模式。
理解汇编语言的语法
在汇编语言中很少有一致性,所以你必须学会如何定义基本的东西,如标签,数字,字符串,变量,以及注解。
查看你的汇编语言如何允许你将代码分成几个分隔的逻辑部分,这样就可以使用linker/loader将它们放置在CPU内存的不同区域。
始终如一的使用寄存器和标记
错误的出现一般都是在寄存器发生意外崩溃的时候。例如,一个函数可以损坏使用调用函数的寄存器的内容,或者改变一个使用中断服务程序的寄存器。
为了避免这些问题的产生,应该建立一些协定,这些协定包括:哪些寄存器用于传递参数和子程序的结果,哪些寄存器可以被子程序随意更改,哪些寄存器必须受到保护。
还有,可以考虑使用进位或零标记来显示从子程序中返回的状态,当一个错误出现时就执行一个额外的分支,这样的操作就显得很方便。