DSP寻址方式
合集下载
DSP第四章 TMS320C20X系列的寻址方式及汇编指令

LT *0+
执行指令前: ARP=1, (AR1)=100H,(AR0)=3 执行操作: 用AR1所指的数据存储器100H内 容装载暂时寄存器; 执行指令后: ARP=1,(AR1)=103H
⑤减去索引量
方法
举例
指令使用AR内容作
LT *0-
为数据存储器地址,
执行指令后AR内容 执行指令前:
自动减去ARO的内容。 ARP=1, (AR1)=100H,(AR0)=3
执行操作:
用AR1所指的数据存储器100H内
容装载暂时寄存器;
执行指令后:
ARP=1,(AR1)=FEH
⑥加上索引量,反向进位
方法
举例
指令使用AR内容作为 数据存储器地址,执 行指令后AR内容自动 加上AR0的内容,该 加法采用反向进位方 法。 注:主要用于FFT算 法
LT *BR0+
把AR0加到辅助寄存器中时,地址以位倒序的方 式产生,即进位是从左向右,而不是从右向左进位。
LTP ind [,ARn]
MAC MAC pma , dma
乘且累加
MAC pma, ind [ , ARn]
MACD MACD pma, dma
乘且累加,并将被寻址数据移至下一单元
MACD pma, ind [, ARn]
MPY MPY dma
MPY ind [, ARn]
MPYA/MPYS
累加前次乘积,再将TREG与被寻址数相乘
PAC PAC
PREG转入累加器ACC
SPH
存储PREG高16位,直接或间接寻址
SPL
存储PREG低16位,直接或间接寻址
例1:MAC
0FF00H,02H ;DP=6,地址300H~37FH,PM=0, CNF=1
第三章:DSP软件体系_寻址方式

