DSP中C54x指令系统
第4章TMS320C54XDSP指令系统10PPT课件

57
中断指令同样可以改变程序指针PC的值,使程序从一个地址跳转 到另一个地址执行。但与调用指令一样,DSP在执行完中断服务程序 后要返回发生中断的地方继续执行原来的程序。当发生中断时,DSP 会置INTM为1,屏蔽所有可屏蔽中断,并在中断标志寄存器IFR中设 置相应的中断标志。
INTR指令使ST1的INTM位(bit11)置1关中断
14
算术运算类指令
’c54x的算术运算指令丰富,且运算能力强大。算术运 算指令用于完成加减乘除等算术运算。按照功能可将算术运算 类指令分为7组:
(1)加法指令(Add) (2)减法指令(Subtract) (3)乘法指令(Multiply) (4)乘加指令(Multiply-accumulate) (5)乘减指令(Multiply-subtract) (6)双字指令(32比特操作数) (7)专用指令(Application-specific)
25
举例:应用 SUBC DATA, A 计算( 8/2)
................................
stm #1001h , AR3 stm #1002h , AR4 ld #20h , DP st #0002h , 00h ld #0008h , A
rpt #15 subc 00h, A stl A,*AR3
;将相减的结果(高16位) ;存入1063地址单元
23
24
利用SUBC实现除法运算
在‘C54X中没有提供专门的除法指令, 一般有两种方法来完成除法。
一种是用乘法来代替,除以某个数相当于乘以其倒 数,所以先求出其倒数,然后相乘。这种方法适用于 除以一个常数。
另一种方法是使用SUBC(条件移位减法)指令, 重复16次减法操作完成一次除法运算。
4. C54x 系列DSP编程方法

TMS320C54x软件开发
1 软件开发过程及开发工具 2 公共目标文件格式 3 链接器命令文件的编写与使用 4 寻址方式和指令系统 SPRU102、SPRU179C代码中使用汇编语言的方法
1、用C代码调用汇编语言模块 要点:a) 在汇编语言模块中,必须为所有将在C 中访问的对象使用一个下划线前缀。如C中名time(), 汇编中_time(); b) 任何在汇编语言中定义的将要在C语言 中访问或调用的对象或函数,必须在汇编语言中 用.global伪指令声明为全局变量;如在汇编中访问 一个C函数或对象,要在C中使用.global声明C对象。
2、在C语言中插入汇编语句 要点: 使用asm语句将单行的汇编语言插入由编译 器产生的汇编语言文件,asm语句类似调用一个名为 asm的函数,语法格式如下: asm(“ assembler text”); 3、在程序中访问汇编语言变量 要点:a)使用.bss或.usect伪指令定义变量; b)使用.global伪指令将变量声明为外部变量; c)在汇编语言中,在变量名前加一下划线; d)在C中,将变量声明为外部变量,然后正常访 问。
TMS320C54X DSP 芯片的指令系统

分成512页,每页128个单元 DP取值范围:0~511 7位偏移地址范围:0~127 不改变基地址,可寻址连续的128个单元 DP复位值为0
直接寻址
DP值 00000 0000 偏移量 000 0000 „ 111 1111 000 0000 „ 111 1111 000 0000 „ 111 1111 „ 000 0000 „ 111 1111 数据存储器 第0页:0000H--007FH
例:MVDM 2000H,T RPT #19 ;数据块的复制 ;SAMPLE为常数表示 ;的地址 MVKD 0200H,*AR2+ MVMD AR2,SAMPLE
程序存储器地址(pmad)寻址
确定程序存储器中的一个地址 主要指令:
FIRS MACD MACP MVDP MVPD
Xmem, Smem, Smem, Smem, pmad,
位倒序寻址
主要用于FFT算法。 8点FFT的位码倒序:
若输入顺序:X(0)、X(1)、X(2) 、X(3)、 X(4) 、X(5) 、X(6)、X(7); 则输出顺序:Y(0)、 Y(4)、Y(2) 、Y(6)、 Y(1) 、Y(5) 、Y(3)、 Y(7).
16点FFT的位码倒序:表3.1.6
累加器:
Src,dst,dst_,A,B
移位值:
ASM,TS,SHFT,SHIFT K,k3,k5,k9,lk
立即数:
运算符及其优先级,表3.2.2
3.1 寻址方式
两种:数据寻址和程序寻址 数据寻址(7种基本方式)
立即数寻址 绝对地址寻址 累加器寻址 直接寻址 间接寻址 存储器映射寄存器寻址 堆栈寻址
DSP中C54x指令系统

