数字信号处理技术2.5数据寻址方式.pptVIP

  • 13
  • 0
  • 约4.28千字
  • 约 30页
  • 2020-01-29 发布于辽宁
  • 举报
2.5 数据寻址方式 立即寻址:指令编码本身带有操作数; 绝对寻址:指令编码中含有操作数的地址; 累加器寻址:累加器的内容为操作数的地址; 直接寻址:使用指令中的7位偏移地址与数据页指针DP或 堆栈指针SP组成16位操作数地址; 间接寻址:通过辅助寄存器寻址; 存储器映像寄存器寻址:改变存储器映像寄存器而不影响DP或SP的值; 堆栈寻址:压入/弹出系统堆栈。 寻址用到的缩写语 Lk:16位长立即数; Dst:目的累加器; Src:源累加器; PA:16位立即数---I/O口地址; Pmad: 16位立即数---程序存储器地址; Dmad: 16位立即数---数据存储器地址; Xmem:16位双寻址操作数,用于双/单操作数指令。从DB总线读出; Ymem: 16位双寻址操作数,用于双操作数指令。从CB数据总线读出 。 Smem:16位单寻址操作数。 立即寻址: ﹡ 就是指令中包含有执行指令所需要的立即数(不用寻址)。在数字前面加 # 号,表示一个立即数; ﹡立即数可为3、5、8、9位短立即数,也可为16位长立即数;指令可为1 字或2字。 如:1)LD #80h,A 2)LD #7h,ARP 3)RPT #FFh 4)LD #1Fh,ASM;将5位立即数加载到ASM中 5)LD #1FFh,DP;将9位立即数加载到DP中 绝对寻址: ﹡指令中包含有所要寻址的存储单元的16位地址。 ﹡有四种绝对寻址:dmad寻址,pmad寻址, PA寻址, *(lk)寻址。 数据页分配情况: 地址 DP 27=128 0000-----007Fh 第0页 0080-----00FF 1 0100-----017F 2 0180-----01FF 3 0200-----027F 4 0280-----02FF 5 0300-----037F 6 0380-----03FF 7 ….. Dmad寻址: MVDK *AR3-,1000h MVDM 300h,BK MVKD 1000h,*+AR5 MVMD AR7,8000h Pmad寻址: MVDP DAT0,0FE00h MVPD 2000h,*AR7 MVPD 0FE00h,DAT5 PA寻址: PORTR 05,INDAT PORTW OUTDAT,5h *(lk)寻址: LD *(2000h),A STL A,*(200h) 累加器寻址: 利用累加器的内容作为地址来访问程序存储器中的数据 READA:从程序存储器中(A的内容为地址)读数据到数据存储器中 WRITA:将数据存储器中的数写到程序存储器中(A的内容为地址) 直接寻址: ﹡指令包含了数据地址的低7位,作为偏移地址与DP或SP中的基地址组合形成完整的16位数据地址。在DP和SP不变的情况下,可以直接访问128个地址。 ﹡使用SP还是DP由状态寄存器中的CPL位决定: CPL=0,使用DP的9位作为高9位与偏移地址相加 CPL=1,使用SP的16位与偏移地址相加 ﹡直接寻址指令编码格式: 15~8 7 6~0 opcode I=0 dam I=0,表示直接寻址 直接寻址的地址产生: ※ DP的取值范围:0~511(29=512),dma的取值范围从0~128, 所以,DP指向全部的512页之一,dma指向这一页的128个字 地址之一。 ※ SP指向全空间的任意一个地址,dma指向某页的特定地址。从 一个数据空间的任何一个基地址访问连续的128个字的块。 ※ 在偏移地址前加@来设定 举例: 1、LD #1234h,SP SSBX CPL ST #5678h,@30h; (1264h)=#5678h 2、LD #020h,DP RSBX CPL ST #1234h,@30h;(1030h)=#1234h 0 0010 0000 011 0000=1030 间接寻址: 使用辅助寄存器16位的地址,访问数据存储空间的任意单元 间接寻址类型 循环寻址 位倒序寻址 例:完成下列表达式的程序

文档评论(0)

1亿VIP精品文档

相关文档