文档详情

DSP 课件 第六章 汇编语言.ppt

发布:2017-12-01约3.08万字共75页下载文档
文本预览下载声明
第6章 汇编语言 6.1 汇编语言格式 TMS320汇编语言源程序由源语句组成。源语句包括汇编指令、伪指令、宏指令。 源语句的一般格式为 [标号][:] 助记符 [操作数1,操作数2,…] [;注释] 标号域 助记符域 操作数域 注释域 注:“[ ]”表示该项可缺省。 例6.1 SYM1 .set 2 ;符号SYM1等于2 BEGIN: LDP SYM1 ;将2装入DP .word 016h ;初始化一个字为16h 1、标号域 标号包含1~32个字母、数字、字符(A~Z,a~2,0~9,—及$),可识别符号的大小写,且规定第一个字符不能是数字。 标号可以后随冒号(:),冒号并不作为标号的一部分被处理。 如果不使用标号,则第一个字必须是空格或分号或星号。 当选用标号时,其值是段程序计数器(SPC)的当前值,标号指向与它们相关联的语句。例如,如果用.word伪指令初始化几个字,那么标号将指向第一个字。 行号 SPC 目标代码 源语句 10 0040 000A START:.word 0Ah,3,7 0041 0003 0042 0007 标号也可以单独出现在行中,此时它指向下一行中的指令。如: 3 0050 HERE: 4 0050 0003 .word 3 ;此行SPC无增量 2、助记符域 助记符是源语句中的关键部分,不能缺省,它表示本指令的操作类型。助记符不能从源语句的第一列开始,如果从第一列开始,将被解释为标号。 助记符包括下列操作码之一: (1)汇编指令(例如ABS,MPY,SPH); (2)伪指令(例如.data,.fist,.set); (3)宏指令(例如.macro,.mexit)。 3、操作数域 操作数域是跟在助记符域后面的操作数列表,可缺省。如果多于两个操作数,则只用逗号隔开。操作数可以是常数、符号和表达式。 6、1、1 常数、字符串和符号 (1)二进制整数:以字母B(或b)结尾,由二进制数字(0,1)组成的数字串。数字串长度长度最多可达16个二进制数字,。 (2)八进制整数:以字母Q(或q)结尾,由八进制数字(0~7)组成的数字串。数字串长度最多可达6个八进制数字,如100000Q。 (3)十进制整数:以字母D(或d)结尾(也可缺省),十进制整数由0~9数字组成,范围从-32678~65535,如-30000。 (4)十六进制整数:以字母H(或h)结尾,由十六进制数字0~9和A~F(或a~f)组成的数字串。数字串长度最多可达4个十六进制数字。 (5)字符常数:包含在单引号中的一个或两个字符的串。每个字符表示为8位ASCII码,如‘a’定义字符a,并在内部用61H表示。 (6)汇编时间常数:用.set伪指令对符号进行赋值,赋值的内容不同,汇编时符号所表达的含义也就不同。 例如,用.set向符号赋值,则符号成为常数,为了在表达式中使用此常数,赋予它的值必须是绝对值。 SHIFT .set 3 LACC *,SHIFT,AR1 也可用.set将寄存器名赋予符号常数,此时符号与寄存器为同一词,如: AUXR1 .set AR1 LACC *,0,AUXR1 2、字符串 字符串是包含在双引号内的一串字符,双引号是字符串的一部分。串的最大长度是变化的,并由每一个使用字符串的伪指令定义。字符在内部被表示为8位ASCII字符,如:“sample program”定义13个字符的字符串sample program。 字符串用于下列场合: (1).copy “filename”中的文件名; (2).sect “section name”中的段名; (3).byte “chasing”中数据初始化伪指令;
显示全部
相似文档