值。XT寄存器的低16位部分是TL寄存器。该寄存器能装载一个16位有符号数,能自动对该数进行符号扩展,然后将其送人32位XT寄存器。XT寄存器的高16位部分是T寄存器。该寄存器主要用来存储16位乘法操作之前的16位整数值。T寄存器也可以为一些移位操作设定移位值,在这种情况下,根据指令,只可以使用T寄存器的一部分。具体的操作说明看表6-19. 助记符 ADDUL P,loc32 MAXCUL P,loc32 MINCUL P,loc32 MOV PH,loc16 MOV PL,loc16 MOV loc16,P MOV T,loc16 MOV loc16,T MOV TL,#0 MOVA T,loc16 MOVH loc16,P MOVL P,loc16 MOVL loc16,P MOVL loc32,P MOVL P,loc32 MOVL XT,loc32 MOVL loc32,XT MOVP T,loc16 MOVS T,loc16 MOVX TL,loc16 SUBUL P,loc32 说明 无符号数[loc32]加到寄存器P 有条件地求无符号数[loc32]和P的最大值,存储到P 有条件地求无符号数[loc32]和P的最小值,存储到P [loc16]加载PH [loc16]加载PL 存储移位后的P寄存器的低16位 [loc16]加载到T 存储T寄存器到loc16 清除TL [loc16]加载到T寄存器并与先前的乘积相加 保存PH到loc16 [loc16]加载到P寄存器 寄存器P加载到[loc16] 寄存器P加载到[loc32] [loc32]加载到P寄存器 [loc32]加载到XT寄存器 存储寄存器XT到loc32 [loc16]加载到T寄存器并将寄存器的内容保存到ACC [loc16]加载到T寄存器并从ACC中减去P寄存器的内容 [loc16]符号扩展后加载到TL P减去[loc32] MOVDL XT,loc32 存储XT寄存器并加载新XT寄存器 表6-19 P或XT的操作的说明

6.对中断控制寄存器的操作(IFR、IER、DBGIER)

C28x有3个寄存器用于控制中断:中断标志寄存器(IFR)、中断使能寄存器(IER)和调试中断使能寄存器(DBGIER)。IFR包含的标志位用于可屏蔽中断(可以用软件进行屏蔽)。当通过硬件或软件设定了其中某位时,则相应的中断就被使能。可以用IER中的相应位屏蔽和使能中断。当DSP工作在实时仿真模式并且CPU被挂起时,DBGIER表明可以使用时间临近中断(如果被使能)。具体操作看表6-20。 助记符 AND IER,#16bit AND IFR,#16bit IACK #16bit 说明 按位进行“与”操作来禁止指定的CPU中断 按位进行“与”操作来清除挂起的CPU中断 中断确认 INTR INT1/.../INT14、NMI、EMUINT、 仿真硬件中断 DLOGINT、RTOSINT、 MOV IER,loc16 加载中断允许寄存器 MOV loc16,IER OR IER,#16bit OR IFR,#16bit TRAT #0...31 存储中断允许寄存器 按位相“或” 按位相“或” 软件陷阱 表6-20中断寄存器的操作说明

7.对状态寄存器(ST0、ST1)的操作 C28x有两个状态寄存器ST0和STl,其中包含着不同的标志位和控制位。这些寄存器可以和数据寄存器交换数据,也可以保存机器的状态和为子程序恢复状态。状态位根据流水线中位值的改变而改变,ST0的位在流水线的执行阶段中改变,STl的位在流水线的译码2阶段中改变。状态寄存器ST0的各位,所有这些位都可以在流水线执行的过程中进行更改。状态寄存器ST0的位分布如图6-4所示,ST1的位分布如图6-5所示。具体的寄存器操作说明看表6-21

D15~D10OVC/OVCUD9~D7PMD6VD5ND4ZD3CD2TCD1OVMD0SXM

图6-4状态寄存器ST0的位分布

D15~D13ARPD6EALLOW助记符 CLRC mode CLRC XF CLRC AMODE C28ADDR D12XFD5LOOPD11D10D9D8D7M0M1MAP保留OBJMODEAMODEIDLESTATD4SPAD3VMAPD2PAGE0说明 清除各状态位 清除状态位XF并输出信号 清除AMODE位 清除AMODE状态位 清除OBJMODE位 清除M0M1MAP位 清除OVC位 清除OVC位 禁止屏蔽中断(置INTM位) 允许可屏蔽中断(清除INTM) 令乘积移位方式位PM=AX(2:0) 用指定单元高6位数加载溢出计数器 存储溢出计数器 置各状态位 D1BGMD0INTM

图6-5状态寄存器ST1的位分布

CLRC OBJMODE C27MAP CLRC OVC ZAP OVC DINT EINT MOV PM,AX MOV OVC,loc16 MOV loc16,OVC SETC Mode MOVU OVC,loc16 用指定单元低6位数加载溢出计数器 MOVU loc16,OVC 存储溢出计数器到指定单元的低6位并且高10位清0 SETC XF SETC M0M1MAP C28MAP SETC OBJMODE SETC AMODE LPADDR SPM PM 置XF位并输出信号 置M0M1MAP位 置M0M1MAP位 置OBJMODE位 置AMODE位 置AMODE位 设置乘积移位方式 表6-21状态寄存器操作说明

