| 该部分大体讲解一下Ax51宏汇编器,Lx51连接/定位器及其应用。 什么是汇编器? 汇编器是一个软件工具,作用是简化编写计算机程序的任务。它可以将符号代码翻译为可执行的目标代码。该目标代码可以被编写进微处理器中,并被执行。汇编语言程序可直接被翻译为CPU指令,控制处理器完成运算。所以,要想有效地编写汇编程序,你应该既熟悉微处理器的架构,又熟悉汇编语言。 汇编语言的操作代码(助记符)很容易记忆(如MOV代表转移指令,ADD代表加法指令,等等)。对于指令操作数中的地址和数值,我们也可以把它们符号化。当我们为它们命名时,应尽量使它们的名称像指令助记符一样具有意义。例如,如果我们的程序必须处理一个日期数据,我们可以把它命名为DATE。如果我们的程序包含一组指令,它们完成一个定时循环(一组指令被重复执行,直到过去指定长度的时间为止),那么我们可以把这一程序组命名为TIMER_LOOP。 一个汇编程序由三部分组成:
一条机器指令是一条机器代码,它可以被机器执行。关于机器指令的详细论述,请参考8051或其派生微处理器的硬件手册。附录A提供了一个机器指令的总览。 汇编器伪指令是用来定义程序结构和符号的,并生成不可执行的代码(数据、信息,等)。参见“第4章 汇编器伪指令”对所有汇编器伪指令的详细讨论。 汇编器控制指令设定汇编模式,并控制汇编流向。“第7章 调用和控制指令”对所有的汇编器伪指令作了详细论述。 模块化编程 许多程序太长或太复杂,很难写在单一单元中。如果把代码分为较小的功能单元,将大大简化编程过程。模块化程序一般比单块程序容易编写、调试和修改。 模块化编程方法类似于包含大量电路的硬件设计。器件或程序在逻辑上被分为多个“黑箱子”,这些黑箱子都有指定的输入和输出。只要把各个单元之间的接口定义好,各个单元的详细设计就可以独立进行了。 模块化编程的优点如下: 有效率的程序开发:使用模块化方法可以更快地开发程序,因为较小的子程序比大程序更容易理解、设计和测试。定义好模块的输入和输出之后,程序员可以给模块提供需要的输入,通过检测输出来判断模块的正确性。然后由连接器把分立的模块连接、定位,生成一个单一的绝对地址的可执行的程序模块。最后,测试整个模块。 子程序可以重用:为一个程序编写的代码经常可以用于其它的程序。在模块化编程中,可以把这些部分保存起来,以备将来使用。因为代码可以被重定位,所以保存的模块可以连接到满足其输入和输出要求的任意程序中。而在单块程序编程中,这样的部分深埋在整个程序中,不易被其它的程序使用。 便于调试和修改:模块化程序一般比单块程序易于调试。因为精心定义了程序的模块接口,很容易把问题定位到特定的模块。一旦找到了有问题的模块,更正问题就相当容易了。模块化编程可以简化程序修改的工作。我们可以很有信心地把新的或调试过的模块连接到一个已有的程序,而不用更改程序的其余部分。 下图是为x51开发程序的总体步骤。
|

