微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机汇编伪指令

51单片机汇编伪指令

时间:11-22 来源:互联网 点击:

号······)

例如:EXTRN CODE (TONGXING,ZHUANHUAN)

调用外部TONGXING和ZHUANHUAN 程序。

14、IDATA

IDATA 指令用于将一个间接寻址的内部RAM 地址赋给指定的符号名。

指令格式:符号名 IDATA 表达式

例如:FULLER IDATA 60H
15、IF

条件伪操作格式:

IF表达式

[程序块1]

[ELSE]

[程序块2]

ENDIF

当IF指令中的表达式为真时,被汇编的代码段是程序块1;当IF指令中的表达式为假时,被汇编的代码段是

程序块2。在一个条件结构中,仅有一个代码段被汇编,其它的则被忽略。

16、INCLUDE

功能:利用此伪指令可将一个源文件插入到当前源文件中一起汇编,最终成为一个完整的源程序。

格式:INCLUDE[驱动器名:][路径名]文件名

注意:1、文件名中若没有扩展名,则系统默认是。ASM(该文件必须是能打开的)。

2、被插入的源程序中不能包含END伪指令,否则汇编会停止运行。被链接文件的每一行,

在程序清单中以“I“开头。

3、链接伪指令可有8级嵌套,若要求嵌套的多,则要修改DOS中的CONFIG。SYS文件的FILES参 数。

17、ISEG

功能:绝对选择指令ISEG内部间接寻址绝对数据段idata

指令格式如下:ISEG [AT 绝对地址表达式]
18、MACRO

宏指令格式

[宏指令名]MACRO[形式参数,。。。]

代码段

ENDM

宏调用格式

[宏指令名][实在参数,。。。]
19、LIST
它们的格式为:

$LIST
功能:LIST伪指令使汇编时主生程序清单,但即使不用该指令,汇编也会自动产生清单。但如果使用了NOLIST伪指令后需要继续主生清单则必须使用LIST伪指令。
20、NAME

功能:用来给当前模块命名。

指令格式:NAME 模块名

例如:NAME TIMER

定义一个模块名为TIMER 的模块。
21、NOCODE

其格式为$NOCODE

NOCODE伪指令使得在汇编时,条件汇编程序结构中那些真值为假的条件不产生清单。有关条件汇编结构在下

面介绍。如果没有这条伪指令,汇编将主生所有条件下的清单,不论其真值是否为真。但是假的条件,不产

生目标码。而NOCODE伪指令使汇编清单中只列出那些由汇编程序用到的部分,因此,当使用NOCODE伪指令

时,程序清单与源程序并非逐行对应。
22、NOLIST

它们的格式为:
$NOLIST

功能:NOLIST伪指令使汇编时不产生清单,所有包含此伪指令及在这条伪指令之后的语句都不进入列表文

件。当不需要任何列表文件,并且不需要显示程序清单时,可以在启动汇编时不加.L附加项,且在源代码

的第一行加上NOLIST指令。使用NOLIST伪指令与附加项/L不同之处是NOLIST伪指令可加在源程序中,与LIST

伪指令配合使用,使源程序中某些部分不产生清单。而不加附加项/L则不产生任何程序清单。不过,不管有

无$NOLIST伪指令,程序在汇编时检查到的错误都将在屏幕上显示出错的源代码行及错误信息
23、PAGE
功能:PAGE伪指令用于形成新的一中定义一面的行数。其格式为:$PAGE 表达式
若表达式缺省则开始新的一页,若有表达式,则每页行数重新定义。汇编开始时页长为66行。一页中除出页外,剩余55行用于打印源程序,这一格式适用于标准打印纸。如果变元值小于66,页内可打印的源代码行将相应减少。页长最小值为12。若小于12时,每页内除页上只打印一行源程序。页长变元是16位字节,因而每页最长可定义到65535行,这时分页打印变为连续打印,在屏幕显示程序清单或在卷筒纸上打印程序清单时,常常使用连续打印,如果在启动汇编时用/N选项,页长就是65535。
24、PUBLIC

功能:声明可被其它模块使用的公共函数名。

指令格式:PUBLIC 符号 [,符号,符号[,······]]

PUBLIC 后可跟多个函数名,用逗号格开。每个函数名都必须是在模块内定义过的。

例如:PUBLIC INTER,_OUTER

其中_OUTER 可供C 调用。
25、RSEG

功能:再定位段选择指令为RSEG,用于选择一个已在前面定义过的再定义段作为当前段,

指令格式:RSEG 段名

段名必须是在前面声明过的再定位段。

例如:

DATAS SEGMENT DATA :声明一个再定位DATA 段

CODES SEGMENT CODE ;声明一个再定位CODE 段

BSEG AT 60H RSEG CODES ;选择前面声明的再定位CODE 段作为当前段。


绝对段选择指令
CSEG---绝对代码段
DSEG---内部绝对数据段
XSEG---外部绝对数据段
ISEG ---内部间接寻址数据段
BSEG---绝对位寻址数据段
格式:
CSEG[AT 绝对地址表达式]
DSEG[AT 绝对地址表达式]
XSEG[AT 绝对地址表达式]
ISEG [AT 绝对地址表达式]
BSEG[AT 绝对地址表达式]


括号内是可选项,用来指定当前绝对段的基地址。 CSEG AT 0000H AJMPMAIN

26、SEGMENT

功能:SEGMENT 指令用来声明一个再

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top