c54x的汇编语言程序设计

c54x的汇编语言程序设计

ID:29738174

大小:471.50 KB

页数:15页

时间:2018-12-22

c54x的汇编语言程序设计_第1页
c54x的汇编语言程序设计_第2页
c54x的汇编语言程序设计_第3页
c54x的汇编语言程序设计_第4页
c54x的汇编语言程序设计_第5页
资源描述:

《c54x的汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第5章TMS320C54x汇编语言程序设计内容提要汇编语言程序设计是应用软件设计的基础,主要任务是利用汇编指令和伪指令编写源程序以完成指定的功能。本章将结合例子介绍TMS320C54x汇编语言源程序设计的基本方法,涉及的内容包括:汇编语言源程序的格式常数、字符串、符号和表达式的规定堆栈的使用方法分支、调用、返回控制程序加法、乘法、除法、长字和并行运算程序单指令、块重复、循环嵌套等重复操作程序数据块传送程序小数运算程序和浮点运算程序5.1概述TMS320C54x汇编语言源程序由源语句组成。这些语句可以

2、包含汇编语言指令、汇编伪指令和注释。程序的编写必须符合一定的格式,以便汇编器将源文件转换成机器语言的目标文件。本节将介绍汇编语言源程序的格式、各种常数、符号、字符串和表达式的规定。汇编语言程序以.asm为扩展名,可以用任意的编辑器编写源文件。一条语句占源程序的一行,长度可以是源文件编辑器格式允许的长度,但汇编器每行最多读200个字符。因此,语句的执行部分必须限制在200个字符以内。5.1.1汇编语言源程序格式1.源文件格式助记符指令源语句的每一行通常包含4个部分:标号区、助记符区、操作数区和注释区。

3、助记符指令语法格式:[标号][:]助记符[操作数][;注释]【例5.1.1】助记符指令源语句举例。语句的书写规则:①所有语句必须以标号、空格、星号或分号(*或;)开始;②标号是可选项,若使用标号,则标号必须从第一列开始;③所有包含有汇编伪指令的语句必须在一行完成指定;④各部分之间必须用空格分开,Tab字符与空格等效;⑤程序中注释是可选项。如果注释在第一列开始时,前面必须标上星号或分号,在其他列开始的注释前面必须以分号开头;⑥如果源程序很长,需要书写若干行,可以在前一行用反斜杠字符()结束,余下部分

4、接着在下一行继续书写。2.标号所有汇编指令和大多数汇编伪指令都可以选用标号,供本程序或其它程序调用。①标号必须从语句的第1列写起,其后的冒号“:”可任选;②标号为任选项,若不使用标号,则语句的第一列必须是空格、星号或分号;③标号是由字母、数字以及下划线和美元符号等组成,最多可达32个字符;④标号分大小写,且第一个字符不能是数字。在使用标号时,标号的值是段程序计数器SPC的当前值。例如,若使用.word伪指令初始化几个字,则标号将指到第一个字。【例5.1.2】标号格式举例。……9000000;假设汇编

5、了某个其他代码10000040000AStart:.word0Ah,3,70000410003└──标号,值为40h00004200073.助记符助记符用来表示指令所完成的操作,可以是汇编语言指令、汇编伪指令、宏伪指令。助记符指令:一般用大写,不能从第一列开始;汇编伪指令:用来为程序提供数据和控制汇编进程。以句号“.”开始,且用小写;宏伪指令:用来定义一段程序,以便宏调用来调用这段程序。以句号“.”开始,且用小写;宏调用:用来调用由宏伪指令定义的程序段。4.操作数操作数是指指令中参与操作的数值或汇编

6、伪指令定义的内容,紧跟在助记符的后面,由一个或多个空格分开。Å操作数之间必须用逗号“,”分隔;操作数可以是常数、符号或表达式;操作数中的常数、符号或表达式可用来作为地址、立即数或间接地址;(1)指令的操作数前缀Å汇编器允许指定的常数、符号或表达式作为地址、立即数或间接地址。作为操作数的前缀有三种情况:使用“#”符号作为操作数的前缀;使用“*”符号作为操作数的前缀;使用“@”符号作为操作数的前缀。①用“#”作前缀使用“#”号作为前缀,汇编器将操作数作为立即数处理。即使操作数是寄存器或地址,也将作为立即

7、数。如果操作数是地址,汇编器将把地址处理为一个数值,而不使用地址的内容。例如:Label:ADD#99,B操作数#99是一个立即数。②用“*”作前缀使用“*”符号作为前缀,汇编器将操作数作为间接地址,即把操作数的内容作为地址。例如:Label:LD*AR3,B操作数*AR3指定一个间接地址。该指令将引导汇编器找到寄存器AR3的内容作为地址,然后将该地址中的内容装入指定的累加器B中。③用“@”作前缀使用“@”15符号作为前缀,汇编器将操作数作为直接地址,即操作数由直接地址码赋值。例如:Label:LD

8、@x,A只要DP=0,将直接地址x中的内容装入指定的累加器A中。4.操作数(2)伪指令的立即数将“#”加在数值之前而构成的立即数方式,主要用在指令中。例如:SUB#18,B;操作数#18为立即数通常,立即数在伪指令中用的较少,但在某些情况下,立即数也可以作为伪指令的操作数。例如:.byte18立即数方式没有使用,但汇编器认为操作数是一个数值18(即立即数),用18数值初始化一个字节。5.注释用来说明指令功能的文字,便于用户阅读。Å注释可位于句首或句尾,位于句首时,以“

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。