DSP汇编语言初步_第1页
DSP汇编语言初步_第2页
DSP汇编语言初步_第3页
DSP汇编语言初步_第4页
DSP汇编语言初步_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、BIT/TI第四讲 汇编语言初步1汇编语言初步汇编语言初步目的:用汇编语言编写简单程序BIT/TI第四讲 汇编语言初步2学习内容 汇编代码的结构 汇编程序的构成 编写简单算法:y = mx+bBIT/TI第四讲 汇编语言初步3一、汇编代码的构成label: | cond instruction .unit operand ;comment标号:代码或变量地址条件寄存器条件寄存器指令: 助记符(mnemonic) 伪指令(directive)功能单元功能单元(可选可选)操作数: 寄存器 常量 指针注释x .int 10 MPY .M1 A1, A3, A7 | ADD .L1x A2, B2,

2、A5 BIT/TI第四讲 汇编语言初步4常用伪指令汇编指令说明.sect定义一个代码段或数据段.usect定义一个未初始化数据段.int.long.word定义和初始化32位变量.short.half定义和初始化16位变量.byte定义和初始化8位变量在在C语言里语言里long是是40位,在汇编语言里位,在汇编语言里long是是32位位注意BIT/TI第四讲 汇编语言初步5二、汇编程序的构成二、汇编程序的构成程序数据结构算法程序数据结构算法数据结构数据结构算法算法C程序的数据结构和算法实现BIT/TI第四讲 汇编语言初步6汇编程序数据结构汇编程序数据结构用汇编语言声明数据结构用汇编语言声明数据

3、结构:BIT/TI第四讲 汇编语言初步7汇编程序算法汇编程序算法用汇编语言编写算法用汇编语言编写算法:BIT/TI第四讲 汇编语言初步8完整的汇编程序构成.sect “myData”m:.int5x:.int10b:.int2y:.int0.sect “myCode”start:LD .D1 *A0,A1 . . .ST .D1 A7,*A6 end: B endNOP 5BIT/TI第四讲 汇编语言初步9搬移指令搬移指令MV指令用于在通用寄存器之间传送数据。指令用于在通用寄存器之间传送数据。MVC指令用于在通用寄存器与控制寄存器之指令用于在通用寄存器与控制寄存器之间传送数据,此条指令只能使用

4、间传送数据,此条指令只能使用.S2功能单元功能单元.MVK类指令用于把类指令用于把16位常数送入通用寄存器。位常数送入通用寄存器。在在C6000指令集内,只能往寄存器送指令集内,只能往寄存器送16位常数,位常数,可选择可选择MVK 、MVKH或或MVKL指令向寄存指令向寄存器的高器的高16位送数。位送数。搬移指令共有搬移指令共有3 3类类:MV, MVC, MVK:MV, MVC, MVK:BIT/TI第四讲 汇编语言初步10三、用汇编指令编写y=mx+b1.数据取入寄存器:m,x,b存储器寄存器1a. 初始化数据指针1b. 取数据2.乘法3.加法4.存储数据:y寄存器存储器BIT/TI第四讲

5、 汇编语言初步111a.指针初始化指针初始化32位常量位常量MVK .S1m, A0MVKH.S1m, A0; &mA0MVK .S1x, A2MVKH.S1x, A2; &xA2MVK .S1b, A4MVKH.S1b, A4; &bA4BIT/TI第四讲 汇编语言初步12指令MVKMVK/ MVKL把一个把一个16位常数放入寄存器位常数放入寄存器MVK/MVKL - Move a Signed Constant into a Register and Sign-Extend (C64x)BIT/TI第四讲 汇编语言初步131b.取数据LDH .D1*A0, A1;

6、取取mLDH .D1*A2, A3; 取取xLDH .D1*A4, A5; 取取bNOP4BIT/TI第四讲 汇编语言初步14LD/ST指令三种三种Load指令,对应不同长度的数据指令,对应不同长度的数据 LDW取取32位字位字(word) LDH取取16位的半字位的半字(short) LDB取取8位字节位字节(byte)对无符号数对无符号数(字节、字节、16位半字位半字) LDBU LDHU指令延迟:四个延迟间隙指令延迟:四个延迟间隙三个存储指令三个存储指令 STW STH STB数据取入寄存器后进行符号扩展无符号扩展BIT/TI第四讲 汇编语言初步15指令延迟间隙延迟间隙:多周期指令所需要

7、插入的NOP指令个数BIT/TI第四讲 汇编语言初步162.乘法MPY .M1 A1, A3, A7NOP BIT/TI第四讲 汇编语言初步17乘法指令 四种乘法指令四种乘法指令MPY(U/US/SU)16LSB16LSBMPYH(U/US/SU) 16MSB16MSBMPYH(U/S)L(U/S) 16MSB16LSBMPYL(U/S)H(U/S)16LSB16MSB 指令延迟槽:指令延迟槽:1 两个乘法单元可以在一个周期内做两次乘法两个乘法单元可以在一个周期内做两次乘法BIT/TI第四讲 汇编语言初步183.加法.L1.S1.D1或或ADD.? 应该使用哪个功能单元?应该使用哪个功能单元?

8、ADD .?A5, A7, A7BIT/TI第四讲 汇编语言初步194.存储结果BIT/TI第四讲 汇编语言初步20完整的y=mx+b汇编程序.title lab4.asm/*定义数据结构*/.sect myData”m .short 10 x.short 5b.short 2y.short 0/*算法*/.sect myCode/*指针初始化*/init:mvk .s1 m,A0;A0=&mmvkh .s1 m,A0mvk .s1 x,A2 ;A2=&xmvkh .s1 x,A2mvk .s1 b,A4;A4=&bmvkh .s1 b,A4mvk .s1 y,A6 ; A6=&ymvkh .s1 y,A6/*取数据*/ldh .d1 *A0,A1 ; A1= mldh .d1 *A2,A3 ; A3=xldh .d1 *A4,A5 ; A5=bnop 4/*核心算法*/start:mpy .m1 A1,A3,A7 ; A7=m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论