start: LD #100, A ;64HÆ(AL) LD #10h, 4, A ;10H<<4是100HÆ(AL) AL在内存地址是0008H LD #32768, B ; 32768是 8000HÆ(BL) BL在内存地址是000BH LD #0A000h, 16, B ;A000H<<16是A0000000HÆ(B) ; B在内存的地址是: 000BH和000CH
LD *(BUFFER),A ;将BUFFER符号所指的数据存储单元 ; 中的数传送到累加器A
需要注意的是: 1. 指令长度是2个字,包括要寻单元的地址。 2.指令有较强的针对性,RAMÆRAM,ROMÆRAM和端 口Æ RAM的操作。
ESIEE, Slide 6
三、累加器寻址
3.1 数据的寻址方式
ESIEE, Slide 1
一、立即寻址(续)
16 位长值常数 需要2 字,2周期 ARi初始化例子
3.1 数据的寻址方式
Example: STM #1234h, AR2
AR2赋值1234h.
短值 3, 5, 8, 9 位短值常数 需要1 字,1周期 为用于初始化短寄存器 或位域,如:
直接寻址 = 是相对一个基地址的随机访问。
直接寻址是在指令中,包含有数据存储器地址的
低7位(dmad)。该7位作为偏移地址值与基地址值
是数据页指针DP 9位或堆栈指针SP是16位。
数据存储器被分为: 512 pages of 128 words (512×128 = 216)。
数据页指针 DP(9位) : dmad(7位)
ESIEE, Slide 18
五、间接寻址模式 *ARi
3.1 数据的寻址方式
DSP原理及应用(C54X)

第一章绪论1.1 DSP的基本原理数字信号处理(简称DSP)是一门涉及多门学科并广泛应用于很多科学和工程领域的新兴学科。
数字信号处理是利用计算机或专用处理设备,以数字的形式对信号进行分析、采集、合成、变换、滤波、估算、压缩、识别等加工处理,以便提取有用的信息并进行有效的传输与应用。
数字信号处理是以众多学科为理论基础,它所涉及的范围极其广泛。
如数学领域中的微积分、概率统计、随机过程、数字分析等都是数字信号处理的基础工具。
它与网络理论、信号与系统、控制理论、通信理论、故障诊断等密切相关。
DSP可以代表数字信号处理技术(Digital SignalProcessing),也可以代表数字信号处理器(Digital Signal Processor)。
前者是理论和计算方法上的技术,后者是指实现这些技术的通用或专用可编程微处理器芯片。
数字信号处理包括两个方面的内容:1.法的研究 2.数字信号处理的实现数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。
20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。
在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。
数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。
数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。
数字信号处理在理论上的发展推动了数字信号处理应用的发展。
反过来,数字信号处理的应用又促进了数字信号处理理论的提高。
而数字信号处理的实现则是理论和应用之间的桥梁。
数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。
例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。
C54X DSP 的基本知识点

