- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
keil_C51伪指令
keil_C51伪指令
1、ALTNAME
功能: 这一伪指令用来自定义名字,以替换源程序中原来的保留字,替换的保留字均可等效地用于子程序中。
格式: ALTNAME 保留字 自定义名
注意: 自定义名与保留字之间首字符必须相同。
1、BIT
功能:指令用于将一个位地址赋给指定的符号名。
指令格式:符号名 BIT 位地址
经BIT 指令定义过的位符号名不能更改。
例如:X_ON BIT 60H ;定义一个绝对位地址
X_OFF BIT 24h.2 ;定义一个绝对位地址
2、BSEG
功能:绝对选择指令指令BSEG选择绝对位寻址数据段
指令格式如下:
BSEG [AT 绝对地址表达式]
3、CODE
功能:用于将程序存储器ROM 地址赋给指定的符号名。
指令格式:符号名 CODE 表达式
例如:RESET CODE 00H
4、CSEG
功能:绝对选择指令CSEG选择绝对代码段;
指令格式如下:
CSEG [AT 绝对地址表达式]
5、DATA(BYTE)
功能:指令用于将一个内部RAM 的地址赋给指定的符号名
指令格式:符号名 DATA 表达式
数值表达式的值应在0~255 之间,表达式必须是一个简单再定位表达式。
例如:REGBUF DATA(BYTE) 40H
PORT0 DATA(BYTE) 80H
DATA与BYTE的区别: DATA与BYTE是相类似的伪指令。 当程序运行到DATA伪指令定义的符号名时,该符号名将被显示;而由BYTE定义的符号名不被显示。
6、DB
功能:DB伪指令用于定义一个连续的存储区,给该存储区的存储单元赋值。该伪指令的参数即为存储单元的值,在表达式中对变元个数没有限制,只要此条伪指令能容纳在源程序的一行内,其格式为:
标号: DB 表达式
只要表达式不是字符串,每一表达式值都被赋给一个字节。计算表达式值时按16位处理,但其结果只取低8位,若多个表达式出现在一个DB伪指令中,它们必须以逗号分开。
表达式中有字符串时,以单引号“”作分隔符,每个字符占一个字节,字符串不加改变地被存在各字节中,并不将小写字母转换成大写字母。
例如:
DB 00H 01H 03H 46H
DB This is a demo!
7、DBIT
功能:在内部数据区的BIT 段以位为单位保留存储空间。
指令格式:[标号:] DBIT 数值表达式
其操作类似于DB。
8、DS
功能:DS为定义存储内容的伪指令,用它定义一个存储区,并用指定的参数填满该存储区。DS伪指令包含两个变元,第一个变元定义了存储区的长度的字节数,在汇编时,汇编程序将跳过这些单元把其它指令汇编在这些字节之后,因此在使用DS伪指令时第一个变元不可活力第二个变元表示在这些单元中真入什么值,第二个变元可以活力活力时这些字节将不处理。下例中0173处有一条DS 9,则空出9个字节,下一第指令被汇编到017C处;在017C处空出1BH个单元,在这些字节中被27H所填充。DS指令的格式如下:
标号: DS 表达式1,表达式2
表达式1定义了存储区的长度(以字节为单位)。这个变元不能省略。表达式2是可选择的,它的值低8位用以填入所定义的存储区。若省略则这部分存储单元不处理。例:
0000 04 INC A
0001 DS 9
000A 04 INC A
000B DS 1BH,27H
0026 04 INC A
9、DSEG
功能:绝对选择指令DSEG内部绝对数据段
指令格式如下:
DSEG [AT 绝对地址表达式]
10、DW
功能:DW为以字节为单元(十六位二进制)来给一个的存储区赋值,其格式为:
标号: DW 表达式
例如: 0000 3035 D46B DW 12341,54379,10110100101110B
11、END
功能:END语句标志源代码的结束,汇编程序遇到END语句即停止运行。若没有END语句,汇编将报错。END语句有一个参数,可以是数值0,也可以是表达式,其格式是:
标号: END 表达式
它的值就是程序的地址并且作为一个特殊的记录写入HEX文件。若这个表达式省略,HEX文件中其值就是0。
12、EQU(=)
存器名赋给一个指定符号名。
指令格式: 符号名 EQU(=)表达式
符号名 EQU(=) 寄存器名
经过EQU 指令赋值的符号可在程序的其它地方使用,以代替其赋值。
例如:MAX EQU 2000
则在程序的其它地方出现MAX,就用2000 代替。
13、EXTRN
EXTRN 是与PUBLIC 配套使用的,要调用其它模块的函数,就必须先在模块前声明。
指令格式:EXTRN 段类型(符号,符号······)
例如:EXTRN CODE (TONGXING,ZHU
文档评论(0)