DSP汇编语言程序的编写 (1)汇编语言源程序以asm为其扩展名。 (2)汇编语言源程序的每一行都可以由4个部分组成,句法如下: 标号|:助记符操作数b;注释 其中可用空格或TAB键隔开 标号一一供本程序的其他部分或其他程序调用。标号是任选项,标号后面可以加也可以不加 冒号“:”。标号必须从第一列写起,标号最多可达到32个字符(A~Z,a~z,0~9,, 以及$),但第1个字符不能以数字开头。引用标号时,标号的大小写必须一致。标号的值就 是SPC(段程序计数器)的值。如果不用标号,则第一个字符必须为空格、分号或星号(*) 助记符——助记符指令、汇编指令、宏指令和宏调用。作为助记符指令,一般用大写:汇编 命令和宏指令,以英文句号“.”开始,且为小写。汇编命令可以形成常数和变量,当用它 控制汇编和连接过程时,可以不占用存储空间。指令和汇编命令都不能写在第1列。 操作数——指令中的操作数或汇编命令中定义的内容。操作数之间必须用逗号“,”分开。 有的指令操作无操作数,如NOP、 RESET 注释——注释从分号“;”开始,可以放在指令或汇编命令的后面,也可以放在单独的一行 或数行。注释是任选项。如果注释从第1列开始,也可以用“*”表示注释 (3) 常用的汇编命令如表所示 汇编命令 举例 titl 紧随其后的是汇编语言程序正文. title“ example.asm” d 结束汇编命令 放在汇编语言程序的最后 经汇编后,紧随.text后的是可执行程 紧随其后的是汇编语言程序正文 序代码 紧随其后的是己初始化数据 有两种数据形式:.int和.word int用来设置一个或多个16位无 nt ,1n 符号整型量常数 table word 6.8. 4 word用来设置一个或多个16位符 表示在程序存储器标号为 号整型量常数 tabe开始的8个单元中存放初始化数 据1,2, bssx,4表示在数据存储器中空出4 bs bss为未初始化变量保留存储空间 个存储单元存放变量x1,x2,x3和x41.DSP 汇编语言程序的编写 (1) 汇编语言源程序以.asm 为其扩展名。 (2) 汇编语言源程序的每一行都可以由 4 个部分组成,句法如下: [标号] [:] 助记符 [操作数] [;注释] 其中可用空格或 TAB 键隔开 标号——供本程序的其他部分或其他程序调用。标号是任选项,标号后面可以加也可以不加 冒号“:”。标号必须从第一列写起,标号最多可达到 32 个字符(A~Z ,a~z ,0~9 ,_ , 以及$),但第 1 个字符不能以数字开头。引用标号时,标号的大小写必须一致。标号的值就 是 SPC(段程序计数器)的值。如果不用标号,则第一个字符必须为空格、分号或星号(*)。 助记符——助记符指令、汇编指令、宏指令和宏调用。作为助记符指令,一般用大写;汇编 命令和宏指令,以英文句号“.”开始,且为小写。汇编命令可以形成常数和变量,当用它 控制汇编和连接过程时,可以不占用存储空间。指令和汇编命令都不能写在第 1 列。 操作数——指令中的操作数或汇编命令中定义的内容。操作数之间必须用逗号“,”分开。 有的指令操作无操作数,如 NOP、RESET。 注释——注释从分号“;”开始,可以放在指令或汇编命令的后面,也可以放在单独的一行 或数行。注释是任选项。如果注释从第 1 列开始,也可以用“*”表示注释。 (3) 常用的汇编命令如表所示。 汇编命令 作用 举例 .title 紧随其后的是汇编语言程序正文 .title “example.asm” .end 结束汇编命令 放在汇编语言程序的最后 .text 紧随其后的是汇编语言程序正文 经汇编后,紧随.text 后的是可执行程 序代码 .data 紧随其后的是已初始化数据 有两种数据形式:.int 和.word .int .int 用来设置一个或多个 16 位无 符号整型量常数 .word .word 用来设置一个或多个16位符 号整型量常数 table: .word 1,2,3,4 .word 6,8,4,2 表 示 在 程 序 存 储 器 标 号 为 table 开始的 8 个单元中存放初始化数 据 1,2,3,4,6,8,4,2 .bss .bss 为未初始化变量保留存储空间 .bss x,4 表示在数据存储器中空出 4 个存储单元存放变量 x1,x2,x3 和 x4