DSP DSP汇编伪指令汇总

段定义伪指令:

把汇编程序的各个部分与适当的段(数据块或程序块)联系起来

段定义伪指令

.asect “段名” , 地址

汇编到一以绝对地址为起始的段中

作用类似于.sect,但多了绝对地址定位功能,此功能现常用更强大又灵活的命令文件来完成,故不常用。

.bss 符号,字数[,块标号]

未初始化变量段,用于为未初始化的变量在.bss 段内保留空间。

(定义变量存放空间)

.data

已初始化数据段,用于包含已初始化的数据。

(如表格数据等)

.sect “段名”

定义一个已经初始化命名的段,将代码和数据放入该段中。

(用户可自定义的已初始化段,提供更多灵活性)

.text

程序代码段,通常用于包含可执行程序代码。.text 是系统定义的默认段,如果不明确声明,代码就归属.text 段。

符号 .usect “段名”,字数[,块标号]

自定义一已命名(未初始化)的段中保留空间。

(用户可自定义的未初始化段,提供更多灵活性)

常数初始化伪指令(包括数据和地址常数):

在当前段中汇编数值

常数初始化伪指令(包括数据和地址常数)

.bes 位数

在当前段中保留指定数目的位数(标号指向所保留空间的尾部)

.bfloat 数值

初始化一个 32 位,IEEE 单精度的浮点常数;禁止有跨页的初始化对象。

.blong 数值 1[,…,数值 n]

初始化一个或多个 32 位整数;禁止有跨页的初始化对象。

.byte 数值 1[,…,数值 n]

初始化当前段中一个或多个连续字节

.field 数值 1[,…,数值 n]

初始化一个可变长度的字段

.float 数值

初始化一个 32 位,IEEE 单精度的浮点常数

.int 数值 1[,…,数值 n]

初始化一个或多个 16 位整数

.long 数值 1[,…,数值 n]

初始化一个或多个 32 位整数

.space 位数

在当前段中保留位数(标号指向所保留空间的头部)

.string “字符串 1”[,…,“字符串 n”]

初始化一个或多个文本字符串

.word 数值 1[,…,数值 n]

初始化一个或多个 16 位整数

对准段程序计数器的伪指令 :

使段程序计数器SPC指向预定的位置(例如页边界)

对准段程序计数器的伪指令 :

.align

在一页的边缘对准 SPC(段程序计数器)

.even

在一偶数的边缘对准 SPC

 

定义输出列表格式的伪指令 :

控制列表文件的格式

定义输出列表格式的伪指令 

.drlist

使所有伪指令行都被列出(缺省方式)

.drnolist

禁止某些伪指令行的列出

.fclist

允许列出错误的条件代码块(缺省方式)

.fcnolist

禁止列出错误的条件代码块

.length 页的长度

定义源文件列表的页长

.list

从头开始源文件的列表

.mlist

允许宏列表和循环块(缺省方式)

.mnolist

禁止宏列表和循环块

 

定义输出列表格式的伪指令 :

控制列表文件的格式

定义输出列表格式的伪指令 

.nolist

停止源文件列表

.option{B/D/F/L/M/T/X}

选择输出列表文件的参数

.page

在源文件列表中生成一页

.sslist

允许扩展子程序符号列表

.ssnolist

禁止扩展子程序符号列表(缺省方式)

.tab 大小

设置表的大小

.title “字符串”

在列表页头显示一个标题

.width 页宽

设置源文件列表的页宽

 

外部文件定位的指伪令 :

提供或者获取文件的信息

外部文件定位的指伪令 

.copy [“]文件名[”]

包含其他文件中的源语句

.def 符号 1[,…,符号 n]

标明一个或多个在当前模块中定义而在其他模块中要用到的符号

.global 符号 1[,…,符号 n]

标明一个或多个全局(外部)符号

.include [“]文件名[”]

包含其他文件中的源语句

.mlib [“]文件名[”]

定义宏定义库

.ref 符号 1[,…,符号 n]

标明一个或多个在另一模块中定义而在当前模块中要用到的符号

 

条件汇编伪指令:

条件汇编伪指令 

.break [确切定义的表达式]

如果条件满足,就结束.loop 汇编。.break 是可选可不选的

.else

如果.if 的条件不满足,则汇编代码块。.else 是可选可不选的

.elseif 确切定义的表达式

如果.if 的条件不满足且.elseif 的条件满足,则汇编代码块。

.elseif 是可选可不选的

.endif

结束.if 代码块

.endloop

结束.loop 代码块

.if 确切定义的表达式

如果条件满足,则汇编代码块。

.loop [确切定义的表达式]

开始一个代码块的重复汇编

 

汇编定时伪指令:

把自定义的符号等同于常数值或者字符串  

汇编定时伪指令

.asg[“]字符串[”],替换符号

用一字符串作为替换符号

.endstruct

结束结构定义

.equ

给符号赋值

.eval 确切定义的表达式,替换字符

在数字替换符号的基础上执行运算

.newblock

未定义的局部标号

.set

给符号赋值

.struct

开始结构定义

.tag

设置一标号的结构属性

 

其他伪指令: 

其他伪指令 

.emsg 字串

把用户定义的错误信息送到输出设备

.end

结束程序

.label 符号

定义一在段中可重定位的标号

.mmregs

将存储映射寄存器送入符号表中

.mmsg 字串

把用户定义的信息送到输出设备

.port

打开汇编器的端口开关

.sblock “段名”[,“段名”,…]

把多个段组成块

.version 版本号

设置处理器版本

.wmsg 字串

把用户定义的警告信息送到输出设备

     

 

猜你喜欢

转载自blog.csdn.net/LGM_1874/article/details/107812848
dsp