ch3 指令系统ccch 指令系统cc.pptVIP

  • 45
  • 0
  • 约 57页
  • 2017-03-18 发布于贵州
  • 举报
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 第三章:C54x指令系统__3.3 寻 址 方 式 6. 存储器映射寄存器寻址 含义:寻址SFR 或MMR; 用途:修改SFR的内容且不影响DP/SP的当前值; 地址产生方式: ① 采用直接寻址方式:高9位DMA置0,利用指令中的低7位地址 → MMR; ② 采用间接寻址方式:高9位DMA置0,按当前ARX中的低位地址→ MMR; 第三章:C54x指令系统__3.3 寻 址 方 式 说明: ① 这种寻址方式下,对MMR执行写操作开销最小; ② 仅有8条指令可进行MMR寻址操作: LDM MMR,dst ;将MMR内容装入累加器 MVDM dmad,MMR ;将数据存储器单元内容装入MMR MVMD MMR,dmad ;将MMR的内容录入数据存储器单元 MVMM MMRx,MMRy ;MMRx,MMRy只能是AR0~AR7 POPM MMR ;将SP指定单元内容给MMR,然后SP=SP+1 PSHM MMR ;将MMR内容给SP指定单元,然后SP=SP-1 STLM src,MMR ;将累加器的低16位给MMR STM #1k,MMR ;将一个立即数给MMR 第三章:C54x指令系统__3.3 寻 址 方 式 7. 堆栈寻址 含义:堆栈操作时,利用堆栈指针来寻址; 用途:堆栈内容的压入/弹出; 说明:a:特殊的存储区域(先进后出); b:堆栈指示(指针)SP(16位) 始终指向栈顶; c:C54X的堆栈是从高地址→低地址方向生长; 采用堆栈寻址指令(4条): PSHD 将数据存储器中的一个数压入堆栈; PSHM 将一个MMR中的值压入堆栈; POPD 从堆栈弹出一个数至数据存储单元; POPM 从堆栈弹出一个数至MMR。 第三章:C54x指令系统__3.4 指 令 系 统 TMS320C54X共有129条指令 按功能分为4大类(每大类又分为若干小类) : ? 算术运算指令; ? 逻辑运算指令; ? 程序控制指令; ? 存储和装入指令。 * 指令书写方式:助记符/表达式 第三章:C54x指令系统__3.4 指 令 系 统 1. 算术运算指令(79条分为6小类) ? 加法指令(ADD); ? 减法指令(SUB); ? 乘法指令(MPY); ? 乘加指令(MAC)和乘减指令(MAS); ? 双数/双精度指令(DADD、DSUB); ? 特殊操作指令(ABDST、SQDST)。 第三章:C54x指令系统__3.4 指 令 系 统 (1) 加法指令(13条)《表3-6》 说明:① 不同的加法指令用途不同; ADD:不带进位; ADD〈〈:不带进位、移位; ADDC:带进位; ADDM:专用于立即数; ADDS:无符号数; ② 小数表示:通常安排在最高位后。 第三章:C54x指令系统__3.4 指 令 系 统 加法指令举例 【例3.1】 ADD *AR3+, 14, A;将AR3所指的数据存储单元内容,左移14位与A相加,结果放A中,AR3加1。 第三章:C54x指令系统__3.4 指 令 系 统 (2) 减法指令(13条)《表3-7》 说明:①SUBS用于无符号数的减法运算; SUBB用于带借位的减法运算(如32位扩展精度的减法); SUBC为条件减法 . ②使用SUBC重复16次减法,就可以完成除法功能。 被除数-(除数15):够减:被除数左移,商+1; 不够减:被除数左移,商+0;

文档评论(0)

1亿VIP精品文档

相关文档