您当前的位置:五五电子网电子知识单片机-工控设备源码-程序ASM-51宏汇编语言应用指南 正文
ASM-51宏汇编语言应用指南

ASM-51宏汇编语言应用指南

点击数:7823 次   录入时间:03-04 12:00:35   整理:http://www.55dianzi.com   源码-程序

        目标代码文件格式如下:

            :CC      aaaa      tt    dd  aa  dd    ss    <CR>

            计数器          数据类型      记录地址            回车

                    记录地址            代码的字节    和校验

        目标代码文件(.HEX)的每一行以一个冒号开始, 后面跟着的数字和符号分别表示十六进制数据的计数器(cc),记录第一个数据字节的16位地址(aaaa),目标记录的数据类型(tt),代码的实际字节(dd),计数器从第一个数据字节到最后的所有字节值累加和的相反数即和校验(ss)等等。

        (2)列表输出文件(.LST)

        列表输出文件也是个ASCII文件,它由源程序和目标代码文件组成, 可作为程序文档也可被打印。

        列表输出文件是分页显示,打印的,其长度由缺省值或伪指令$PAGE决定。 每页一开始指出汇编程序的类型,版本以及页号等。

        2、 伪操作指令

        汇编语言中的指示性语句(伪指令),不象指令性语句会产生目标代码, 它主要是用来“控制指挥“汇编程序如何把指令性语句翻译成目标代码。除本身伪指令申请分配一部分存贮空间作数据区和堆栈区外,不产生任何目标代码。

        按照它们的功能,大致分成七类: 符号定义伪操作,段定义伪操作,数据定义崐伪操作,列表伪操作,条件伪操作,宏处理伪操作以及其它操作等。如表--3所示。

     

        表--3        伪操作指令

    序号    分    类              伪  操  作  指  令

     1    符号定义伪操作      EQU,=,DATA,BYTE,WORD,BIT,SET

     2    段定义伪操作        ORG,END,CSEG,DSEG,XSEG,FSEG,ENDS

     3    数据定义伪操作      DB,DW,DS

     4    列表伪操作          $TITLE,$SUBTTL,$PAGE,$LIST,$NOLIST,$NOCODE

     5    条件伪操作          IF,ELSE,ENDIF

     6    宏处理伪操作        MACRO,ENDM

     7    其      它          ALTNAME,INCLUDE



www.55dianzi.com


2、1 符号定义伪操作

        符号定义伪操作及其格式:      符号名  符号定义名  常量或表达式

        其中符号定义名可以为EQU,=,DATA,BYTE,WORD,BIT,SET等。下面就是这些符

    号定义伪操作的用法及说明。如表--4所示。

     

        表--4        符号定义伪操作

    符号定义名          用          法                  说        明

      EQU        为常量,符号名等定义符号化常量名    符号名不能重名定义

      =          为常量,符号名等定义符号化常量名    符号名不能重名定义

      DATA        用来为一个字节类型的符号定值      符号名不能重名定义

      BYTE        用来为一个字节类型的符号定值      符号名不能重名定义

      WORD        用来为一个字类型的符号定值        符号名不能重名定义

                                                    8051中没有字操作

      BIT        用来定义一个字位类型

      SET        用来定义整数类型的符号名          符号名可重名定义

     

        DATA与BYTE的区别: DATA与BYTE是相类似的伪指令。 当程序运行到DATA伪指令定义的符号名时,该符号名将被显示;而由BYTE定义的符号名不被显示。

        2、2 段定义伪操作

        (1)  ORG  用于设置或改变程序计数器的值。

        其格式为:            ORG    常数或表达式

        例如:  ORG  0008H

                ORG  $+5

        其中$表示程序计数器的当前值。

        (2)  END  表示源代码结束。

        其格式为:            END  常数或表达式

        汇编程序遇到END语句即停止运行。 若程序中没有END,则在汇编源程序时显出错

        (3)  8051系列的处理器把内存结构分成五个段,代码段CSEG,数据段DSEG,外部段XSEG,功能段FSEG和位段BSEG等,其用法及区别如 表--5所示。

        在汇编以上各段所定义的符号时,系统根据符号所在不同段,赋与不同类型的字母,如表--6所示。

        2、3  数据定义伪操作

        数据定义伪操作格式:

            [ 标号: ]  数据定义名  [ 表达式1,表达式2,。。。 ]

        其中数据定义名可为DB,DW,DS等。

        如表--7所示,数据定义伪操作的含义及说明。

     

        表--5            段定义伪操作

      段                    用      法      及      区      别

    代码段(CSEG)  包含由处理器所执行的程序。段名可缺省。有目标代码生成。

    数据段(DESG)  由内部工作寄存器的处理器的RAM组成。用来对程序使用的数据地址赋符号名,大多以ORG,DATA,BYTE,WORD,EDNS等组成。    无目标码生成。

    外部段(XSEG)  由外部工作寄存区和RAM组成。使用方法同数据段。无目标码生成。

    功能段(FSEG)  由特殊寄存器位置组成(如:输入/输出部件,计时器,中断控制和连续的寄存器部件接口等)。无目标代码生成。

    位  段(BSEG)  由一些独立的位组成,可以用布尔函数实现。 该段地址被解释为位地址。无目标代码生成。

     

        表--6              程序分段的类型符号

      段          标号(Label) 字节型操作数(Byte)  字型操作数(Word)

    代码段CSEG      L                D                    W

    数据段DSEG      D                D                    W

    外部段XSEG      X                X                    E

    功能段FSEG      F                F                    G

上一页  [1] [2] [3] [4]  下一页


本文关键字:暂无联系方式源码-程序单片机-工控设备 - 源码-程序

《ASM-51宏汇编语言应用指南》相关文章>>>