DSP技术及其应用 26
TMS320C54X-DSP
循环寻址:
许多算法,如卷积,相关和FIR滤波等,都需要在存 储器中实现一个循环缓冲器。在这些算法中,一个循环缓 冲器就是一个包含了最近的数据的滑动窗口。当新的数据 来到时,缓冲器就会覆盖最早的数据。循环缓冲器实现的 关键是循环寻址的实现。‘C54x间接寻址中提供了循环寻 址的方式,以%表示。 循环寻址图示
*ARx-0%/*ARx+0% : – 访问后,从ARx中以循环寻址的方 式减 去/加上AR0 *ARx(lk): – ARx和16-bit的长偏移(lk) 的和用来作为数据存储器地址。 ARx本身不被修改 *+ARx(lk): – 在寻址之前,把一个带符号的16-bit的长偏移(lk)加 到ARx中,然后用新的ARx的值作为数据存储器的地址 *+ARx(lk)%: – 在寻址之前,把一个带符号的16-bit的长偏移以循环寻址 的方式加到ARx中,然后再用新的ARx的值作为数据存 储器的地址
*ARx-0B/ *ARx+0B :
– 访问后,从ARx中以位倒序进位的方式减去/加上AR0
*ARx-0/ *ARx+0 :
– 访问后,从ARx中减去/加上AR0
*ARx-%/ *ARx+% :
– 访问后,ARx中的地址以循环寻址的方式减1/加1
DSP技术及其应用 12
TMS320C54X-DSP
共有四条使用堆栈寻址方式访问堆栈的指令:
PSHD 把一个数据存储器的值压入堆栈。 PSHM 把 一 个 存 储 器 映 射 寄 存 器 的 值 压 入 堆 栈 。 POPD 把一个数据存储器的值弹出堆栈。 POPM 把一个存储器映射寄存器的值弹出堆栈。
DSP课件NO.6 寻址

2) 访问存储器映射寄存器 指针包含正确的地址 访问存储器映射寄存器(指针包含正确的地址 指针包含正确的地址)
3) 访问寄存器位 只是要保证指针含有正确的bit号码。 BCLR *(AR4+T1), AC2 BTSTP *AR1(#5), AC2 ;设AR1=16 4) 访问 口 访问I/O口 MOV port(*AR4+), T2 ;设AR4=FF80h
3.1 寻址方式
MPY *AR0, *(CDP+T0), AC0 :: MPY *AR1, *(CDP+T0), AC1
注意区别:#AR0 ,AR0和*AR0的区别。
3.1 寻址方式
3.1.4 循环寻址
循环寻址可以和任意一种间接寻址模式一起 使用。每一个辅助寄存器和系数数据指针,作为 对数据或寄存器位的指针时,都可以独立配置成 线性或循环寻址.
举例:AMOV #03FF00h, XSP MOV *SP(5), T2 MOV dbl(*SP(5)), pair(T2) //(注意长字的对齐规则。)
3.1 寻址方式
三、寄存器bit直接寻址模式 寄存器 直接寻址模式 操作数:@bitoffset
举例:BSET @2, AC2
3.1 寻址方式
3.1寻址方式 寻址方式
二、双间接寻址模式 该方式通过8个辅助寄存器,作两次数据存储器 访问。与单AR间接访问数据空间一样,也可以是线 性寻址或循环寻址。 间接操作数: 双AR间接操作数: 间接操作数 *ARn, *ARn+,*ARn-,*(ARn+T0), *(ARn-T0), *ARn(T0), *(ARn+T1), *(ARn-T1)。
四、PDP直接寻址模式 直接寻址模式 16位的I/O地址的产生: PDP(9bit)+Poffset(7bit) 举例:MOV port(@0), T2 ; (设PDP=511)
DSP寻址方式与指令系统

• 1 立即寻址 • 2 绝对寻址 • 3 累加器寻址 • 4 直接寻址 • 5 间接寻址 • 6 存储器映象寄存器寻址 • 7 堆栈寻址
DSP技术讲义,2012 陈军波©生物医学工程学院
寻址方式
用
途
举
例
指令含义
立即寻址 主要用于初始化
LD #10,A
立即数10 A
将AL内容存入y所在的存储单 元 将A的内容作为地址读程序存储 器,并存入x存储单元
Smem
Xmem Ymem dmad pmad PA src dst
lk
DSP技术讲义,2012 陈军波©生物医学工程学院
3.1.1 立即寻址
指令中含有执行指令所需的操作数。操作数紧随 操作码存放在程序存储器中。
例如: LD #F180,A
;将立即数F180加载到A
程序存储器 立即数的数值形式: ① 短立即数。3、5、8、9位,单字指令; 操作码 ② 长立即数。16位,双字指令。
注意:在立即寻址的指令中,应在数值或符号前面加 一个“#”,表示是一个立即数,以区别于地址 。
DSP技术讲义,2012 陈军波©生物医学工程学院
返回
3.1.2 绝对寻址
指令中含有所要寻找的操作数的16位存储单元 地址。 16位地址表示形式: ① 地址标号,如:TABLE; ② 16位符号常量,如:89AB、1234。 特点:指令中包含一个固定的16位地址,能寻 例如: MVKD址所有数据存储空间,但运行速度慢, TABLE,*AR1;将DATA指定的数据存储单元 ;将数据存储器TABLE为地址 LD *(DATA),A 需要较大的存储空间。 中的数据送入累加器A中 的单元数据送入AR1寄存器
4. *(lk)寻址 使用一个指定数据空间的地址来确定数据存 储器中的一个地址。
DSP技术讲义,2012 陈军波©生物医学工程学院
寻址方式
用
途
举
例
指令含义
立即寻址 主要用于初始化
LD #10,A
立即数10 A
将AL内容存入y所在的存储单 元 将A的内容作为地址读程序存储 器,并存入x存储单元
Smem
Xmem Ymem dmad pmad PA src dst
lk
DSP技术讲义,2012 陈军波©生物医学工程学院
3.1.1 立即寻址
指令中含有执行指令所需的操作数。操作数紧随 操作码存放在程序存储器中。
例如: LD #F180,A
;将立即数F180加载到A
程序存储器 立即数的数值形式: ① 短立即数。3、5、8、9位,单字指令; 操作码 ② 长立即数。16位,双字指令。
注意:在立即寻址的指令中,应在数值或符号前面加 一个“#”,表示是一个立即数,以区别于地址 。
DSP技术讲义,2012 陈军波©生物医学工程学院
返回
3.1.2 绝对寻址
指令中含有所要寻找的操作数的16位存储单元 地址。 16位地址表示形式: ① 地址标号,如:TABLE; ② 16位符号常量,如:89AB、1234。 特点:指令中包含一个固定的16位地址,能寻 例如: MVKD址所有数据存储空间,但运行速度慢, TABLE,*AR1;将DATA指定的数据存储单元 ;将数据存储器TABLE为地址 LD *(DATA),A 需要较大的存储空间。 中的数据送入累加器A中 的单元数据送入AR1寄存器
4. *(lk)寻址 使用一个指定数据空间的地址来确定数据存 储器中的一个地址。
最新DSP寻址方式

pmad 16位立即数:程序存储器地址(0~65 535)
PA
16位立即数:I/O口地址(0~65 535)
src
源累加器(A或B)
dst
目的累加器(A或B)
1k
16位长立即数
2
3.1 寻址方式
寻址方式分为数据寻址和程序寻址两种。
1 立即寻址 2 绝对寻址 3 累加器寻址 4 直接寻址 5 间接寻址 6 存储器映像寄存器寻址 7 堆栈寻址
DSP寻址方式
3.1 寻址方式
部缩分略寻语址寻址指令中用含到的缩义写符号及其含义
Smem 16位单寻址操作数
Xmem
16位双寻址操作数,用于双操作数或部分单操作数 指令,从DB数据总线上读取
Ymem
16位双寻址操作数,用于双操作数指令,从CB数据 总线上读取
dmad 16位立即数:数据存储器地址(0~65 535)
MVKD EXAM1, * AR5
数据存储器的 16位地址dmad值
10
3.1.2 绝对寻址
2.程序存储器寻址
用于确定程序存储器中的一个地址。 语法:使用一个符号或具体的数字来指 定程序空间的一个地址。
MVPD TABLE, * AR2
程序存储器的 16位地址pmad值
11
3.1.2 绝对寻址
3.端口(PA)寻址
数据存储器
地址 数据
第 0180 0001
3
页
...
...
X: 01FF 1000
第 y: 0200 0500
4
页
...
...
RSBX CPL LD #3, DP LD @x, A ALDD#4@,DyP, A ADD @y, A
第三章DSP指令寻址方式

DP值 0000 0000 0
偏移量 000 0000
数据存储器 第0页:0000h~007Fh
0000 0000 0 0000 0000 1
0000 0000 1 0000 00010
0000 00010 1111 1111 1
1111 1
~ ~ ~ ~
111 1111 000 0000 第1页:0080h~00FFh
址,而是将此地址(或寄存器)内容再作为地址。间接
寻址通过8个16位的辅助寄存器访问数据存储器。
1.1 立即寻址方式 在立即寻址方式中,指令字中包含指令所需 的一个常数。两种立即寻址方式为: 短立即寻址。用短立即寻址的指令将一个8位、9 位或13位的常数作为操作数。短立即寻址指令为 一个单指令字,并且有一个常数嵌在该指令中。 长立即寻址。用常立即寻址的指令将一个16位常 数作为操作数,从而需要两个指令字。该常数作 为第二个指令字被发送。这个16位字值可以是绝 对常数或二进制补码。
3.1 DSP指令寻址方式
也称为立即数寻址方式。
立即寻址:需要找的数据就在指令里,不需要存储器找, 直接寻址:即指令给出的是需要找的数的地址,按此地
址直接访问即可。直接寻址将指令字的7位与数据存储 器页指针(DP)的9位连接起来,形成一个16位数据存 储器地址。 间接寻址:即指令给出的既不是立即数,也不是直接地
下一个辅助寄存器 除了更新当前辅助寄存器的内容外,某些指令还可以指 明下一个辅助寄存器或下一个AR。当这条指令执行完 成后,这个寄存器就成为当前辅助寄存器。允许用于指 定下一个辅助寄存器的指令用新的值装载ARP。当ARP 用该值装载时,以前的ARP值被装入辅助寄存器指针缓 冲器(ARB)。 例1.6说明了下一个辅助寄存器的选择和其他间接寻址的 特点。 例1.6 选择新的当前辅助寄存器。 MAR *,AR1;向ARP装入1,指令执行后使得AR1成为 当前辅助寄存器 LT *+,AR2;AR2是下一个辅助寄存器。用AR1指定的 地址内容装载TREG,AR1内容加1,指令执行后使得 AR2成为当前辅助寄存器。 MPY *;TREG乘以AR2所指定的单元内容
《DSP寻址方式》课件

01
现状
02
广泛应用于信号处理、图像处理、通信等领域。
在大数据和人工智能时代,DSP寻址方式发挥着越来越重要的
03
作用。
DSP寻址方式的未来发展趋势和挑战
发展趋势
1
2
结合人工智能技术,实现更高效的算法加速。
3
支持向量寻址,满足高维数据处理需求。
DSP寻址方式的未来发展趋势和挑战
• 云端和边缘计算的寻址优化。
DSP寻址方式的未来发展趋势和挑战
01
挑战
02 如何应对数据爆炸带来的存储和访问挑战 。
03
如何平衡计算效率和存储空间的需求。
04
如何提高寻址方式的通用性和灵活性,以 适应不断变化的应用场景。
THANKS
感谢观看
算法优化
通过算法优化减少计算量,降低功耗和成本 。
05
总结与展望
DSP寻址方式的发展历程和现状
初始阶段
简单的线性寻址,主要用于基础的数 学运算。
扩展阶段
引入了变址寻址和间接寻址,增强了 数据处理能力。
DSP寻址方式的发展历程和现状
• 现代阶段:支持多种寻址方式,满足复杂算法需 求。
DSP寻址方式的发展历程和现状
详细描述
寄存器寻址方式是指操作数的有效地址通过寄存器给出,即有效地址存储在寄存器中,通过寄存器访问操作数。 这种方式可以用于访问寄存器中的数据,也可以用于实现寄存器间接寻址等操作。
其他寻址方式
总结词
其他特殊的寻址方式
详细描述
除了以上三种寻址方式外,还有一些特殊的寻址方式,如相对寻址方式、位寻址方式等 。这些寻址方式各有特点,可以根据具体的需求选择使用。
PID控制器
DSP汇编寻址方式

ADD 5Dh ; 累加器与当前数据页面内偏移量 ; 5DH单元的内容相加,结果存入到 ; 累加器中
17
第6章 寻址方式和汇编指令
堆栈寻址方式
▲ SP(堆栈指针):在该方式下,16位的SP指针被用于访 问软件堆栈的信息.F2812的堆栈从存储器的低地址变化到 高地址,SP指针总是指向下一个空单元.当需要访问堆栈中 的数据时,由程序提供6位偏移量,SP的值减去这6位的偏 移量就是被访问的数据的地址,然后修改堆栈指针 SP. (P205 表6-1-3)
16bit
6bit
00 0000 0001 0000 0101 1101
DP
OFFSET
0041H
1DH
12
使用直接寻址方式访问数据存储器时,必须首先 对DP进行设置以确定数据页面,然后再书写进行某 种操作的指令,该指令的操作数将确定数据页面内部 的特定偏移单元。其步骤如下:
1. 设置数据页面 将当前数据页面载入DP。
式)
√ 在文件中使用内嵌伪指令
. c28_amode ;告诉汇编器后面的代码段都假定 AMODE=0
(C28x寻址方式)
. lp_amode ;告诉汇编器后面的代码段都假定AMODE=1
(与C2xLP全兼容的 寻址方式)
9
第6章 寻址方式和汇编指令
6 . 1 寻址方式
直接寻址方式
▲ 该寻址方式,16位的DP寄存器被当作一个固定的页指针,在 指令中提供6位或者7位的偏移量,将这些偏移量与DP寄存器 中的值相连接构成完整的地址.当访问固定寻址的数据结构 (比如外围寄存器和C/C++中的全局或静态变量) 时是一种很 有效的方法.
1
寻址方式和汇编指令
6.1、寻址方式 6.2、汇编语言指令集 6.3、汇编源程序
17
第6章 寻址方式和汇编指令
堆栈寻址方式
▲ SP(堆栈指针):在该方式下,16位的SP指针被用于访 问软件堆栈的信息.F2812的堆栈从存储器的低地址变化到 高地址,SP指针总是指向下一个空单元.当需要访问堆栈中 的数据时,由程序提供6位偏移量,SP的值减去这6位的偏 移量就是被访问的数据的地址,然后修改堆栈指针 SP. (P205 表6-1-3)
16bit
6bit
00 0000 0001 0000 0101 1101
DP
OFFSET
0041H
1DH
12
使用直接寻址方式访问数据存储器时,必须首先 对DP进行设置以确定数据页面,然后再书写进行某 种操作的指令,该指令的操作数将确定数据页面内部 的特定偏移单元。其步骤如下:
1. 设置数据页面 将当前数据页面载入DP。
式)
√ 在文件中使用内嵌伪指令
. c28_amode ;告诉汇编器后面的代码段都假定 AMODE=0
(C28x寻址方式)
. lp_amode ;告诉汇编器后面的代码段都假定AMODE=1
(与C2xLP全兼容的 寻址方式)
9
第6章 寻址方式和汇编指令
6 . 1 寻址方式
直接寻址方式
▲ 该寻址方式,16位的DP寄存器被当作一个固定的页指针,在 指令中提供6位或者7位的偏移量,将这些偏移量与DP寄存器 中的值相连接构成完整的地址.当访问固定寻址的数据结构 (比如外围寄存器和C/C++中的全局或静态变量) 时是一种很 有效的方法.
1
寻址方式和汇编指令
6.1、寻址方式 6.2、汇编语言指令集 6.3、汇编源程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
累加器寻址和直接寻址举例
• DM的地址:0206h 的地址: 的地址
15 0 14 0 13 0 12 0 11 0 10 0 9 8 7 6 5 4 3 2 1 0 1 0 0 0 0 0 0 1 1 0
5. 间接寻址 在间接寻址中,64K数据空间任意单元都可通过一 在间接寻址中,64K数据空间任意单元都可通过一 个辅助寄存器中的16-bit地址进行访问。 个辅助寄存器中的16-bit地址进行访问。 16 地址进行访问 C54x有 16-bit辅助寄存器 AR0-AR7)。 辅助寄存器( )。两个 ‘C54x有8个16-bit辅助寄存器(AR0-AR7)。两个 辅助寄存器算术单元(ARAU0和ARAU1), ),根据辅助寄 辅助寄存器算术单元(ARAU0和ARAU1),根据辅助寄 存器的内容进行操作,完成无符号的16 bit算术运算 16- 算术运算。 存器的内容进行操作,完成无符号的16-bit算术运算。 间接寻址很灵活, 间接寻址很灵活,不仅能从存储器中读或写一个单 16-bit数据操作数 数据操作数, 16-bit数据操作数,而且能在一条指令中访问两个数据存 储器单元(即从两个独立的存储器单元读数据, 储器单元(即从两个独立的存储器单元读数据,或读一 个存储器单元同时写另一个存储器单元, 个存储器单元同时写另一个存储器单元,或读写两个连 续的存储器单元)。 续的存储器单元)。
单操作数间接寻址类型: 单操作数间接寻址类型: • • • • • • • • *ARx: : ARx包含了数据存储器地址 包含了数据存储器地址 *ARx-/ *ARx+ : 访问后, 中的地址减1/加 访问后, ARx中的地址减 加1 中的地址减 *+ARx: 在寻址之前, 中的地址加1 : 在寻址之前,ARx中的地址加 中的地址加 *ARx-0B/ *ARx+0B :访问后,从ARx中以位倒序进位的 访问后, 中以位倒序进位 中以位倒序进位的 方式减去/加上 加上AR0 方式减去 加上 *ARx-0/ *ARx+0 : 访问后,从ARx中减去 加上 访问后, 中减去/加上 中减去 加上AR0 *ARx-%/ *ARx+% : 访问后,ARx中的地址以循环寻址 访问后, 中的地址以循环寻址 中的地址以 的方式减1/加 的方式减 加1 *ARx-0%/ *ARx+0% : 访问后,从ARx中以循环寻址的方 访问后, 中以循环寻址的方 式减去/加上 加上AR0 式减去 加上 *ARx(lk): ARx和16-bit的长偏移 的长偏移(lk) 的和用来 : 和 的长偏移 作为数据存储器地址。 作为数据存储器地址。ARx本身不 本身不 被修改
部分寻址的缩写语 符号 Smem Xmem Ymem dmad pmad PA src dst lk 含 义 16位单寻址操作数 16位单寻址操作数 16位的双寻址操作数 位的双寻址操作数, DB总线读出 16位的双寻址操作数,从DB总线读出 16位的双寻址操作数, CB总线读出 16位的双寻址操作数,从CB总线读出 位的双寻址操作数 16位立即数 位立即数, 16位立即数,数据存储器的地址 16位立即数 位立即数, 16位立即数,程序存储器的地址 16位立即数 I/O的地址 位立即数, 16位立即数,I/O的地址 源累加器 目的累加器 16位的长立即数 16位的长立即数
第三章 TMS320C54x的数据寻址方式 的数据寻址方式
主讲人:陈德宏
3.1 存储器寻址方式 寻址方式:当硬件执行指令时,寻找指令所参与运算的操 寻址方式:当硬件执行指令时, 作数的方法 立即数寻址: 立即数寻址: 绝对地址寻址: 绝对地址寻址: 累加器寻址: 累加器寻址: 直接寻址: 直接寻址: 指令中有一个操作数为固定的数 (加#) 指令中有一个操作数为固定的地址 用累加器的值作为地址去访问程序存储器 指令中的地址和所在的数据页指针DP DP或 指令中的地址和所在的数据页指针DP或SP 决定了操作数在数据存储器中的实际地址 间接寻址: 间接寻址: 按照辅助寄存器中的地址访问存储器 存储器映射寄存器寻址: 修改存储器映射寄存器中的值, 存储器映射寄存器寻址: 修改存储器映射寄存器中的值, 而不影响当前DP SP的值 DP或 而不影响当前DP或SP的值 堆栈寻址: 把数据压入和弹出系统堆栈。 堆栈寻址: 把数据压入和弹出系统堆栈。
(3)端口地址(PA) (3)端口地址(PA)寻址 端口地址 端口地址(PA)寻址使用一个符号(符号地址) 端口地址(PA)寻址使用一个符号(符号地址)或 一个表示16位地址的立即数来给出外部I/O口地址。 16位地址的立即数来给出外部I/O口地址 一个表示16位地址的立即数来给出外部I/O口地址。 PORTR PA, Smem PORTW Smem, PA 如:PORTR FIFO,*AR5
程序存储器(pmad)寻址使用符号(符号地址) 程序存储器(pmad)寻址使用符号(符号地址)或一个 表示16位地址的立即数来给出程序空间的地址。 16位地址的立即数来给出程序空间的地址 表示16位地址的立即数来给出程序空间的地址。 例如,把程序存储器中标号为TABLE单元中的值复制到 例如,把程序存储器中标号为TABLE单元中的值复制到 TABLE AR7所指定的数据存储器中去 指令可写为: 所指定的数据存储器中去, AR7所指定的数据存储器中去,指令可写为: TABLE,*AR7; MVPD TABLE,*AR7;
3. 直接寻址
在直接寻址中,指令代码包含了数据存储器地址的低七位。 在直接寻址中,指令代码包含了数据存储器地址的低七位。 (dma)作为偏移地址与 这7bit (dma)作为偏移地址与 数据页指针(DP),当ST1中的CPL位 数据页指针(DP),当ST1中的CPL位=0 ), 中的CPL 堆栈指针(SP), 堆栈指针(SP), 当ST1中的CPL位=1 ST1中的CPL位 中的CPL 相结合共同形成16位的数据存储器实际地址。 相结合共同形成16位的数据存储器实际地址。 16位的数据存储器实际地址 当偏移地址为变量时,变量前加@符号。 当偏移地址为变量时,变量前加@符号。 例如: 例如: X .set Y LD #2h DP LD @X, A ADD @Y, A STL A, @Y 5 .set 6
510 511
用SP直接寻址CPL=1: SP直接寻址CPL=1: 直接寻址 SP方式,以SP中内容作为 方式, 中内容作为dmad基地址,指令中地 基地址, 方式 中内容作为 基地址 址标号作为正向偏移量,二者相加构成dmad地址。 地址。 址标号作为正向偏移量,二者相加构成 地址 • 地址计算公式: 地址计算公式:
表、支持立即数寻址的指令
3或5bit立即数 8bit立即数 9bit立即数 5bit立即数 8bit立即数 9bit立即数 16bit立即数 16bit立即数 ADD ORM ADDM RPT AND RPTZ ANDM ST BITF STM CMPM SUB LD XOR MAC XORM OR
此处FIFO即为 即为PA 此处 即为
(4)*(lk)寻址: (4)*(lk)寻址: 寻址 适用于支持单数据存储器操作数(Smem)的指令: 适用于支持单数据存储器操作数(Smem)的指令: 例如: 例如:LD Smem, dst 则可以有 LD *(Buffer), A ;
将Buffer符号所指的数据存储单元的数装载到累加器A , Buffer符号所指的数据存储单元的数装载到累加器A 符号所指的数据存储单元的数装载到累加器 Buffer是一个符号常数 Buffer是一个符号常数
(2) pmad寻址 寻址 pmad寻址用一标号标记程序空间地址,这类指令有: 寻址用一标号标记程序空间地址, 寻址用一标号标记程序空间地址 这类指令有: FIRS Xmem, Ymem, pmad MACP Smem, pmad, src MACD Smem, pmad, src MVPD pmad, Smem
• *+ARx(lk): 在寻址之前,把一个带符号的16-bit的长偏 *+ARx(lk): 在寻址之前,把一个带符号的16 bit的长偏 16lk)加到ARx ARx中 然后用新的ARx ARx的值作 移(lk)加到ARx中,然后用新的ARx的值作 为数据存储器的地址 • *+ARx(lk)%:在寻址之前,把一个带符号的16-bit的长偏移 +ARx(lk)%:在寻址之前,把一个带符号的16 bit的长偏移 16以循环寻址的方式加到ARx ARx中 以循环寻址的方式加到ARx中,然后再用新 ARx的值作为数据存储器的地址 的ARx的值作为数据存储器的地址 符号, 有B符号,倒序进位 符号 符号, 有%符号,循环寻址 符号, 有0符号, 与AR0有关 符号 有关
1 . 立即数寻址 在立即数寻址中,指令里包括了立即操作数(常数, 在立即数寻址中,指令里包括了立即操作数(常数,用# 表示,#用来区分地址的表示方法) ,#用来区分地址的表示方法 k表示,#用来区分地址的表示方法)。 立即数可包含在单字或双字指令中。 立即数可包含在单字或双字指令中。 bit立即数在单字指令中 3-,5-,8-或9-bit立即数在单字指令中 16-bit立即数在双字指令中 16-bit立即数在双字指令中 例如: 例如: LD #80h, A
LD
FRAME
LD
2. 绝对寻址
指令中有一个操作数为所要寻址存储单元16位地址 指令中有一个操作数为所要寻址存储单元16位地址 16
术语解释:dmad-数据存储地址;pmad-程序存储地址; 术语解释:dmad-数据存储地址;pmad-程序存储地址; PA-口地址;lk-长整数。 PA-口地址;lk-长整数。 只有四种类型指令可以使用16bits的绝对地址寻址: 四种类型指令可以使用16bits的绝对地址寻址 只有四种类型指令可以使用16bits的绝对地址寻址: dmad寻址 dmad寻址 pmad寻址 pmad寻址 PA寻址 PA寻址 (lk)寻址 *(lk)寻址 dmad寻址 (1) dmad寻址 dmad寻址用一标号标记数据空间地址 这类指令有: 寻址用一标号标记数据空间地址, dmad寻址用一标号标记数据空间地址,这类指令有: MVDK Smem,dmad MVDM dmad,MMR MVKD dmad,Smem MVMD MMR,dmad 如:MVKD 1000h, *AR5 此处1000h即是dmad 此处1000h即是dmad 1000h即是