转自:http://blog.sina.com.cn/s/blog_4bf81a6e010005xc.html
1.定义段的伪指令
助记符和语法
说 明
.asect"section name",address
汇编至绝对命名(初始化)段(此段已过时)
.bss symbol, size in words [, blocking flag]
在.bss段(未被初始化数据段)保留size个字
.data
汇编至数据(初始化数据)段
.sect ”section name”
汇编至一个命名(已初始化)段
.text
汇编至.text可执行代码)段
symbol .usect “section name”, size in words,[blocking flag]
在1个命名段(未被初始化)保留.size个字
2.初始化常数(数据和存储器)的伪指令
助记符号和语法
说明
.bes size in bits
在当前段保留size位;标号指向保留间的末尾
.bfloat value
初始化一个32位,IEEE单精度浮点常数;不允许目标跨越业界.
.blong value1 [, ... , valuen ]
初始化一个或多个32位的整数;不允许目标跨越页边界
.byte value1 [, ... , valuen ]
在当前段初始化一个或多个连续字节
.field value [, size in bits]
初始化可变长度域
.float value
初始化一个32位,IEEE单精度浮点数
.int value1 [, ... , valuen ]
初始化1个或多个16位整数
.long value1 [, ... , valuen ]
初始化个或多个32位整数
.space size in bits
在半前段保留.size位;标号指向保留空间的末尾
.string ”string1” [, ... , ”stringn”]
初始化—个或多个.text串
.word value1 [, ... , valuen ]
初始化一个或多个16位整数
3.调整段程序计数器伪指令(SPC)
.align 把SPC调整到页边界
.even 把SPC调整到偶数字边界
4.控制输出列表格式化伪指令
.drlist
允许所有伪指令行的列出(默认)
.drnolist
禁止特定的伪指令行的列出
.fclist
允许列出度假条件代码块(默认)
.fcnolist
禁止列出虚假条件代码块
.length page length
设置源列表的页长度
.list
重启源列表
.mlist
允许列出宏列表和循环块(默认)
.mnolist
禁止列出宏列表和循环块
.nolist
停止源列表
.option {B|D|F|L|M|T|X}
选择输出列表选项
.page
在源列表中弹出页
.sslist
允许扩展替代符号列表
.ssnolist
禁止扩展替代符号列表(默认)
.tab size
设置列表符大小
.title ”string”
在列表页头部打印标题
.width page width
设置源列表的页宽度
.copy [”]filename[”]
从其他文件包含源语句
.def symbol1 [, ... , symboln ]
确认在当前模块定义并在其他模块中使用的一个或多个符号
.global symbol1 [, ... , symboln ]
标识一个或多个全局(外部)符号
.include [”]filename[”]
从其他文件包括源语句
.mlib [”]filename[”]
定义宏库
.ref symbol1 [, ... , symboln ]
确认一个或多个在当前模块中使用但在其他模块中定义的符号
5.条件汇编伪指令
.break [well-defined expression] 如果条件真结束.loop汇编,.break结构是可选项
.else 如果.if条件为假,汇编代码块.else结构是可选项
.elseif well-defined expression——如果if条件为假且.elseif条件为真,汇编代码块.else结构是可选项
.endif 结束.if代码块
.endloop 结束.1oop代码块
.if well-defined expression 如果条件为真则汇编代码块
.loop [well-defined expression] 开始代码块的重复汇编
6. 汇编符号
.asg [”] character string [”],substitution symbol—— 把字符串赋予替代的符号.
.endstruct 结束结构定义
.equ 使值和符号相等
.eval well-defined expression,substitution symbol 根据数字替代符号完成运算
.newblock 取消局部标号
.set 使数值和符号相等
.struct 开始结构定义
.tag 把结构属性赋予标号
7.其他伪指令
.emsg string 把用户定义的错误信息送到输出器件
.end 结束程序
.label symbol 在段中定义装载时可重定位标号
.mmregs 把存储器映射寄存器输入到符号表中
.mmsg string 把用户定义信息送到输出设备
.port 打开汇编器移植开关
.sblock ”section name” [,”section name”, . . . ] 为块指定段
.version generation #number 为块指定段
.wmsg string 将用户定义的警告信息送到输出设备