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

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

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

    ASM-51 宏汇编主要用来开发Inter8051系列单片机,它具有宏处理,数据处理,列表处理和条件处理等多种功能。源程序的编写完全采用 Inter标准助记符和行格式。在编写程序过程中,可借助于文本编辑(Windows的记事本)或文字处理软件Word等编辑, 经ASM-51汇编后生成列表输出文件(.LST)和目标代码文件(.HEX)。 此目标代码文件(.HEX)可直接用CZS-51或MedWin、Keil、Debug8051进行模拟/调试,或直接用于硬件仿真器上运行。当然,这也是要烧写到单片机ROM中的代码。

        1、 宏汇编语言的基本语法

        1、1  宏汇编的特点

        ASM-51宏汇编完全支持Inter助记符的汇编语言,它含有宏语句,英文大小写字母,变量名,标号等不受限制,有二,十,十六进制和串参数类型,有汇编控制指令和多层条件语句,程序逻辑分段, 还有模块化程序设计的连接功能,汇编速度快等特点。

        1、2 汇编处理过程

        (1) 用行编辑EDLIN或文字处理软件WS或全屏幕编辑软件PE等,编辑宏汇编

    语言源程序,它的文件扩展名为。ASM。

        (2) 用ASM-51宏汇编程序对上述源程序文件进行汇编,产生扩展名为.LST的列表输出文件和扩展名为.HEX的目标代码文件(.HEX)。 列表输出文件包含源程序语句所汇编成的代码,以及有关的地址,语句和符号表等。 目标代码文件包含源程序语句所汇编成的代码, 不包含任何符号信息或助记符。 进行模拟/调试,或直接用于硬件仿真器上运行。

        1、3 语句

        汇编语言可分为两类语句:指令性语句和指示性语句。

        (1)指令性语句

        这一类语句是指在汇编过程中能生成指令代码的语句(如 MOV ,DEC等)。其格式为:

        [标号:] [指令助记符] [操作数] [;注释]

        其中方括号[  ]中为选择项。下同。

        (2)指示性语句

        这一类语句即通常所说的伪指令,它指示汇编程序后面的指示性语句如何产生代码。

        ASM-51宏汇编完全支持Inter助记符的汇编语言,因此汇编程序的格式,指令完全与8051汇编语言一样,这里不再介绍它们的指令系统。

        1、4 常量与数值运算

        (1) 常量及其表示

        常量,就是在汇编时已经确定的值。 在汇编语言中,常量主要用作指令性语句中的直接操作数,也可用于存储器操作的组成部分(如位移量),或者为伪指令中的变量输初值。

      为便于程序设计,常量有多种表示形式:二、十、十六进制数和字符串等,它们的格式各不相同,并采用不同的基数标记加以区分。表--1列出其格式。 

      表--1

    数据形式    格  式    取值范围      例 如        备  注

     2进制      ********B      0,1        10011100B

    10进制      ******      0,1,2...9    45723      缺省基数标记

    16进制      ****H      0,1...E,F    0CDE3H      最前面一个字符应是0--9

    ASCII        '**'        ASCII        'AD'      只有DB命令中使用

     

        常量以数值形式直接写在汇编语言的语句中称为字面常量, 若预先为它定义一个符号名,然后在语句中用符号名来表示该常量称符号常量。使用符号常量的优点可改善程序的可读性,它的定义需要使用伪操作命令"EQU"或“=“。

        (2) 数值运算

        宏汇编中,所有参数值均被认为是整数,并以16位的形式存放,表示的范围是0---65535,所有算术操作均对整数以补码形式运算。

        (1) 基本运算

        汇编语言对常量允许进行算术运算,逻辑运算,分离运算等三种类型的运算。如表--2所示。 

     表--2                基本运算

      运  算    操  作      含  义          以ADD为例

        算        +          加操作        ADD  A,R1+36

                    -          减操作        ADD  A,R1-2EH

                    *          乘操作        ADD  A,R1*0E3H

        术        /          除操作        ADD  A,R1/23

                MOD          模除          ADD  A,R1 MOD 12

                SHR          右移          ADD  A,R1 SHR 3

                SHL          左移          ADD  A,R1 SHL 2

        逻      AND          与操作        ADD  A,R1 AND 10000101B

                OR          或操作        ADD  A,R1 OR 00110000B

                XOR          异或操作      ADD  A,R1 XOR 36H

        辑      NOT          非操作        ADD  A, NOT 45H

        分      HIGH        高字节分离    ADD  A, HIGH 05E2H

        离      LOW          低字节分离    ADD  A, LOW 77F0H

     

    说明:  R1为符号常量。

        (2) 综合运算

        综合运算规则 1: 计算表达式时,所有的运算全部从左到右顺序进行,遇到操作数就进行运算,不考虑优先关系,括号有助于视觉理解,但不改变表达式的?计算顺序。

        例如:    R1 SET NOT(0C5FH OR 000CH)

                  其结果应为 0F3ACH。

        综合运算规则 2: 当两个操作数之间没有参数相隔时, 第二个操作符优先于第一个操作符计算。

        例如:    R1 SET NOT 10011010B

                其结果应为 65H。

        1、5 程序分段

        8051系列的处理器的结构, 把内存分成五个独立的内存段, 即代码段(段名CSEG),数据段(段名DSEG), 外部段(段名XSEG), 功能段(段名FSEG)和位段(段名BSEG)等。 各个段在源程序中的次序可以任意,段的数目可以根据需要确定,原则上不受限制。程序中的所有段都必须用段名开头,段结束语句ENDS结束。

        1、6 源文件

        源文件是由汇编语言代码和汇编程序指令组成的 ASCII 字符文件, 扩展名为。ASM。源文件的每一语句行,最多有四个域。每一行的长度不超过80个字符, 且以“回车“键结束。

        1、7 列表输出文件和目标代码文件

        (1) 目标代码文件(.HEX)

        目标代码文件(.HEX)是ASCII文件,它只包含由各种程序语句所生成的代码,而不包含任何信息或助记符。 该文件是能够在处理器上运行的实际机器指令码。

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


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

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