8.对16*16乘法操作的说明(见表6-22 16*16乘法操作说明) 助记符 MAC P,loc16,0:pma MAC P,loc16,*XAR7/++ MAY P,T,loc16 MPY ACC,loc16,#16bit MPYA P,loc16,#16bit MPYA P,T,loc16 MPYB P,T,#8bit MPYS P,T,loc16 MPYB ACC,T,#8bit MPYU ACC,T,loc16 MPYU P,T,loc16 MPYXU P,T,loc16 MPYXU ACC,T,loc16 SQRA loc16 SQRS loc16 XMAC P,loc16,*(pma) XMACD P,loc16,*(pma) 相乘且累加 相乘且累加 16位*16位乘法 16位*16位乘法 16位*16位乘法并加上先前乘积 16位*16位乘法并加上先前乘积 有符号数与8位无符号立即数相乘 16位*16位乘法并做减法 与8位立即数相乘 16位*16位无符号乘法 16位*16位无符号乘法 有符号数与无符号数相乘 有符号数与无符号数相乘 求平方值并讲P寄存器的内容加到ACC 求平方值并且ACC做减法 与C2xLP兼容性的相乘且累加 带有数据移动的、与C2xLP兼容性的相乘且累加 说明 DMAC ACC:P,loc32,*XAR7/++ 双16*16乘法且累加 表6-22 16*16乘法操作说明

9.对32*32乘法操作的说明(见表6-23 32*32乘法操作说明) 助记符 IMPYAL P,XT,loc32 IMPYL P,XT,loc32 IMPYL ACC,XT,loc32 IMPYSL P,XT,loc32 IMPXUL P,XT,loc32 QMACL P,XT,loc32 QMPYAL P,XT,loc32 QMPYL P,XT,loc32 QMPYL ACC,XT,loc32 说明 有符号32位数乘法(低半段)且加上先前P的内容 有符号32位数*有符号32位数(低半段) 有符号32位数*有符号32位数(低半段) 有符号32位数乘法(低半段)且减去先前P的内容 有符号32位数*无符号32位数(低半段) 有符号32位数*有符号32位数且累加(高半段) 有符号32位数乘法(高半段)且加上先前P的内容 有符号32位数*有符号32位数(高半段) 有符号32位数*有符号32位数(高半段) IMACL P,loc32,*XAR7/++ 有符号32位数*有符号32位数且累加(低半段) QMPYSL P,XT,loc32 QMPXUL P,XT,loc32 有符号32位数乘法(高半段)且减去先前P的内容 有符号32位数*无符号32位数(高半段) 表6-23 32*32乘法操作说明

10.直接寄存器操作(见表6-24) 助记符 ADD loc16,#16bit AND loc16,#16bit CMP loc16,#16bit DEC loc16 DMOV loc16 INC loc16 MOV loc16,*(0:16bit) MOV loc16,16bit MOV loc16,#0 OR loc16,#16bit TBIT loc16,#bit TBIT loc16,T TCLR loc16,#bit TSET loc16,#bit XOR loc16,#16bit 说明 有符号16位立即数与[loc16]相加,结果保存到loc16 有符号16位立即数与[loc16]按位“与”,结果保存到loc16 有符号16位立即数与[loc16]比较 [loc16] 减1 [loc16-1]=[loc16] [loc16]加1 16位地址指向存储单元的内容加载到loc16 存储16位立即数到loc16 清除[loc16] [loc16]和16位立即数按位“或”,结果保存到loc16 测试[loc16]中的指定位 测试[loc16]中由T寄存器指定的内容 测试并清除[loc16]中的指定位 测试并置[loc16]中的指定位为1 [loc16]和16位立即数按位“异或” MOVB loc16,#8bit,COND 有条件存储8位立即数(零扩展)到loc16 表6-24对直接存储器操作的说明

11.对I/O空间操作的说明(看表6-25) 助记符 IN loc16,*(PA) OUT *(PA),loc16 说明 从端口输入数据 从端口输出数据 UOUT *(PA),loc16 想I/O端口输出不受保护的数据 表6-25 I/O空间操作的说明

12.程序空间的操作说明(看表6-26)

助记符 PREAD loc16,*XAR7 PWRITE *XAR7,loc16 XPREAD loc16,*AL XPWRITE *AL,loc16 说明 将XAR7指向的程序空间的16位数据放到loc16 将[loc16]放到XAR7指向的程序空间的一个存储单元 与C2xLP兼容性的读程序操作 与C2xLP兼容性的写程序操作 XPREAD loc16,*(pma) 与C2xLP兼容性的读程序操作 表6-26程序空间操作的说明

13.跳转/调用/返回操作(看表6-27) 助记符 B 16bitoff,COND 说明 有条件跳转,PC=PC+16位偏移地址(-32768~+32767)

