教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教育文库 >

DSP电子课件汇编语言程序开发

来源:网络收集 时间:2024-05-18
导读: 汇编语言程序开发 第四章 汇编语言程序开发工具第一节 汇编语言程序的编写方法 第二节第三节 第四节 汇编语言程序的汇编COFF的一般概念 目标文件的链接 汇编语言程序开发 第一节 汇编语言程序的编写方法软件开发过程 汇编语言程序开发 汇编语言程序的编辑、

汇编语言程序开发

第四章 汇编语言程序开发工具第一节 汇编语言程序的编写方法

第二节第三节 第四节

汇编语言程序的汇编COFF的一般概念 目标文件的链接

汇编语言程序开发

第一节

汇编语言程序的编写方法软件开发过程

汇编语言程序开发

汇编语言程序的编辑、汇编和链接过程

汇编语言程序开发

1.汇编语言源程序的句法格式 要点 以.asm为扩展名 每一行由4个部分组成

格式[标号][:] [助记符] [操作数] [;注释]

[ ]中的 内容为可 选择部分

供本程序的其它部分或其它程序调 用。标号是任选项,标号后面可以 加也可以不加冒号“:”。

汇编语言程序开发

要 点

1.标号必须从第1列写起;2.标号最多可达32个字符,可以是A~Z, a~z,0~9,_,以及$,但标号的第1个 字符不能是数字; 3.引用标号时,标号的大小写必须一致; 4.标号的值就是段程序计数器SPC的值;

5.如果不用标号,则第一个字母必须为空 格、分号 或星号(*)。

汇编语言程序开发

[标号][:]

助记符

[操作数]

[;注释]

要点

可以是助记符指令、汇编指令、 宏指令和宏调用命令。 1.助记符指令,一般用大写; 2.汇编命令和宏命令,以句号 “.”开始,且为通常用小写。

建议

汇编语言程序开发

[标号][:]

助记符

[操作数]

[;注释]

要点

1.指令中的操作数或汇 编命令中定义的内容 2.操作数之间必须用逗 号“,”分开。 1.从分号“;”开始 2.可以放在指令或汇编命令后面, 也可以放在单独的一行或数行。

要点

汇编语言程序开发

2.汇编语言源程序的数据型式

二进制:如1110001b或1111001B; 八进制:226q或572Q; 十进制:1234或+1234或-1234(缺省型) 十六进制:0A40h或0A40H或0xA40 浮点数:1.623e-23(仅C语言程序中能 用,汇编程序不能用) 字符:‘D’ 字符串:“this is a string”

汇编语言程序开发

3.汇编命令 汇编命令是用来为程序提供数据和控制汇编 进程的。C54x汇编器共有64条汇编命令,根 据它们的功能,可以将汇编命令分成8类: (1)对各种段进行定义的命令。 (2)对常数(数据和存储器)进行初始化的 命令。 (3)调整SPC(段寄存器)的指令。 (4)对输出列表文件格式化的命令。 (5)引用其它文件的命令。 (6)控制条件汇编的命令。 (7)在汇编时定义符号的命令。 (8)执行其它功能的命令。

汇编语言程序开发

例4-1 编写y=a1*x1+a2*x2+a3*x3+a4*x4的汇编源程序 * * * * * * * * * * * * * * * * * * * * * * * ** * * * * * * * *example.asm y=a1*x1+a2*x2+a3*x3+a4*x4 .title “example.asm” .mmregs STACK .usect “STACK”, 10h .bss a,4 .bss x,4 .bss y,1 .def _c_int00 .data table: .word 1,2,3,4 .word 8,6,4,2 ;为汇编源程序取名 ;定义存储器映象寄存器 ;分配10个单元的堆栈空间 ;为系数a分配4个单元的空间 ;为变量x分配4个单元的空间 ;为结果y 分配1个单元的空间 ;定义标号_c_int00 ;定义数据代码段 ;在标号tab

le开始的8个单元中 ;为这8个单元赋初值

汇编语言程序开发

.text ;定义文本代码段 STM #0,SWWSR ;软件等待状态寄存器置0,不设等待 STM #STACK+10h,SP ;设置堆栈指针初值 STM #a,AR1 ;AR1 指向 a的地址 RPT #7 ;从程序存储器向数据存储器 MVPD table,*AR1+ ;重复传送 8个数据 CALL SUM ;调用 SUM 实现乘法累加和的子程序 end: B end ;循环等待 SUM:STM #a,AR3 ;将系数a的地址赋给AR3 STM #x,AR4 ;将变量x的地址赋给AR3 RPTZ A,#3 ;将A清0,并重复执行下条指令4次 MAC *AR3+,*AR4+,A ;执行乘法并累加,结果放在A中 STL A,@y ;将A的低字内容送结果单元y RET ;结束子程序 .end ;结束全部程序

汇编语言程序开发

4.宏定义和宏调用

‘C54汇编器支持宏指令语言.如果程序中有一段 程序需要执行多次,就可以把这一段程序定义为 宏指令。使用分为宏定义、宏调用和宏展开。宏指令与子程序的异同(1)两者都可以被多次调用,但是把子程序汇编成目标代码 的过程只进行一次,而在用到宏指令的每个地方都要对宏指令 中的语句逐条地进行汇编。 (2)在调用前,由于子程序不使用参数,故子程序所需要的 寄存器等都必须事先设置好;而对于宏指令来说,由于可以使 用参数,调用时只要直接代入参数就行了。 (3)宏指令可以在源程序的任何位置上定义,但必须在用到 它之前先定义好。宏定义可以嵌套。

汇编语言程序开发

宏定义的格式 macname .macro[parameter 1][,…,parameter n] 助记符指令与宏指令 [.mexit] .endm宏调用的格式 [label][:] macname [parameter1][,…,parametern]

汇编语言程序开发

例4-2 宏定义、宏调用和宏展开1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 1 1 1 1 * * * * add3 add3

ADDRP=P1+P2+P3

;说明宏功能

.macro p1,p2,p3,ADDRP ;定义宏 LD p1,A ADD p2,A ADD p3,A STL A,ADDRP .endm ;将参数1赋给A ;将参数2与A相加 ;将参数3与A相加 ;将结果A的低字存参数4 ;结束宏

.global abc,def,ghi,adr ;定义全局符号 000000 000000 000001 000002 000003 add3 1000! 0000! 0000! 8000! abc,def,ghi,adr ;调用宏 LD abc,A ;宏展开 ADD def,A ADD ghi,A STL A,adr

汇编语言程序开发

第二节

汇编语言程序的汇编汇编命令 助记符指令 宏命令

汇编语言源程序要素 汇编程序(汇编器)功能

将源程序汇编成可重定位的目标文件(.obj文件); 如果需要,可以生成一个列表文件(.lst文件); 将程序代码分段,每段的目标代码都有一个SPC管理; 定义和引用全局符号,可在列表后附加交叉引用表; 对条件程序块进行汇编; 支持宏功能,允许定义宏命令。

汇编语言程序开发

1.运行汇编程序 汇编器是名为asm500.exe的可执行程序 asm500 [input file[object file[listing file]]][-options] 例如 asm500 cjy.asm -l -s -x 源程序cjy.asm经汇编后将生成一个cjy. obj目标 文件、列表文件、符号表(在目标文件中)以及交 叉引用表(在列表文件中)。

DSP电子课件汇编语言程序开发.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/848097.html(转载请注明文章来源)
Copyright © 2020-2021 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)