文档介绍:第三章DSP的软件结构
Introduction
汇编语言程序编写方法
TMS320C54x的寻址方式
TMS320C54x指令的表示方法
TMS320C54x的指令系统
汇编伪指令
汇编程序语法
TMS320的汇编程序包含汇编指令(伪指令,assembler directives)、汇编语言指令(assembly language instructions)、宏指令(macro directives)ments)。
汇编程序源程序格式
[label][:] mnemonic [operand list] [;comment]
[标号][:] 助记符[操作数] [;注释]
SYM1 .set 2 ;符号SYM1=2
Begin: LD #SYM1, AR1 ;将2装入AR1
汇编程序语法
所有的语句必须由语句标号、空格、*号或;号开头。
语句标号不是必须的,如果用,就必须在第一列。
语句中的各部分之间,由一个或多个空格分开。
注释不是必须的。注释可以从第一列的* 号或;号开头;如果不是从第一列开始,就必须用;号开头。
语句标号
由字母、数字、_、$组成,最多不超过32个字符,对大小写敏感,第一个字符不能是数字。后跟:。
助记符
助记符不允许从第一列开始,否则被认为是语句标号。
助记符可以是机器指令(如ABS,MPYU等)、伪指令(, .list, .set等)、宏指令(, .var, .mexit等)和宏调用。
操作数
操作数可以是常数、符号或表达式。当操作数多于一个时,用逗号分开。
汇编器允许指定常数、符号或表达式作为地址、立即数或间接地址。操作数前缀规定如下:
#前缀:表示操作数为立即数。如:
Label:ADD #123,B ;表示将操作数123(十进制)和累加器B中的内容相加
*前缀:操作数为间接地址。使用操作数的内容作为地址。如:
Label:LD *AR4,A ;操作数*AR4为间接地址,将AR4中的内容作为地址,然后将该地址的内容装入到指定的累加器A
常数
二进制常数(如01B或01b)
八进制常数(如10Q或10q)
十进制常数(如23)
十六进制常数(如78H或78h)
字符常数(如‘A’或‘b’)
字符串(如“sample program”)
符号
符号用于作标号、常数和替代符号。符号名可长达200个字符,可由A-Z、a-z、0-9、$、_组成,且第一个字符不能是数字,符号对大小写敏感。符号仅在定义它的汇编程序中有效,。
例:
K .set 1024