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

下载本文档

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

文档简介

汇编语言初步目的:用汇编语言编写简单程序BIT/TI1第四讲汇编语言初步学习内容汇编代码的结构汇编程序的构成编写简单算法:y=mx+bBIT/TI2第四讲汇编语言初步一、汇编代码的构成label:||[cond]instruction.unitoperand;comment标号:代码或变量地址条件寄存器指令:助记符(mnemonic)

伪指令(directive)功能单元(可选)操作数:寄存器常量指针注释x

.int

10

MPY.M1A1,A3,A7||ADD.L1xA2,B2,A5

BIT/TI3第四讲汇编语言初步常用伪指令在C语言里long是40位,在汇编语言里long是32位注意BIT/TI4第四讲汇编语言初步二、汇编程序的构成

程序=数据结构+算法数据结构算法C程序的数据结构和算法实现BIT/TI5第四讲汇编语言初步汇编程序-数据结构用汇编语言声明数据结构::::BIT/TI6第四讲汇编语言初步汇编程序-算法用汇编语言编写算法::BIT/TI7第四讲汇编语言初步完整的汇编程序构成 .sect“myData”m: .int 5x: .int 10b: .int 2y: .int 0

.sect“myCode”start: LD.D1 *A0,A1

.

.

. ST.D1 A7,*A6

end: B end NOP 5BIT/TI8第四讲汇编语言初步搬移指令MV指令用于在通用寄存器之间传送数据。

MVC指令用于在通用寄存器与控制寄存器之间传送数据,此条指令只能使用.S2功能单元.

MVK类指令用于把16位常数送入通用寄存器。在C6000指令集内,只能往寄存器送16位常数,可选择MVK、MVKH或MVKL指令向寄存器的高16位送数。搬移指令共有3类:MV,MVC,MVK:BIT/TI9第四讲汇编语言初步三、用汇编指令编写y=mx+b1.数据取入寄存器:m,x,b存储器->寄存器1a.初始化数据指针1b.取数据2.乘法3.加法4.存储数据:y寄存器->存储器BIT/TI10第四讲汇编语言初步1a.指针初始化32位常量MVK .S1 m,A0 MVKH.S1 m,A0 ;&m->A0MVK .S1 x,A2 MVKH.S1 x,A2 ;&x->A2MVK .S1 b,A4MVKH.S1 b,A4 ;&b->A4BIT/TI11第四讲汇编语言初步指令MVKMVK/MVKL把一个16位常数放入寄存器MVK/MVKL-MoveaSignedConstantintoaRegisterandSign-Extend(~C64x)BIT/TI12第四讲汇编语言初步1b.取数据LDH.D1 *A0,A1 ;取mLDH.D1 *A2,A3 ;取xLDH.D1 *A4,A5 ;取bNOP 4BIT/TI13第四讲汇编语言初步LD/ST指令三种Load指令,对应不同长度的数据LDW 取32位字(word)LDH 取16位的半字(short)LDB 取8位字节(byte)对无符号数(字节、16位半字)LDBULDHU指令延迟:四个延迟间隙三个存储指令STWSTHSTB数据取入寄存器后进行符号扩展无符号扩展BIT/TI14第四讲汇编语言初步指令延迟间隙延迟间隙:多周期指令所需要插入的NOP指令个数BIT/TI15第四讲汇编语言初步2.乘法MPY.M1A1,A3,A7NOPBIT/TI16第四讲汇编语言初步乘法指令四种乘法指令MPY(U/US/SU) 16LSB×16LSBMPYH(U/US/SU) 16MSB×16MSBMPYH(U/S)L(U/S) 16MSB×16LSBMPYL(U/S)H(U/S) 16LSB×16MSB指令延迟槽:1两个乘法单元可以在一个周期内做两次乘法BIT/TI17第四讲汇编语言初步3.加法或或ADD.?应该使用哪个功能单元?ADD.? A5,A7,A7BIT/TI18第四讲汇编语言初步4.存储结果BIT/TI19第四讲汇编语言初步完整的y=mx+b汇编程序 .title"lab4.asm"/*定义数据结构*/ .sect"myData”m .short10x .short5b .short2y .short0/*算法*/ .sect"myCode"/*指针初始化*/init: mvk.s1m,A0 ;A0=&m mvkh.s1m,A0 mvk.s1x,A2 ;A2=&x mvkh.s1x,A2 mvk.s1b,A4 ;A4=&b mvkh.s1b,A4

mvk.s1y,A6 ;A6=&y mvkh.s1y,A6/*取数据*/ ldh.d1*A0,A1 ;A1=m ldh.d1*A2,A3 ;A3=x ldh.d1*A4,A5 ;A5=b nop4/*核心算法*/start: mpy.m1A1,A3,A7;A7=mx nop1 add.l1A5,A7,A7 ;A7=mx+b sth.d1A7,*A6

温馨提示

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

评论

0/150

提交评论