C54X DSP 的基本知识点
• 28﹑存贮器映象寄存器寻址是用来修改存 贮器映象寄存器的内容,而不改变当前的DP 或SP的值。可以有两种方式来产生MMR的 地址。 ①直接寻址方式:不管DP或SP为何值,数 据存贮器的高9位地址均置0,利用指令中给 出的低7位地址访问MMR; ②间接寻址方式:数据存贮器的高9位地址 被置0,用当前辅助寄存器中的低7位寻址 MMR,寻址后当前辅助寄存器的高9位被迫 置为“0”。
C54X DSP 的基本知识点
• 8、C5416采用分页扩展方法,把程序空间分 成128页,每页64K字,使其程序空间可扩展 到8M字。因此,它们有23根地址线,增加了 一个额外的存贮器映象寄存器——程序计 数器扩展寄存器(XPC)。当片内RAM安 排到程序空间时,每页程序存贮器分成两部 分:一部分是公共的32K字;另一部分是各 自独立的32K字;当片内ROM被寻址 (MP/MC=0),它只能在0页,不能映象到程 序存贮器的其它页。
C54X DSP 的基本知识点
• 1、DSP芯片内部采用改进的哈佛结构,允许同时取指令和 取数据,而且还允许在程序空间和数据空间之间相互传送 数据。 • 所谓哈佛结构,是将程序和数据的存贮空间分开,各有各的 地址总线和数据总线。这样同一条指令可以同时对不同的 存贮空间进行读操作或写操作,从而提高了处理速度。 • 和哈佛结构相配合的就是流水线操作。如果一条指令仅仅 对一个数据空间操作,哈佛结构就失去其存在的意义。而 DSP指令又不可避免地需要一些单操作数指令。 • 所谓流水线操作,就是将各条指令执行过程的几个阶段(取 指、译码、取操作数、执行)重迭进行,执行完第一条指令 的第一步后,紧接执行该指令的第二步,同时执行下条指令 的第一步,使得指令执行加快,使大多数指令都可以在单个 指令周期内完成。
c54xx系列DSP汇编指令详解
为了便于说明汇编语言指令,首先定义一些符号和缩写,这些符号和缩写都将在指令 中使用。表 1 列出 C54xx 系列 DSP 指令系统中所使用的符号和缩写及其意义。表 2 详细列 出 C54xx 系列 DSP 的指令系统中所使用的一些特殊符号和缩写及其意义。
表 1 指令系统符号与缩写以及其意义
dst = src – #lk <<16
从 src 中减去长立即数移动 16 位后的值,结果存到 dst 中
dst = dst – src << SHIFT
从 dst 中减去 src 移动 SHIFT 位后的值
dst = dst – src << ASM
从 dst 中减去 src 移动 ASM 位 后的值
② 减法指令
语法 SUB Smem, src
SUB Smem, TS, src SUB Smem, 16, src [, dst] SUB Smem [, SHIFT], src [, dst] SUB Xmem, SHFT, src
SUB Xmem, Ymem, dst
SUB # lk [, SHFT], src [, dst]
目的累加器的反 if dst=A,then dst_=B if dst=B then dst_=A
E 地址总线 EAB 地址寄存器 23 位立即数表示的程序存储器地址 ST1 寄存器中的分数方式位 十六进制数据 十六进制数据 累加器 A 的高端(位 32~16) ST1 寄存器中的保持方式位 中断标志寄存器 ST1 寄存器中的中断屏蔽位 少于 9 位的短立即数
表达式 dst = T * Smem
dst = rnd(T * Smem)
dst = Xmem * Ymem, T = Xmem
第二章C54xDSP结构原理
1.了解DSP为什么快 2.为后续编程打下基本的硬件基础
提问:
DSP系统的特点?实时性的含义? DSP的三类方法?比如有哪些? DSP采用指令流水技术,为什么能 提高运行速度?
2.1 TMS320C54x DSP简介
16位,定点,哈佛结构,4总线, DARAM,A、B,MAC,循环寻址, 专用功能单元, 低功耗,160MHz,… 代表芯片:C541, C542, C548, C549, C5402, C5416 C55x:C5509 应用:通信终端、交换机、语音、 图像处理
DROM
=1,片内某部分ROM映射到数据空间; =0,该部分ROM不映射到数据空间,外扩片外数据存储器。
TMS320C541的存储分配举例
‘C541的存储MAP表
C54x 存储器访问
使用XPC寄存器保存页地址(A16以上) 64K页内的PC寄存器保存地址 除非修改XPC,否则都是访问当前页 以下指令可以修改XPC: fb,fbacc,fcall,fcala,fret,frete 利用READA,WRITA可以读写程序空间。
2.10 指数编码器
如:2000H(0.25) 用浮点表示 时,尾数为4000H(0.5) ,指 数为1(左移1位), 即 0.5*(2)-1=0.25 在EXP指令中,累加器中的 指数值能以二进制补码的形 式存储在T寄存器中。指数 值定义为冗余符号位数减8的 差值,即累加器中为消除非 有效符号位所需移动的位数
TMS320C6678 :8核定点、浮点DSP
1GHz\1.25GHz 320 GMAC/160 GFLOP @ 1.25GHz 32KB L1P, 32KB L1D, 512KB L2 Per Core 4MB Shared L2 Multicore Navigator Network CoprocessorsPacket Accelerator, Security Accelerator SRIO 2.1 - 5 Gbaud PCIe Gen2 Ethernet MAC 100/1000 Mbps
第04.2章 C54xDSP指令系统
双精度指令
表4-3-6 双精度(32位操作数)指令
共6条:DADD、DADST、DRSUB、DSADT、DSUB、DSUBT
专用指令
表4-3-7 专用指令
共15条:ABDST、ABS、CMPL、DELAY、EXP、 MAX、 MIN、POLY、SAT、RND、 SQDST、 FIRS 、 LMS 、 NEG 、 NORM
中读入一个数并传送到由Smem所指定的数据存储单元中。 WRITA Smem是将Smem所指定的数据存储单元中的一个数, 传送到由累加器A所指定的程序存储单元中。
4.直接寻址
利用数据指针和堆栈指针寻址,其特点是数据存储器地址由 高9位的基地址(数据页指针DP或堆栈指针SP)和低7位的偏 移地址共同构成,共16位。
DP由LD指令加载,用RESET进行初始化。 直接寻址的指令书写格式为在变量前加一个@,或者用一个 dmad来设定偏移地址。例如:
LD #3,DP
LD @x,A LD #4,DP ADD @y,A
;设置当前页面为3
;将x值加载到累加器A ;设置当前页面为4,y所在的页面 ;将y值加到累加器A
CPL=1: 16-bit SP基地址加上dmad形成16-bit数据存储器地 址。 以SP为基准的直接寻址
表4-3-4 乘法指令
共4条:MPY[R]、MPYA、MPYU、SQUR
乘加和乘减指令
表4-3-5 乘加和乘减指令
乘加和乘减指令
表4-3-5 乘加和乘减指令(续)
共9条: 乘-加:MAC[R]、MACA[R]、MACD、MACP、MACSU、 SQURA 乘-减:MAS[R]、MASA[R]、SQURS
共6条:ROL、ROLTC、ROR、SFTA、SFTC、SFTL
DSP 第三章 DSP的软件结构
第三章DSP的软件结构’C54x的指令系统包含助记符指令和代数指令两种形式。
助记符指令:是一种采用助记符号表示的类似于汇编语言的指令;代数指令:是一种比汇编语言更高级,类似于高级语言的代数形式指令,具有接近汇编语言的特点。
两种指令具有相同的功能。
本章着重介绍助记符指令的分类及基本功能。
其内容有:● 寻址方式● TMS320C54x的指令表示方法● TMS320C54x的指令系统汇编程序语法:TMS320的汇编程序包含汇编指令(伪指令,assembler directives)、汇编语言指令(assembly language instructions)、宏指令(macro directives)和注释(comments)汇编程序源程序格式:[label][:] mnemonic [operand list] [;comment][标号][:] 助记符[操作数] [;注释]SYM1 .set 2 ;符号SYM1=2Begin: LD #SYM1, AR1 ;将2装入AR1汇编程序语法:所有的语句必须由语句标号、空格、*号或;号开头。
语句标号不是必须的,如果用,就必须在第一列。
语句中的各部分之间,由一个或多个空格分开。
注释不是必须的。
注释可以从第一列的* 号或;号开头;如果不是从第一列开始,就必须用;号开头。
语句标号:由字母、数字、_、$组成,最多不超过32个字符,对大小写敏感,第一个字符不能是数字。
后跟:。
助记符:助记符不允许从第一列开始,否则被认为是语句标号。
助记符可以是机器指令(如ABS,MPYU等)、伪指令(如.data, .list, .set等)、宏指令(如.macro, .var, .mexit等)和宏调用.操作数:操作数可以是常数、符号或表达式。
当操作数多于一个时,用逗号分开。
汇编器允许指定常数、符号或表达式作为地址、立即数或间接地址。
操作数前缀规定如下:#前缀:表示操作数为立即数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
STM #0060H,AR1 ;AR1=0060H
READA *AR1
;将程序空间0100H中的数据
F020H存放到0060H.
如果用RPT重复操作指令,A地址自动加1,当然此时单操
作数是*AR1+,用于表数据传输
ESIEE, Slide 7
四、直接寻址 @(续)
数据存储页:
Addresses in Dec Hex Data memory 0 0000 Page 0
地址 0180
数据 0001
已知
x:
y:
…
…
x: 01FF 1000h
y: 0200 0500h
…
…
执行如下指令: .text LD #0003, DP ;DP=003,指向RAM第4页,0180~01FF LD @x, A ;指令操作码是107f h, x地址中数据给A LD #0004,DP ;加一句才正确: ADD @y, A ;指令操作码是是0000h,y地址中数据+A, 保存到A
一、立即寻址(续)
可带有立即数寻址的指令有:
3.1 数据的寻址方式
ESIEE, Slide 2
ESIEE, Slide 5
一、立即寻址
3.1 数据的寻址方式
立即寻址是指令中包含执行指令的操作数,在该操
作数前加#,表示立即数。
例子: ADD #4,A;4与A中内容加放在A中 一般初始化设置使用。
数据作为地址给ARx
ESIEE, Slide 19
产生地址 从EB总线保存数据到ARi
ESIEE, Slide 22
(1)单操作数间接寻址
3.1 数据的寻址方式
单操作数寻址是指令中只有一个存储器操作数。格 式如下:
15
87 6
32
0
操作码 I=1 MOD
ARF
前8位是指令的操作码; I=1:指令使用的寻址方式是间接寻址,以示与直
DP
7位
000000010 0000001
128 words
ESIEE, Slide 14
四、直接寻址 @,SP 相关
使用C编译器 基于堆栈的操作是有用的 控制 CPL 设置:
SSBX CPL
ESIEE, Slide 17
3.1 数据的寻址方式
举例:
3.1 数据的寻址方式
执行一个x+y 的运算
ESIEE, Slide 18
五、间接寻址模式 *ARi
3.1 数据的寻址方式
也可以通过 ARAU0,1 产生循环变 化地址
范例:
3.1 数据的寻址方式
STM #0060h, AR1 ;AR1中的内容是地址 LD *AR1+0, A ;(AR1)中的内容Æ(A)
;然后(AR1+AR0)Æ(AR1) LD *AR1, B ;(AR1)Æ(B)
直接寻址 = 是相对一个基地址的随机访问。
直接寻址是在指令中,包含有数据存储器地址的
低7位(dmad)。该7位作为偏移地址值与基地址值
是数据页指针DP 9位或堆栈指针SP是16位。
数据存储器被分为: 512 pages of 128 words (512×128 = 216)。
数据页指针 DP(9位) : dmad(7位)
0 0000
Page 0
128 0080
Page 1
256 0100
0 1 Page 2
127
Page 3 to 510
65 535 FFFF
Page 511
128 words
128 words
128 words DP = 2, 第 2页
在指令中的偏移量 = 1
地址 = 0101 in hexadecimal
立即数有两种形式: (1)长立即数(16位) (2)短立即数:有3,5,8,9位。
ESIEE, Slide 3
二、绝对寻址模式 *( x )
3.1 数据的寻址方式
容许在指令中包含寻址单元的地址标号。 *(address) 这些地址可以是数据存储器、程序存储器或IO存储
器,也可以是16 位常数地址。
MOD合 计4比特
变址 寻址 索引寻址 翻转寻址 (位倒序) 循环寻址
表3-3 单操作数 间接寻址类型
ESIEE, Slide 21
(1)单操作数间接寻址(续) 3.1 数据的寻址方式
MOD域 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101
有四种类型:
MVKD DATA,*AR5 ;数据存储器DATA地址单元的数传送 ;到AR5寄存器指向的数据存储单元.。
MVPD TABLE,*AR7- ; 程序存储器TABLE地址单元的数传 ;送到AR7寄存器指向的数据存储单元。
PORTR FIFO, *AR5 ;从FIFO端口读数,将其存放到AR5寄存 ; 器指向的数据存储单元。FIFO是一个端口标号。
第3章 C54x的指令系统
3.1 数据寻址方式 3.2 程序存储器地址生成的方式 3.3 流水线 3.4 指令的表示方法 3.5 指令系统
ESIEE, Slide 1
一、立即寻址(续)
16 位长值常数 需要2 字,2周期 ARi初始化例子
3.1 数据的寻址方式
Example: STM #1234h, AR2
*ARx+0% Addr=ARx, ARx=circ(ARx+AR0)
接寻址的区别。 MOD:4位修改域,定义间接寻址的方法,见表3-3 ARF: 这 3位是辅助寄存器域,定义辅助寄存器使
用的寻址。
表3-3列出了间接寻址方式中对单操作数的寻址类 型:
ESIEE, Slide 20
3.1 数据的寻址方式
(a)循环寻址(MOD=8,9,10,11,14)
z 在许多算法,比如卷积、相关、和FIR滤器算法中 ,需要在存储器中设置一个循环的缓冲区。在这些 算法中,循环缓冲区是一个活动的窗口,保存一批 最近数据。在循环寻址计算的过程中,当新建数据 进来,缓冲区最老的数据被覆盖。循环的寻址是实 现循环的缓冲区的关键。
使用DP 指针: 16位地址= DP中的9位(MSB) : 7 LSB The 7 LSB 在指令中 The 9 MSB 在 DP寄存器中
使用SP 指针 16位地址= SP中的16 位+ 7位
其中7是操作指令中的偏移量
ESIEE, Slide 11
四、直接寻址 @
3.1 数据的寻址方式
序存储器。有两种:
READA Smem ; A中数为程序存储器地址,读该单元
;中的数传送到 Smem指向的数据存储单元中
WRITA Smem ; 将Smem指向的数据存储单元的数传送
;到A中
例如:LD #0100H, A
;立即数0100HÆ(A)中,
;0100H可以是程序空间地址,如表格,数据是F020H
128 0080 Page 1
256 0100 Page 2
3.1 数据的寻址方式
128 words 128 words 128 words 512 Pages
ESIEE, Slide 10
Page 511 65535 FFFF
128 words
三、累加器寻址
3.1 数据的寻址方式
累加器寻址是利用累加器的数值作为地址来读写程
CPL bit = 0 in ST1
堆栈指针 SP(16位)+dmad(7位)
CPL bit = 1 in ST1
四、直接寻址 @(续)
数据存储器地址生成的框图:
3.1 数据的寻址方式
数据地址产生器
ESIEE, Slide 9
ESIEE, Slide 12
四、直接寻址 @(续)
CPL = 0 指令
3.1 数据的寻址方式
当DP被初始化后,它成为单字单周期指令容易寻
址。 在数据存储器中定义512页(选择DP值),每页
128字,(后7位是指令提供)。 CPL 复位:
RSBX CPL ; CPL = 0 复位
ESIEE, Slide 16
四、直接寻址 @,例子
3.1 数据的寻址方式
Addresses in Dec Hex Data memory
start: LD #100, A ;64HÆ(AL) LD #10h, 4, A ;10H<<4是100HÆ(AL) AL在内存地址是0008H LD #32768, B ; 32768是 8000HÆ(BL) BL在内存地址是000BH LD #0A000h, 16, B ;A000H<<16是A0000000HÆ(B) ; B在内存的地址是: 000BH和000CH
15 - 8
7
Opcode
I=0
3.1 数据的寻址方式
6-0 dmad
DP 寄存器 形成的地址
9-bit DP 9-bit DP
7-bit dmad
CPL = 1 SP 寄存器
形成的地址
16-bit 堆栈指针
+
7-bit dmad
16-bit 数据存储器地址
ESIEE, Slide 13
四、直接寻址 @,DP 相关
1110
1111
操作码
功能
*ARx
Addr=ARx
*ARx-
Addr=ARx, ARx=ARx-1
*ARx+
Addr=ARx, ARx=ARx+1
*+ARx
Addr=ARx+1, ARx=ARx+1
*ARx-0B Addr=ARx, ARx=B(ARx-AR0)