Chinaunix首页 | 论坛 | 博客
  • 博客访问: 500026
  • 博文数量: 121
  • 博客积分: 4001
  • 博客等级: 上校
  • 技术积分: 1390
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-13 21:48
文章分类

全部博文(121)

文章存档

2011年(4)

2010年(11)

2009年(106)

我的朋友

分类:

2009-03-15 19:50:27

发贴心情
汇编伪指令注释:
1、DS ---预留存储区命令
格式:  〔标号:〕 DS   表达式值
其功能是从指定地址开始,定义一个存储区,以备源程序使用。
存储区预留的存储单元数由表达式的值决定。
TMP:   DS   1
从标号TEP地址处开始保留1个存储单元(字节)。

2、BIT---定义位命令
格式:   字符名称   BIT    位地址
其功能用于给字符名称定义位地址。
SPK   BIT   P3.7
经定义后,允许在指令中用SPK代替P3.7。

3、USING指令
USING指令通知汇编器使用8051的哪一个工作寄存器组。
格式:  USING  表达式  (值必须为0-3,默认值为0。)
USING  0
使用第0组工作寄存器。

4、SEGMENT指令
SEGMENT 指令用来声明一个再定位段和一个可选的再定位类型。
格式:  再定位段名  SEGMENT  段类型〔再定位类型〕
其中,“再定位段名”用于指明所声明的段。
“段类型”用于指定所声明的段将处的存储器地址空间。
可用的段类型有 CODE、XDATA、DATA、IDATA和BIT。
STACK_SEG  SEGMENT  IDATA
DATA_SEG SEGMENT DATA 

5、RSEG---再定位段选择指令
再定位段选择指令为RSEG,用于选择一个已在前面定义过的再定位段作为当前段。
格式:  RSEG  段名
段名必须是在前面已经声明过的再定位段。
DATA_SEG  SEGMENT  DATA   ;声明一个再定位DATA段
RSEG   DATA_SEG   ;选择前面声明的再定位DATA段作为当前段

6、绝对段选择指令
CSEG---绝对代码段
DSEG---内部绝对数据段
XSEG---外部绝对数据段
ISEG ---内部间接寻址数据段
BSEG---绝对位寻址数据段
格式:
CSEG  [AT 绝对地址表达式]
DSEG  [AT 绝对地址表达式]
XSEG  [AT 绝对地址表达式]
ISEG   [AT 绝对地址表达式]
BSEG  [AT 绝对地址表达式]
括号内是可选项,用来指定当前绝对段的基地址。
CSEG AT 0000H
AJMP  MAIN

7、ORG指令
ORG指令用来改变汇编器的计数器,从而设定一个新的程序起始地址。
格式:  ORG  表达式
表达式必须是绝对或简单再定位表达式。
ORG  0000H
AJMP  MAIN
设定 MAIN 程序的起始地址为 0000H。

8、END指令
END指令用来控制汇编结束。在每个汇编程序的最后一行必须有一条END指令,
并且END指令只能出现一次。

9、EQU指令
EQU 指令用于将一个数值或寄存器名赋给一个指定的符号名。
格式:  符号名   EQU   表达式  
或      符号名   EQU   寄存器名
表达式必须是一个简单再定位表达式。
用 EQU 指令赋值以后的字符名,可以用作数据地址、代码地址、位地址或者
直接当做一个立即数使用。
LIMIT       EQU    1200
COUNT    EQU     R5

10、DATA 指令
DATA 指令用于将一个内部 RAM 的地址赋给指定的符号名。
格式:  符号名    DATA    表达式
数值表达式的值在 0-255 之间,表达式必须是一个简单再定位表达式。
PORT1    DATA    40H

11、DB 指令
DB 指令以表达式的值的字节形式初始化代码空间。
格式: [标号:]    DB   表达式表
表达式中可包含符号、字符串、或表达式等项,各个项之间用逗号隔开,字符串应用引号括起来。
括号内的标号是可选项,如果使用了标号,则标号的值将是表达式表中第一字节的地址。
DB 指令必须位于 CODE 段之内,否则将会发生错误。
TABLE:
DB  0C0H, 0F9H, 0A4H
TABLE1:
DB  " WEINA "

阅读(1426) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~