第3章TMS320c54X的数据寻址方式 31立即寻址 3.2绝对寻址 33累加器寻址 34直接寻址 3.5间接寻址 3.6存储器映象寄存器寻址 37堆栈寻址
第3章 TMS320C54x的数据寻址方式 ◼ 3.1 立即寻址 ◼ 3.2 绝对寻址 ◼ 3.3 累加器寻址 ◼ 3.4 直接寻址 ◼ 3.5 间接寻址 ◼ 3.6 存储器映象寄存器寻址 ◼ 3.7 堆栈寻址
TMS320c54XDSP提供以下7种基本数据寻址方式。 (1)立即数寻址 (2)绝对地址寻址 (3)累加器寻址 (4)直接寻址 (5)间接寻址 (6)存储器映射寄存器寻址 (7)堆栈寻址
TMS320C54x DSP提供以下7种基本数据寻址方式。 (1)立即数寻址 (2)绝对地址寻址 (3)累加器寻址 (4)直接寻址 (5)间接寻址 (6)存储器映射寄存器寻址 (7)堆栈寻址
表3-1寻址指令中用到的缩写符号及其含义 缩写符号含义 mem 16位单数据存储器操作数 Men 在双操作数指令及某些单操作数指令中所用的16位双数据存储 器操作数,从DB总线上读出 Mem 在双操作数指令中所用的16位双数据存储器操作数,从CB总线 上读出;在读同时并行写的指令中表示写操作数 dmad 16位立即数——数据存储器地址(0-65535) 16位立即数——程序存储器地址(0~65535) PA 16位立即数—O口地址(0~65535) src 源累加器(A或B) dst 目的累加器(A或B) 16位长立即数
表3-1 寻址指令中用到的缩写符号及其含义 缩写符号 含义 Smem 16位单数据存储器操作数 Xmem 在双操作数指令及某些单操作数指令中所用的16位双数据存储 器操作数,从DB总线上读出 Ymem 在双操作数指令中所用的16位双数据存储器操作数,从CB总线 上读出;在读同时并行写的指令中表示写操作数 dmad 16位立即数——数据存储器地址(0~65535) pmad 16位立即数——程序存储器地址(0~65535) PA 16位立即数——I/O口地址(0~65535) src 源累加器(A或B) dst 目的累加器(A或B) lk 16位长立即数
31立即寻址 在立即寻址方式中,指令中包括了立即操作数。 条指令中可对两种立即数编码,一种是短立即 数(3、5、8或9位),另一种是16位的长立即数。 短立即数指令编码为一个字长,16位立即数的指 令编码为两个字长。 立即数寻址指令中在数字或符号常数前面加一个 “#”号,来表示立即数。 返回首页
3.1 立即寻址 ◼ 在立即寻址方式中,指令中包括了立即操作数。 ◼ 一条指令中可对两种立即数编码,一种是短立即 数(3、5、8或9位),另一种是16位的长立即数。 短立即数指令编码为一个字长,16位立即数的指 令编码为两个字长。 ◼ 立即数寻址指令中在数字或符号常数前面加一个 “#”号,来表示立即数。 返回首页
32绝对寻址 3.2.1数据存储器(dmad)寻址 322程序存储器(pmad)寻址 323端口地址(PA)寻址 324长立即数*(Ik)寻址 返回首页
3.2 绝对寻址 ◼ 3.2.1 数据存储器(dmad)寻址 ◼ 3.2.2 程序存储器(pmad)寻址 ◼ 3.2.3 端口地址(PA)寻址 ◼ 3.2.4 长立即数*(lk)寻址 返回首页
321数据存储器(dmad)寻址 使用数据存储器寻址的指令有: MDK Smem, dmad MVdM dmad, MMR MKd dmad smem MMD MR dmad 数据存储器寻址使用符号(符号地址)或一个表 示16位地址的立即数来指明寻址的数据存储单元 的16位绝对地址。例如: MVRD SMAPLE, *AR5 返回本
3.2.1 数据存储器(dmad)寻址 ◼ 使用数据存储器寻址的指令有: MVDK Smem, dmad MVDM dmad, MMR MVKD dmad, Smem MVMD MMR, dmad ◼ 数据存储器寻址使用符号(符号地址)或一个表 示16位地址的立即数来指明寻址的数据存储单元 的16位绝对地址。例如: MVKD SMAPLE,*AR5; 返回本节
322程序存储器(pmad)寻址 使用程序存储器寻址的指令有: FIRS Xmem, Mem, pmad MACD Smem, pmad, src MACP Smem, pmad, src MVDP Smem, pmad MVPD pmad, Smem 程序存储器(pmad)寻址使用符号(符号地址)或一个 表示16位地址的立即数来给出程序空间的地址。例如, 把程序存储器中标号为 TABLE单元中的值复制到AR7所 指定的数据存储器中去,指令可写为: MVPD TABLE, *AR7 返回本
3.2.2 程序存储器(pmad)寻址 ◼ 使用程序存储器寻址的指令有: ◼ FIRS Xmem, Ymem, pmad MACD Smem, pmad, src ◼ MACP Smem, pmad, src MVDP Smem, pmad ◼ MVPD pmad, Smem ◼ 程序存储器(pmad)寻址使用符号(符号地址)或一个 表示16位地址的立即数来给出程序空间的地址。例如, 把程序存储器中标号为TABLE单元中的值复制到AR7所 指定的数据存储器中去,指令可写为: ◼ MVPD TABLE,*AR7; 返回本节
323端口地址(PA)寻址 使用端口地址的指令有: PORTR PA, Smem PORT Smem PA 端口地址(PA)寻址使用一个符号(符号地址) 或一个表示16位地址的立即数来给出外部Ⅳo口地 址。例如 PORTR E工Fo,*AR5 返回本
3.2.3 端口地址(PA)寻址 ◼ 使用端口地址的指令有: PORTR PA, Smem PORTW Smem , PA ◼ 端口地址(PA)寻址使用一个符号(符号地址) 或一个表示16位地址的立即数来给出外部I/O口地 址。例如: PORTR FIFO ,*AR5; 返回本节
324长立即数*(k)寻址 长立即数*(k)寻址用于所有支持单数据存储器 操作数(Smem)的指令。 长立即数*(Ik)寻址使用一个符号(符号地址) 或一个表示16位地址的立即数来指定数据存储空 间的一个地址。例如,把数据空间中地址为 BUFFER单元中的数据传送到累加器A,指令可 写为 工D*( BUFFER),A 返回本
3.2.4 长立即数*(lk)寻址 ◼ 长立即数*(lk)寻址用于所有支持单数据存储器 操作数(Smem)的指令。 ◼ 长立即数*(lk)寻址使用一个符号(符号地址) 或一个表示16位地址的立即数来指定数据存储空 间的一个地址。例如,把数据空间中地址为 BUFFER单元中的数据传送到累加器A,指令可 写为: LD *(BUFFER),A 返回本节
33累加器寻址 累加器寻址是用累加器中的数值作为一个地址读 写程序存储器。共有两条指令可以采用累加器寻 址: READA Smem WRT卫 a smer 返回首页
3.3 累加器寻址 ◼ 累加器寻址是用累加器中的数值作为一个地址读 写程序存储器。共有两条指令可以采用累加器寻 址: READA Smem WRITA Smem 返回首页