DSP C2000汇编语言,DSPC2000汇编指令相关推荐

  1. 汇编语言—常见汇编指令汇总

    (1)mov指令 mov    寄存器 ,数据                如:mov ax ,8 mov   寄存器,寄存器              如:mov ax,bx mov   寄存器, ...

  2. std在汇编语言是什么指令_汇编语言的各种指令的用法

    展开全部 汇编语言指令集 汇编指令是汇编语言中使用的一些操作符(如62616964757a686964616fe58685e5aeb931333330363131mov,inc,loop)和助记符,还 ...

  3. [汇编语言]实验一:查看CPU和内存,用机器指令和汇编指令编程。

    实验一 实验任务: 查看CPU和内存,用机器指令和汇编指令编程. 实验内容: (1)实验代码: 开始执行命令: (2)实验代码: (3)实验代码: 找到了,日期为:01/01/92,这个是虚拟机dos ...

  4. 【汇编语言】理解8086CPU中,不同类型的寄存器和汇编指令规则的联系(会继续更新)

    0 前言 你是否因为汇编指令繁杂的规则而苦恼呢?作者本人也很烦,因为往往教材中只告诉我们规则,却不告诉我们为什么,没有原因就直接记忆,负担太大,后期灵活运用也增添阻力,因此,我经过自己的思考去为你解释 ...

  5. 汇编指令对应的机器码_汇编语言输出“welcome to you!”

    基础知识 汇编语言指令组成 汇编指令:机器码的助记符,有对应的机器码. 伪指令:没有对应的机器码,编译器执行,机器不执行. 其他符号:如+-*/有编译器识别,无对应机器码. CPU与外部器件交互需要 ...

  6. 汇编语言基础--汇编操作指令概述

    本文是接续"汇编语言基础--机器级数据存储",主要介绍汇编指令的构造.寻址和指令主要分类. 操作指令 指令的基本要素:       在"计算机处理器(CPU)基础&quo ...

  7. 汇编指令对应的机器码_二进制如何变成汇编语言

    计算机基础课第 26 期分享 转载请联系授权(微信ID:qianpangzi0206) 01 从硬件到软件 之前我们把重点放在硬件 - 组成计算机的物理组件,比如电,电路,寄存器,RAM,ALU,CP ...

  8. 汇编语言:实验一 查看CPU和内存,用汇编指令和机器指令编程

    Debug的使用: Debug 是DOS和Windows 实模式 (8086方式)的调试器,可以查看修改寄存器内容以及内存内容,机器码级别 Debug命令: 1)R命令:显示或修改寄存器内容 -r 显 ...

  9. 汇编语言之常见的汇编指令

    1.常见汇编指令 1. 传送指令(4个):mov.push.pop.lea. 2. 转移指令(8个):call.jmp.je.jne.jb.jnb.ja.jna. 3. 运算指令(7个):add.su ...

最新文章

  1. tryexceptelse可以嵌套
  2. Delphi之对象库(Object Repository)
  3. C++ 的关键字(保留字)完整介绍
  4. Kubernetes 容器编排
  5. 睿停车系统车场服务器,睿停车后台管理中心系统-用户手册-前台版本
  6. 关于数据库设计是否需要加入(建立)外键
  7. Vue中如何导入并读取Excel数据
  8. VSS使用手册(ZZ)
  9. C# Linq 左外联
  10. 微信会员卡实现门店信息化会员管理
  11. Android 自定义锁屏_三星Key Cafe 2021最新版下载-三星Key Cafe自定义键盘输入app v1.0.00.26...
  12. shell字符串截取掐头去尾操作
  13. 高企认定评分标准有哪些?
  14. 我对前端开发的粗浅认知
  15. 什么是精细化运营?微信会员系统如何建立以用户为中心的精细化运营?
  16. 手脚老冰凉 妙招来调养
  17. 你应该要懂的宇宙真相——《给忙碌者的天体物理学 》下篇
  18. 测试项目经理推荐的Java 并发测试神器
  19. zbar下条形码和二维码的识别与解码Ⅰ|2021SC@SDUSC
  20. 装柜设计软件MaxLoad Pro3 出售

热门文章

  1. 阿里云不做SaaS、要练好内功被集成,发布SaaS加速器
  2. AI助手智商测评Siri进步最大,无人驾驶打车服务已在美国试行
  3. 想要成为数据科学家?知道这11种机器学习算法吗?
  4. 如果还不懂如何使用 Consumer 接口,就来看这篇!
  5. 继续增援武汉,紫光及新华三集团对火神山和雷神山医院捐赠设备!
  6. 边缘计算的五个大坑,里面一定有你跳过的
  7. Spring精华问答 | Spring框架有哪些主要模块?
  8. 华为云发布新slogan,新年伊始加速奔跑
  9. 有问有答 | AWS使用精华问答,带您开启 AWS 上的云计算之旅!
  10. 电脑两边黑边怎么还原_Mac电脑录制的视频有黑边?如何解决