ASM-51 宏汇编使用手册
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 10110011B
10进制 ****** 0,1,2...9 32768 缺省基数标记
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 </