dsp戴明帧主编第5章汇编语言程序设计

dsp戴明帧主编第5章汇编语言程序设计

ID:36199723

大小:1.29 MB

页数:35页

时间:2019-05-07

dsp戴明帧主编第5章汇编语言程序设计_第1页
dsp戴明帧主编第5章汇编语言程序设计_第2页
dsp戴明帧主编第5章汇编语言程序设计_第3页
dsp戴明帧主编第5章汇编语言程序设计_第4页
dsp戴明帧主编第5章汇编语言程序设计_第5页
资源描述:

《dsp戴明帧主编第5章汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章汇编语言程序设计★概述★程序的控制与转移(重点)★堆栈的使用方法★加、减法和乘法运算(重点)★重复操作(重点)★数据块传送(重点)★双操作数乘法★长字运算和并行运算2概述汇编语言源程序格式:[标号][:]助记符[操作数][;注释]用空格或T隔开书写格式规则详见P140汇编语言程序以.asm为扩展名。一条语句占源程序的一行,汇编器每行最多读200个字符。因此,语句的执行部分必须限制在200个字符以内。3分类指令说明无条件分支转移B[D]用该指令指定的地址加载PCBACC[D]用累加器的低16位指定的地址加载PC条件分支转移BC[D]若满足指令给定条件,用该指令指定的地址加载PC5.1

2、程序的控制与转移4分类指令说明无条件调用CALL[D]将返回的地址压入堆栈,并用该指令指定的地址加载PCCALA[D]将返回的地址压入堆栈,用累加器A或B指定的地址加载PC条件调用CC[D]如果满足指令给定条件,将返回的地址压入堆栈,并用该指令指定的地址加载PC分类指令说明无条件返回RET[D]将堆栈顶部的返回地址加载到PC。条件返回RC[D]如果满足指令给定条件,将堆栈顶部的返回地址加载到PC。5.1程序的控制与转移5操作符号条件说明操作符号条件说明AEQA=0累加器A等于0AOVAOV=1累加器A溢出BEQB=0累加器B等于0BOVBOV=1累加器B溢出ANEQA≠0累加器A不等于0

3、ANOVAOV=0累加器A不溢出BNEQB≠0累加器B不等于0BNOVBOV=0累加器B不溢出ALTA<0累加器A小于0CC=1ALU进位位置1BLTB<0累加器B小于0NCC=0ALU进位位置0ALEQA≤0累加器A小于等于0TCTC=1测试/控制标志位置1BLEQB≤0累加器B小于等于0NTCTC=0测试/控制标志位置0AGTA>0累加器A大于0BIO低信号电平为低BGTB>0累加器B大于0NBIO高信号电平为高AGEQA≥0累加器A大于等于0UNC无无条件操作BGEQB≥0累加器B大于等于05.1程序的控制与转移第1组第2组A类B类A类B类C类EQ,NEQ,LTLEQ,GT,GEQ

4、OVNOVTCNTCCNCBIONBIO组间条件只能“或”第一组两类条件可以“与”/“或”,但累加器必须是同一个第二组三类条件可以各选一个条件“与”/“或”同组同类条件不能选择两个5.1程序的控制与转移例5-1条件分支转移RCTCCCsub,BNEQBCnew,AGT,AOV;TC=1返回,TC=0继续;B≠0,调用sub,B=0继续;A>0且溢出(“与”的关系),转至new,否则继续5.1程序的控制与转移BCnew,AGTBCnew,AOV;A>0,转至new,否则继续;A溢出,转至new,否则继续若例1中两个条件相“或”怎么办?8循环操作5.1程序的控制与转移.bssx,5;为变量x

5、分配5个存储单元.bssy,1;为变量y分配1个存储单元STM#x,AR1;AR1指向x的首地址STM#4,AR2;将操作数#4赋给AR2LD#0,A;将累加器A清0loop:ADD*AR1+,A;执行加法运算,结果存入累加器A中BANZloop,*AR2-;AR2不为0转移,重复执行5次STLA,@y;将结果(A的低16位)送往变量y存储单元.title"Ex534.asm";为汇编语言源文件取名.mmregs;定义存储器映像寄存器stack.usect"STACK",10h;为堆栈空间分配16个存储单元.bssx,5;为变量x分配5个存储单元.bssy,1;为变量y分配1个存储单元.

6、defstart;定义标号start.data;定义数据代码table:.word1,2,3,4,5;为标号table开始的5个存储单元赋值.text;定义文本代码段start:STM#0,SWWSR;SWWSR置0,不插等待周期STM#stack+10h,SP;设置堆栈指针CALLinit;调用子程序initSTM#x,AR1;将变量x的首地址赋给AR1STM#4,AR2;将操作数#4赋给AR2LD#0,A;将累加器A清0loop:ADD*AR1+,A;执行加法运算,结果存入累加器A中BANZloop,*AR2-;AR2不为0转移,重复执行5次STLA,@y;将结果(A的低16位)送往

7、变量y存储单元init:STM#x,AR1;AR1指向x的首地址RPT#4;重复执行下条指令5次MVPDtable,*AR1+;重复传递共5个数据RET;子程序返回.end;源程序结束利用CMPR指令进行比较操作指定的ARx寄存器(x=1~7)与AR0比较,测试条件成立TC置1。例:5-3比较操作后条件分支转移5.1程序的控制与转移STM#5,AR1;(AR1)=5STM#10,AR0;(AR0)=10loop:……MAR*AR1+

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

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

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