1.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 .sect 建立包含代码和数据的自定义段 .sect “vectors”定义向量表,紧随其后的是复位向量和中断向量,名为vectors .usect 为未初始化变量保留存储空间的自定义段 STACK .usect “STACK”,10h 在数据存储器中留出16个单元作为堆栈区,名为STACK (4) 汇编语言程序中的数据形...