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的汇编语法寻址及指令系统2
助记符方式汇编程序语法
[label][:] mnemonic [operand list] [;comment]
[标号][:] 助记符
[操作数]
[;注释]
汇编程序语法
1.所有的语句必须由语句标号、空格、*号或 ; 号开头。 2.语句标号不是必须的,如果用,就必须在第一 列。 3.语句中的各部分之间,由一个或多个空格分开。 4.注释不是必须的。注释可以从第一列的 * 号 或 ;号开头;如果不是从第一列开始,就必须 用 ;号开头。
MPY
乘法器
第六章 汇编语法,寻址及指令系统
• 1.汇编语法 • 2.寻址方式 • 3.指令系统
汇编程序语法
TMS320的汇编程序包含:
1. 汇 编 语 言 指 令 ( assembly language instructions)、 2. 汇编指令(伪指令,assembler directives)、 3. 宏指令(macro directives) 4. 注释(comments)。
片内DARAM配置位。该位用于确定x24x芯片内的可配置DARAM存储块的配置。当
XF
PM
1
符 号
名 称 累加器 辅助寄存器算术单元
说 明 一个32位寄存器.用来保存CALU计算结果,并为下一次CALU操作提供输入, 它具有移位和循环操作功能 一个无符号、16位算术单元间接寻址时,用辅助寄存器算数单元来计算辅 助寄存器地址 这些16位寄存器可用作指针,指向数据存储空间范围内的任何地址。它们 面向ARAU单元操作,由辅助寄存器指针(ARP)选定。AR0可用来作为更新 ARx(x为1~7)参考值,也可作为ARx的比较值 寄存器进位位由CALU输出,C被反馈到CALU单元,用于扩展运算操作。C位 位于状态寄存器(ST1),其状态可通过条件指令测试。C位也可用于累加器 移位和循环 TMS320C2xx核的32位主要算术逻辑单元。CALU在一个单机器周期内执行32 位操作。它对来自ISCALE或PSCALE的数据和来自ACC的数据进行运算,并将 运算后的状态结果存于PCTRL单元 如果片内RAM配置控制位(CNF)被设置为0,那么可配置的双口RAM(DARAM)块 BO被映射到数据存储空间;否则,BO被映射列程序存储空间。块B1和B2分 别映射到地址分别为0300h~03FFh和0060h—007Fh的数据存储器空间。块0 和1的容量为256宇,而块2的容量为32字 9位DP寄存器与一个指令字的低7位(LSBs)一起形成一个16位的直接寻址地 址。DP值可由LST和LDP指令改变 GREG指定全局数据存储器的空间大小。由于F240x器件没有使用全局。存储 器空间,这个寄存器被保留下来 MR寄存器的各位分别屏蔽或使能对应的7个中断 IFR的7位分别指示TMS320C2xx已进入7个可屏蔽的中断中的任意一个中断 一个16~32位的桶式左向移位器。ISCALE能将输入的16位数据的0~16位在 本周期内,向左移位以得到32位输出,因此输入定标移位操作不需要额外 的周期 经过16X16位乘法运算得到一个32位的乘积。MPY可在一个单周期内完成乘
第六章 DSP寻址方式和汇编指令
第六章 DSP的寻址方式和汇编指令当硬件执行指令时,寻找指令所指定的参与运算飞操作数的方式——寻址方式。
根据程序的要求采用不同的寻址方式,可以有效地缩短程序的运行时间和提高代码执行效率。
汇编指令是可执行指令,每一条指令对应一条机器码,用来控制处理器仲的执行部分进行各种操作。
在本章节当中将主要以基于C28x的DSP芯片为例,为读者讲解DSP的寻址方式和汇编指令系统,其中大部分内容也可适用于其他Ti公司的DSP产品。
6.1汇编语言指令集概述在学习C28x系列DSP的寻址方式和汇编指令指令之前,先来对一些基础的知识进行讲解一下先,在汇编程序当中开发人员会常常使用到许多的特殊符号和标志,它们都具有特殊的含义,在学习汇编之前读者们必须先理解这些符号和标志含义,在这里会对其中最常用最重要的操作数符号和寄存器经行详细说明。
在进行汇编讲解之前先来了解一下开发的核心——CPU。
在TMS320C2000系列中,CPU 内核为:C20x/C24x/C240x:C2xLP:C27x/C28x:C27x、C28x这些CPU的硬件结构有一定差别,指令集也不相同,但是,在C28x芯片中可以通过选择兼容特性模式,使C28xCPU与C27xCPU及C2xLPCPU具有最佳兼容性。
可通过状寄存器STl的位OBJMODE和位AMODE的组合,选定模式。
C28x芯片具有3种操作模式:1.C28x模式:在该模式中,用户可以使用C28x的所有有效特性、寻址方式和指令系统,因此,一般应使C28x芯片工作于该种模式。
2.C27x目标——兼容模式:在复位时,C28x的CPU处于C27x目标-兼容模式。
在该模式下,目标码与C27xCPU完全兼容,且它的循环—计数也与C27xCPU兼容。
3.C2xLP源——兼容模式:该模式允许用户运行C2xLP的源代码,这些源代码是用C28x代码生成工具编译生成的。
在下面的讲解当中会牵涉到模式的转换,希望读者要搞清楚每一个模式的对应关系。
DSP寻址方式与指令系统
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常用汇编语言指令简介
1. 累加器等指令举例
Example 1:ADD 1,1;(假设DP = 6),把 第6个数据页的第一个内存单元内容左移一 位加到累加器 Example 2:LACC *,4; (与SXM有关) Example 3:ROL;把累加器内容循环左移 Example 4:SACL *,0,AR7 ;把当前工作寄 存器指示内容左移0位送入累加器的低8位 Example 5:RPT #15 SUBC * ;累加器减去当前寄存 器指的内容,连续减16次,结果存累加器
南航自动化学院DSP技术应用实验 室
LAR AR1,#200H ;设定AR1的值
(2)指明间接寻址选项(*,*+,*-,*0+)) 例如:MAR *,AR0 1, ;然后指向工作寄存器AR1 (3)指明下一个辅助寄存器(可选) 例如: MAR *,AR1 ADD *+,AR4 ;把当前工作寄存器AR1指 向的数据单元内容加至累加器,然后AR1内容加 1,并把工作寄存器定为AR4
2. 工作寄存器等指令举例
Example1:MAR *+,AR1;把当前工作寄 存器的内容加1,然后再改变工作寄存器为 AR1。 Example2:LAR AR4,#8123h;把AR4的 值改变为立即数。 LAR AR0,16;(DP=6)把 地址=310H的内存单元内容装入AR0。 Example3:SAR AR0,*+;(如果当前工 作寄存器=AR1)把AR0的内容拷贝到AR1 南航自动化学院DSP技术应用实验 指向的内存单元。 室
4. 转移指令举例
南航自动化学院DSP技术应用实验 室
EQ NEQ LT LEQ GT GEQ NC C NOV BIO NTC TC UNC
《DSP寻址方式》课件
01
现状
02
广泛应用于信号处理、图像处理、通信等领域。
在大数据和人工智能时代,DSP寻址方式发挥着越来越重要的
03
作用。
DSP寻址方式的未来发展趋势和挑战
发展趋势
1
2
结合人工智能技术,实现更高效的算法加速。
3
支持向量寻址,满足高维数据处理需求。
DSP寻址方式的未来发展趋势和挑战
• 云端和边缘计算的寻址优化。
DSP寻址方式的未来发展趋势和挑战
01
挑战
02 如何应对数据爆炸带来的存储和访问挑战 。
03
如何平衡计算效率和存储空间的需求。
04
如何提高寻址方式的通用性和灵活性,以 适应不断变化的应用场景。
THANKS
感谢观看
算法优化
通过算法优化减少计算量,降低功耗和成本 。
05
总结与展望
DSP寻址方式的发展历程和现状
初始阶段
简单的线性寻址,主要用于基础的数 学运算。
扩展阶段
引入了变址寻址和间接寻址,增强了 数据处理能力。
DSP寻址方式的发展历程和现状
• 现代阶段:支持多种寻址方式,满足复杂算法需 求。
DSP寻址方式的发展历程和现状
详细描述
寄存器寻址方式是指操作数的有效地址通过寄存器给出,即有效地址存储在寄存器中,通过寄存器访问操作数。 这种方式可以用于访问寄存器中的数据,也可以用于实现寄存器间接寻址等操作。
其他寻址方式
总结词
其他特殊的寻址方式
详细描述
除了以上三种寻址方式外,还有一些特殊的寻址方式,如相对寻址方式、位寻址方式等 。这些寻址方式各有特点,可以根据具体的需求选择使用。
PID控制器
DSP汇编寻址方式
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、汇编源程序
《DSP原理与应用》寻址方式和指令系统
《DSP原理与应用》寻址方式和指令系统三、TMS320LF240x寻址方式和指令系统3.1 寻址方式TMS320LF240x指令集采用3种基本的存储器寻址方式:立即寻址方式、直接寻址方式和间接寻址方式。
在立即寻址方式中,指令中所需要的常数作为指令的操作数直接给出。
立即寻址方式包括短立即寻址和长立即寻址。
在短立即寻址中,指令字包含一个8位、9位或13位的操作数,而长立即寻址采用16位的操作数。
当需要访问数据存储器时,用户可采用直接或间接寻址方式。
直接寻址方式将指令字的7位与数据存储器页指针(DP)的9位连接起来,形成16位数据存储器地址。
间接寻址通过8个16位辅助寄存器访问数据存储器。
3.1.1 立即寻址方式在立即寻址方式中,指令字中包含指令所需的一个常数。
对于短立即寻址,采用短立即寻址的指令将一个8位、9位或13位的常数作为操作数。
短立即寻址指令为一个单指令字,并且有一个常数嵌在该指令中。
长立即寻址的指令将一个16位常数作为操作数,从而需要两条指令字。
该常数作为第2条指令字被发送,该16位值可以是绝对常数或二进制补码。
如1:RPT #49 ;将紧跟RPT指令后的那条指令执行50次。
代码是:10111011 00110001 ;前面是RPT指令代码,后面是8位常数=49。
如2:ADD #65534,2 ;将数据65534左移两位后,再将结果加到累加器。
代码是:101111111001 0010 ;前面12位是立即寻址的ADD代码,后面是移位数。
11111111 11111110 ;是16位常数=65534=FFFEh。
3.1.2 直接寻址方式在直接寻址方式中,数据存储器地址以128为单位被分成若干块,这些块被称为数据页。
64K的数据存储器总共包含512个数据页,标号为0~511,如下表3-1所列。
当前数据页由状态寄存器ST0中的9位数据页指针(DP)值决定。
除数据页之外,处理器还必须知道该页上被访问的特定单元,这取决于7位偏移量,见表3-1。
DSP常用汇编语言指令简介
;指定当前工作寄存器
MAR *+,AR1 ;把当前寄存器AR0的内容加
间接寻址方式 TMS320LF240X中八个辅助寄存器(AR0-AR8) 提供了灵活而强大的间接寻址能力,在使用时,包 括: (1)设置辅助寄存器指针(ARP) 例如: MAR *,AR1 LDP #04H LAR AR1,0 ;指明当前寄存器为AR1 ;指明当前数据页码 ;把地址为200H单元内容 ;装载入AR1寄存器
南航自动化学院DSP技术应用实验 室
直接寻址方式 使用直接寻址方式时,包括: (1)设置数据页 例如:LDP #4 ; 指向第4个数据页 (2)指明偏移量 例如: LDP #4 ;指向第4个数据页 ADD 1 ; 把地址为204h的数据单元内 ; 容加到累加器内
南航自动化学院DSP技术应用实验 室
2. 工作寄存器等指令举例
Example1:MAR *+,AR1;把当前工作寄 存器的内容加1,然后再改变工作寄存器为 AR1。 Example2:LAR AR4,#8123h;把AR4的 值改变为立即数。 LAR AR0,16;(DP=6)把 地址=310H的内存单元内容装入AR0。 Example3:SAR AR0,*+;(如果当前工 作寄存器=AR1)把AR0的内容拷贝到AR1 南航自动化学院DSP技术应用实验 指向的内存单元。 室
4. 转移指令举例
南航自动化学院DSP技术应用实验 室
EQ NEQ LT LEQ GT GEQ NC C NOV BIO NTC TC UNC
ACC = 0 ACC <>0 ACC < 0 ACC <=0 ACC > 0 ACC >=0 C=0 C=1 OV = 0 BIO_ low TC = 0 TC = 1
DSP-04寻址方式与指令系统
80
H. 乘积寄存器(PREG)的操作 (6条) 1. 装高位 LPH dir LPH ind[,ARn] 2. 存贮PREG高位 SPH dir ;将PREG按PM规定移位后,送高位到数据存贮器 ;指定内容送PREG高位
SPH ind[,ARn] 执行时是将PREG送乘积移位器中处理结果不影响PREG
64
间接寻址七种操作方式:
方式 操作数符号
不增不减 增1 减1 加变量值 减变数值 反向进位加变址量 反向进位减变址量 例
* *+ **0+ *0*BRO+ *BRO-
AR内容所指数据存贮器地址内容加载暂时寄存器(TREG) AR内容加载后AR内容±1 AR内容加载后AR内容±ARO的内容 AR加载后,反向进位方式将当前AR内容±ARO的内容
例: SAR
ARX, ind [, ARn]
AR0, *+,
;执行中要修改,且要减、增量
例: SAR ARO,30; (DP=6)
前
ARP=0 AR0=401 401=0
后
ARP=0 401=401 AR0=402
ARO=37H
31EH=18H
ARO=37H
31EH=37H
70
3.
修改ARP MAR dir MAR ind [,ARn] 例子:MAR *,AR1 前 ARP=0 ARB=7 后 ARP=1 ARB=0
第四章 汇编语言寻址方式及指令系统
格式:操作码 共86条: [操作数] [;注释]
①数据传送类(39条)
②算术运算类 (19条)(加法4条,减法5条,乘法6条,平方2条,
标准化2条、)
③逻辑运算类(9条) ④分支转移类(19条)
C54x DSP的寻址方式及代数汇编指令
C54x DSP的寻址方式及代数汇编指令c54xdsp的寻址方式及代数汇编指令附录三:c54xdsp的寻址方式及代数汇编语言指令c54xdsp的串行方式tms320c54x系列dsp的存储空间包括程序存储空间、数据存储空间和i/o空间。
每个空间都有64k字的大小。
因此,如果采用直接的寻址方式则需16位的地址。
为了节省程序存储空间和提高程序的运行速度,经常采用间接寻址等方法以便使指令字节数减少。
在本章内将对c54x的寻址方式做较为详细的介绍。
1.程序空间串行16位直接寻址方式主要应用于程序的调用(callpmad)、跳转指令(gotopmad)和块重复指令((d)blockrepeat)中。
具体说明如下:1、pmad所指的就是16十一位程序计数器pc的内容,它代表的就是程序存储空间的地址(programmemoryaddress);2、call指令和goto指令包含无条件的call和goto和有条件的call和goto。
3、块重复指令(d)blockrepeat的初始地址藏于寄存器rsa(repeatstartingaddress)中,结束地址存于寄存器rea(repeatendingaddress)中,重复次数存于寄存器brc(blockrepeatcounter)中。
4、pc、brc、rsa、rea坐落于pagen(programaddressgenerator)当中,见到图(3a-1)。
rcbrcrsarea图(3a-1)pagen程序计数器pc2.数据空间串行数据空间的寻址正如同8086微机的寻址问题一样重要,只有正确掌握c54x数据空间的c54x提供了7种基本寻址方式:?立即寻址.1寻址方式才能正确编制c54x的汇编程序。
绝对串行.?累加器串行.?轻易串行.辅助寄存器间接寻址.?内存映射寄存器寻址.?堆栈寻址.在本节中将详尽表明这7种串行方式。
坚信详尽写作本节可以有利于对c54x处理器的重新认识和认知,并在程序的基本建设中熟练地运用这些串行方式。
09dsp第九讲寻址方式
例如: LD STL *+AR1(8)% ,A A ,*+AR1(8)%
如果循环缓冲区长度BK=10,AR1=0100h,则N=4,EFB=0100h ,index=0, 由*+AR1(8)%知步和step=8 执行第一条指令时,index=index+step=8 ,寻址108h单元; 执行第二条指令时,index=index+step=8+8=16>BK,故index=index+stepBK=8+8-10=6 ,寻址106h单元; 第六条 开始时 100h 第三条:寻址104单元;
在寻址前ARx中的地址加1,然后再寻址 (只写,不能寻址MMR)
访问后从ARx中以位倒序进位方式减去 AR0 访问后从ARx中减去AR0 访问后把AR0中加到ARx 访问后把AR0中以位倒序进位方式加到 ARx
MOD域 1000 1001 10010 1011
操作码语法 *ARx-% *ARx-0% *ARx+% *ARx+0%
有四条数据存储器地址(dmad)寻址指令: MVDK Smem, dmad MVDM dmad, MMR
MVKD dmad, Smem
MVMD MMR, dmad
2。程序存储器地址(pmad)寻址: 用一个符号或一个数来确定程序空间的一个地址。 如:MVPD TABLE , *AR4 ;将地址为TABLE的程序空间的数复 到由AR4所指定的数据存储单元中去
I=1 表示指令的寻址方式为间接寻址 MOD为4位方式或,定义间接寻址的类型 ARF为3位辅助寄存器或定义寻址所使用的辅助寄存器
这种方式可以通过在指令中修改辅助寄存器来改变寻址单元,具体的个性方式有:
3-DSP的寻址方式
5、间接寻址
▪ 8个辅助寄存器(AR0-AR7),由一个辅 助寄存器指针(ARP 3-bit)来指定
▪ 辅助寄存器算术单元(ARAU)作16-bit无 符号数运算,决定一个新的地址,装入辅 助寄存器中的一个
▪ AR0-AR7的内容相当灵活,可以装入立即 数,加上立即数,减去立即数,也可以从 数据存储器装入地址,还可以作以下的变 址寻址:
编程实例
3
y0 ai xi a0 x0 a1x1 a2 x2 a3 x3 i0
.mmregs .bss x,4,1 a0 .word 012h a1 .word 3211h a2 .word fe11h a3 .word ff03h .sect “program” LD #x,AR1 LD #0,A,AR1 LD #a0,T
第三章 DSP的软件结构
The Software structure of DSP
寻址方式(Addressing mode)
(1)立即数寻址 (2)绝对地址寻址 (3)累加器寻址 (4)直接寻址 (5)间接寻址 (6)存储器映射寄存器寻址 (7)堆栈寻址
表3-1 寻址指令中用到的缩写符号及其含义
MVDM dmad, MMR
MVKD dmad, Smem
MVMD MMR, dmad
▪ 数据存储器寻址使用符号(符号地址)或一个表 示16位地址的立即数来指明寻址的数据存储单元 的16位绝对地址。例如:
MVKD SMAPLE,*AR5;
其中SMAPLE所代表的就是一个dmad。
返回
2)程序存储器地址(pmad)寻址
加器A确定的程序存储器单元。
4、直接寻址
▪ TMS320C54X的数据存储器分为512页, 每页128字。设置一个数据页指针DP (Data Pointer),用9-bit指向一个数据页, 再加上一个7-bit的页内偏移地址,形成16bit的数据地址
DSP 第5讲 数据寻址
dma为低位构成16位数据存储单元的地址。 (组合) (2)当CPL=1时, SP中的9位为高位与指令中指定的7 位dma为低位构成16位数据存储单元的地址。(相加)
§5.4 直接寻址
DP的范围为0~511 ;dma的范围为0~127; SP可以指向存储器的任何地址,dma指向页面的特定位置,允许用 户 访问从基地址开始的连续128字的存储器块
§5.4 直接寻址
直接寻址的语法使用一个符号或一个数字指定偏移值。 DP由LD指令加载。如 LD #23,DP 直接寻址的指令书写格式为在变量前加一个@,或者用一 个直接数dma来设定偏移地址。 x指向01FF;y指向0200 ;求(X)+(Y)
§5.4 直Leabharlann 寻址 例: (在.cmd文件中进行设置 Xn:align(8) {}> DATA PAGE1) Xn .usect “Xn”,5 ; .usect为未初始化的自定义段保留5个空间 .data ;数据段,通常包含初始化的数据,分配到数据空间 table .word 1 .word 2 .word 3 .word 4 .word 5 .text ;文本段,通常包含可执行的代码 start: STM #Xn, AR1 ;AR1Xn RPT #4 ;重复计数器RC=4+1=5,重复执行下面的指令5次 MVKD table, *AR1+ ;将定义的数据送到缓冲区中 STM #Xn,AR3 ;相当于AR3指向循环缓冲区的基地址 STM #5, BK ;缓冲区大小为5 STM #1, AR0 AA: MVDK *AR3+0%, 3000h B AA .end
0111(7)
DSP汇编编程及应用举例
1.DSP汇编语言程序的编写(1)汇编语言源程序以.asm为其扩展名。
(2)汇编语言源程序的每一行都可以由4个部分组成,句法如下:[标号] [:] 助记符[操作数] [;注释]其中可用空格或TAB键隔开标号——供本程序的其他部分或其他程序调用。
标号是任选项,标号后面可以加也可以不加冒号“:”。
标号必须从第一列写起,标号最多可达到32个字符(A~Z ,a~z ,0~9 ,_ ,以及$),但第1个字符不能以数字开头。
引用标号时,标号的大小写必须一致。
标号的值就是SPC(段程序计数器)的值。
如果不用标号,则第一个字符必须为空格、分号或星号(*)。
助记符——助记符指令、汇编指令、宏指令和宏调用。
作为助记符指令,一般用大写;汇编命令和宏指令,以英文句号“.”开始,且为小写。
汇编命令可以形成常数和变量,当用它控制汇编和连接过程时,可以不占用存储空间。
指令和汇编命令都不能写在第1列。
操作数——指令中的操作数或汇编命令中定义的内容。
操作数之间必须用逗号“,”分开。
有的指令操作无操作数,如NOP、RESET。
注释——注释从分号“;”开始,可以放在指令或汇编命令的后面,也可以放在单独的一行或数行。
注释是任选项。
如果注释从第1列开始,也可以用“*”表示注释。
(3)常用的汇编命令如表所示。
(4)汇编语言程序中的数据形式如表所示2.程序2.1 程序一编程目的:了解DSP的输入和输出方法程序功能:求乘积之和y=a1*x1+a2*x2+a3*x3+a4*x4.title "mpy_add.asm".mmregs ;将存储映像寄存器导入列表STACK .usect "STACK",10h ;给堆栈段分配空间.bss a,4 ;将9个字空间分配给各个变量.bss x,4.bss y,1PA0 .set 0 ;将端口PA0全部置0.def start ;定义标号start.data ;定义数据代码段table: .word 4,4,4,4.word 4,4,4,4.text ;定义文本代码段start: STM #0,SWWSR ;将等待寄存器设为0,表示不等待STM #STACK+10h,SP ;设堆栈指针STM #a,AR1 ;将AR1指向变量a的地址RPT #7 ;从程序存储空间转移7+1个值到数据储存空间MVPD table,*AR1+CALL SUM ;调用SUM子程序end: B end ;循环等待SUM: STM #a,AR3 ;将AR3指向变量a的地址STM #x,AR4 ;将AR4指向变量x的地址RPTZ A,#3 ;将A清0,并重复执行下一条指令3+1次MAC *AR3+,*AR4+,ASTL A,@y ;将寄存器A中的低16位存入y地址空间PORTW @y,PA0 ;将y地址中的值输出到输出口RET ;子程序返回.end ;程序结束等待位的设置:C54x片内有一部件——软件可编程等待状态发生器,控制着外部总线的工作。
第三章DSP汇编指令
if 0≤ index+step < BK: index = index + step
else if index + step ≥ BK: index = index + step - BK
else if index + step< 0 index = index + step + BK
只有8条指令能使用存储器映射寄存器寻址:
LDM MMR, dst MVDM dmad, MMR MVMD MMR, dmad MVMM MMRx, MMRy POPM MMR PSHM MMR STLM src, MMR STM #lk, MMR
7. 堆栈寻址
系统堆栈用来在中断和子程序期间自动存放程序计数器。 它也能用来存放额外的数据项或传递数据值。处理器使用一 个16-bit的存储器映射寄存器—堆栈指针来对堆栈寻址,它 总是指向存放在堆栈中的最后一个元素。
2、调用与中断指令
3、返回指令
4、重复指令和堆栈操作指令
四、装入和存储指令
装入和存储指令包括:
一般的装入和存储指令 条件存储指令 并行装入和存储指令 并行装入和乘法指令 并行存储和加件乘指令 混合装入和存储指令
1、一般的装入指令
2、存贮指令
3 并行装入和存储指令 4、条件存储指令
共有四条使用堆栈寻址方பைடு நூலகம்访问堆栈的指令:
PSHD 把一个数据存储器的值压入堆栈。 PSHM 把 一 个 存 储 器 映 射 寄 存 器 的 值 压 入 堆 栈 。 POPD 把一个数据存储器的值弹出堆栈。 POPM 把一个存储器映射寄存器的值弹出堆栈。
§3-2 特殊寻址方式说明
DSP汇编指令总结
DSP 汇编指令总结一、寻址方式: 1、立即寻址:短立即寻址(单指令字) D15 D14 D13 D12 D11 D10D9 D8 D7 D6 D5 D4 D3 D2 D1 D长立即数寻址(双指令字) 第一指令字 D15 D14 D13 D12 D11 D10D9 D8 D7 D6 D 5 D 4 D 3 D 2 D 1 D第二指令字 D15 D14 D13 D12 D11 D10D9 D8 D7 D6D5 D4 D 3 D 2 D 1 D16位常数=16384=4000h2、直接寻址状态寄存器(ST0)指令寄存器(IR )3、间接寻址 ARU 辅助寄存器更新代码,决定当前辅助寄存器是否和如何进行增或减。
N 规定是否改变ARP 值,(N=0,不变)NAR下一个辅助寄存器值4.3.1、算术逻辑指令(28条)4.3.1.1、加法指令(4条);4.3.1.2、减法指令(5条);4.3.1.3、乘法指令(2条);4.3.1.4、乘加与乘减指令(6条);4.3.1.5、其它算数指令(3条);4.3.1.6、移位和循环移位指令(4条);4.3.1.7、逻辑运算指令(4条);4.3.2、寄存器操作指令(35条)4.3.2.1、累加器操作指令(6条)4.3.2.2、临时寄存器指令(5条)4.3.2.3、乘积寄存器指令(6条)4.3.2.4、辅助寄存器指令(5条)4.3.2.5、状态寄存器指令(9条)4.3.2.6、堆栈操作指令(4条)4.3.3、存储器与I/O操作指令(8条)4.3.3.1、数据移动指令( 4条)4.3.3.2、程序存储器读写指令(2条)4.3.3.3、I/O操作指令(2条)4.3.4、程序控制指令(15条)4.3.4.1、程序分支或调用指令(7条)4.3.4.2、中断指令(3条)4.3.4.3、返回指令(2条)4.3.4.4、其它控制指令(3条)4.3.1、算术逻辑指令(28条)4.3.1.1、加法指令(4条);▲ ADD▲ ADDC(带进位加法指令)▲ ADDS(抑制符号扩展加法指令)▲ ADDT(移位次数由TREG指定的加法指令)4.3.1.2、减法指令(5条);★ SUB(带移位的减法指令)★ SUBB(带借位的减法指令)★ SUBC(条件减法指令)★ SUBS(减法指令)★ SUBT(带移位的减法指令,TREG决定移位次数)4.3.1.3、乘法指令(2条);★ MPY(带符号乘法指令)★ MPYU(无符号乘法指令)4.3.1.4、乘加与乘减指令(6条);★ MAC(累加前次积并乘)(字数2,周期3)★ MAC(累加前次积并乘)★ MPYA(累加-乘指令)★ MPYS(减-乘指令)★ SQRA(累加平方值指令)★ SQRS(累减并平方指令)4.3.1.5、其它算数指令(3条);★ ABS(累加器取绝对值指令)★ NEG(累加器取补码指令)★ NORM(累加器规格化指令)返回4.3.1.6、移位和循环移位指令(4条);▲ SFL(累加器内容左移指令)▲ SFR(累加器内容右移指令)▲ROL(累加器内容循环左移指令)▲ROR(累加器内容循环右移指令)返回4.3.1.7、逻辑运算指令(4条);▲ AND(逻辑与指令)▲ OR(逻辑或指令)▲ XOR(逻辑异或指令)▲ CMPL(累加器取反指令)返回4.3.2、寄存器操作指令(35条)4.3.2.1、累加器操作指令(6条)▲ LACC(装载累加器指令)▲ LACT(装载累加器)*按TREG低4位指定的次数移位▲ LACL(装载累加器低16位指令)▲ ZALR(装载累加器指令)▲ SACL(移位并存储累加器低半部)▲ SACH(移位并存储累加器高半部)返回4.3.2.2、临时寄存器指令(5条)▲ LT(装载TREG指令)▲ LTA(装载TREG并累加上次乘积指令)▲ LTS (装载TREG并减去上次乘积指令)▲ LTD(装载TREG并累加上次乘积及数据移动指令)▲ LTP(装载TREG和累加器指令)返回4.3.2.3、乘积寄存器指令(6条)▲ PAC (乘积寄存器内容载入累加器)▲ APAC (PREG与累加器相加)▲ SPAC(累加器和乘积寄存器相减)▲ LPH(装载PREG高16位指令)▲ SPL(存储PREG低16位指令)▲ SPH(存储PREG高16位指令)返回4.3.2.4、辅助寄存器指令(5条)★ LAR(装载当前辅助寄存器AR)★ SAR(存储辅助寄存器指令)★ MAR(修改当前辅助寄存器)★ SBRK(从当前辅助寄存器减去短立即数)返回4.3.2.5、状态寄存器指令(9条)★ LST(装载状态寄存器)★ SST(存储状态寄存器)★ SETC(控制位置“1”指令)★ SETC(控制位置“1”指令)★ LDP(装载数据指针DP指令)★ BIT(位测试指令)★ BITT(测试由TREG指定bit code指令)★ CMPR(比较当前辅助寄存器AR和AR0)返回4.3.2.6、堆栈操作指令(4条)★ PUSH(累加器低16位进栈指令)★ POP(栈顶内容弹出至累加器低16位指令)★ POP(栈顶内容弹出至累加器低16位指令)★ POPD(弹栈至数据存储器指令)返回4.3.3、存储器与I/O操作指令(8条)4.3.3.1、数据移动指令( 4条)▲ DMOV(数据存储器内部数据移动指令)▲ SPLK(存储长立即数至数据存储器指令)▲ BLDD(数据存储器内部的数据块移动)▲ BLPD(从程序存储器到数据存储器的数据块传送)4.3.3.2、程序存储器读写指令(2条)★ TBLR(读程序存储器数据到数据存储器)★ TBLW(写程序存储器)4.3.3.3、I/O操作指令(2条)★ IN(数据输入指令)★ OUT(数据输出指令)4.3.4、程序控制指令(15条)4.3.4.1、程序分支或调用指令(7条)★ B(无条件转移指令)★ BANZ(辅助寄存器内容不等于零转移)★ CALL(无条件子程序调用指令)★ BACC(按累加器内容转移指令)★ CALA(由累加器指定地址的子程序调用指令)★ CC(条件调用指令)4.3.4.2、中断指令(3条)★ INTR(软中断指令)★ TRAP(软件陷阱中断)★ NMI(非屏蔽中断)4.3.4.3、返回指令(2条)★ RET(无条件从子程序或中断返回)★ RETC(条件返回指令)4.3.4.4、其它控制指令(3条)★ RPT(重复执行下条指令)★ NOP(空操作)★ IDEL(暂停)返回。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
15
C24X代码:
9bit
7bit
0001 0000 0101 1101
DP OFFSET
20H 5DH
16
1. 设置数据页面 将当前数据页面载入DP。
LDP #20H ;初始化数据页面指针 2. 设置偏移量 给出7位偏移量作为指令的一个操作数。
第6章 寻址方式和汇编指令
6 . 1 寻址方式
数据/程序/IO空间立即寻址方式
在该寻址方式下,存储器操作的地址就存在于指令中。
程序空间间接寻址方式
某些指令可以通过使用间接指针对程序空间中的存储器 进行访问。因为F2812 CPU的存储器是标准一致的,这就使 在一个机器周期中进行两次读操作成为可能。
兼容。数据页指针的偏移量是7位并支持所有C2xLP 支持的间接寻址方式。
对与loc16或者loc32字段,其可用的寻址方式总结如P202所示
第6章 寻址方式和汇编指令
6 . 1 寻址方式
在F2812间接寻址方式中,使用哪个辅助寄存 器指针在指令中并不被明确指出。而在C2xLP的间 接寻址方式中,3位长度的辅助寄存器指针被用来 选择当前使用哪个辅助寄存器以及下次操作将使用 哪个辅助寄存器。
第6章 寻址方式和汇编指令
6 .2 汇编语言指令集
指令集概述
▲ 16×16乘法操作 20 条
▲ 32×32乘法操作 13 条
▲ 直接存储器操作 17 条
▲ IO空间操作 3 条
▲ 程序空间操作 5 条
▲ 跳转/调用/返回操作 31 条
▲ 中断寄存器操作
9条
▲ 状态寄存器操作(ST0,ST1)
▲ 其他操作
AMODE 偏移量 每页大小 32位数据
(ST1.8)
地址
寻址 范围
0
@
64字
31~22=0
数据
6bit
21~6=DP:15~0
空间
5~0=6bit
的低
4M字
1
@ @ 128字
31~22=0
的范
7bit
21~7=DP:15~1 围
6~0=7bit
11
比如: 访问数据空间地址0000105DH
AMODE=0:
第6章 寻址方式和汇编指令
6 . 1 寻址方式
F2812的大多数指令利用操作码中的8位字段来选择寻址 方式和对寻址方式进行修改.在F2812指令系统中,这个8位字 段用于以下寻址方式:
(1)loc16。为16位数据访问选择直接/堆栈/间接/寄存器寻址方式。
[loc16] 表示loc16这种寻址方式对应的16位数据。
码。
第6章 寻址方式和汇编指令
6 .2 汇编语言指令集
指令集概述
28x 指令按功能可分为17 类,共 302 条指令: ▲寄存器XARn(AR0~AR7)的操作 14 条 ▲ DP寄存器操作 3 条 ▲ SP寄存器操作 34 条 ▲ AX寄存器操作(AH,AL) 38 条 ▲ 16位ACC寄存器操作 26 条 ▲ 32位ACC寄存器操作 41 条 ▲ 64位ACC: P寄存器操作 9 条 ▲ P或XT寄存器的操作(P,PH,PL,XT,T,TL) 21 条
最低有效位 最低有效字节 最低有效字 最高有效位 最高有效字节 最高有效字 对于某一条指令,位OBJMODE的状态 重复次数(N=0,1,2,3,4,5,6,7…) 可选字段 赋值 等于
第6章 寻址方式和汇编指令
6 .2 汇编语言指令集
指令句法描述
ARn
n为数值0~7,ARn指定下次的辅助寄存器。
DP高15位
OFFSET
DP值为
5DH
0041H或
0040H
14
1. 选择兼容选址模式 SETC AMODE .lp_amode
;令AMODE=1 ;通知编译器AMODE=1
2. 设置数据页面 将当前数据页面载入DP。
MOVW DP,#0041H ;初始化数据页面指针 3. 设置偏移量 给出7位偏移量作为指令的一个操作数。
ind
选择以下0~7中符号之一:
*,*+,*-,*0+,*0-,*BR0+,*BR0-。
#
立即寻址方式中常用的前缀。
数值前面带“#”,表示该数值为一个立即数。
<<
左移
>>
右移
@
当使用C28x语法时,64字的数据页通过“@”符号来表示。
ADD 5Dh ; 累加器与当前数据页面内偏移量 ; 5DH单元的内容相加,结果存入到 ; 累加器中
17
第6章 寻址方式和汇编指令
堆栈寻址方式
▲ SP(堆栈指针):在该方式下,16位的SP指针被用于访 问软件堆栈的信息.F2812的堆栈从存储器的低地址变化到 高地址,SP指针总是指向下一个空单元.当需要访问堆栈中 的数据时,由程序提供6位偏移量,SP的值减去这6位的偏 移量就是被访问的数据的地址,然后修改堆栈指针 SP. (P205 表6-1-3)
字节寻址方式
第6章 寻址方式和汇编指令
6 . 1 寻址方式
32位操作的定位
由于使用定位于偶数地址的32位数据的最低有效字,所有针 对存储器的32位读写操作都被定位于存储器接口的偶数地址 边界.地址生成器的输出不需要强制定位,因此指针值保持原值。 例如:MOVB AR0,#5 ;
MOVL *AR0,ACC ;
18
第6章 寻址方式和汇编指令
6 . 1 寻址方式
间接寻址方式
XAR0到XAR7(辅助寄存器指针):在这种寻址方式下, 32位的XARn寄存器被当作一般性数据指针.可以通过指 令实现对辅助寄存器XARn加1,(操作前/后)减1和变 址操作.
寄存器寻址方式
在该寻址方式下,寄存器可以是访问的源操作数,也 可以是目标操作数,这样在F2812中就能实现寄存器到寄存 器的操作.这一方式包括对32位和16位寄存器的寻址。
在寄存寻址方式下, loc16/loc32表示一个16位或32位寄 存器(如ACC、P、XT、AH等), [loc16]/[loc32]表示这些寄存 器内的16/32位数据。
指令操作码中对应的8位字段的具体含义如表6-1-1所示。
6
第6章 寻址方式和汇编指令
6 . 1 寻址方式
寻址方式选择位
由 于 F2812 提 供 了 多 种 寻 址 方 式 , 因 此 用 寻 址 方 式 选 择 位 (AMODE)来选择8位字段(loc16/loc32)的解码。该 位属于状态寄存器ST1。寻址方式可以大致归类如下:
中所需要的多级处理和过程控制功能。 ▲ 寻址方式是指寻找指令中操作数地址的方式。
第6章 寻址方式和汇编指令来自寻址方式TMS320C28x指令集采用7种寻址方式: ▲ 直接寻址方式 ▲ 堆栈寻址方式 ▲ 间接寻址方式 ▲ 寄存器寻址方式 ▲ 数据/程序/IO空间立即寻址方式 ▲ 程序空间间接寻址 ▲ 字节寻址方式
▲ AMODE=0——该方式是复位后的默认方式,也是F2812的C/C++编译
器使用的方式。这种方式与C2xLP CPU的寻址方式不完全兼容。数据页指针 偏移量是6位(在C2xLP CPU中是7位),并且不支持所有的间接寻址方式。
▲ AMODE=1——该方式包括的寻址方式完全与C2xLP 器件的寻址方式
以上7种寻址方式都与“loc16/loc32”组合起来使用。
第6章 寻址方式和汇编指令
在间接寻址方式下,loc16/loc32表示放在辅助寄存器 (XAR0~XAR7)中的一个地址,[loc16]/[loc32]表示这个地址对 应的16/32位数据。
在堆栈寻址方式下,loc16/loc32表示堆栈指针指向的一个 堆栈单元,[loc16]/[loc32]表示这个单元内的16/32位数据。
式)
√ 在文件中使用内嵌伪指令
. c28_amode ;告诉汇编器后面的代码段都假定 AMODE=0
(C28x寻址方式)
. lp_amode ;告诉汇编器后面的代码段都假定AMODE=1
(与C2xLP全兼容的 寻址方式)
9
第6章 寻址方式和汇编指令
6 . 1 寻址方式
直接寻址方式
▲ 该寻址方式,16位的DP寄存器被当作一个固定的页指针,在 指令中提供6位或者7位的偏移量,将这些偏移量与DP寄存器 中的值相连接构成完整的地址.当访问固定寻址的数据结构 (比如外围寄存器和C/C++中的全局或静态变量) 时是一种很 有效的方法.
第6章 寻址方式和汇编指令
汇编器/编译器对AMODE位的追踪
编译器总是假定AMODE=0,所以它只使用对AMODE=0
有效的寻址模式。而汇编器可以通过设置命令行选项实现默认
AMODE=0或者AMODE=1。
√ – v28
;假定AMODE=0(C28x寻址方式)
– v28 – m20 ;假定AMODE=1(与C2xLP全兼容的寻址方
8位立即数 8位立即数,零扩展 8位立即数,符号扩展 10位立即数 10位立即数,零扩展 10位立即数,符号扩展 16位立即数 16位立即数,零扩展 16位立即数,符号扩展 22位立即数 22位立即数,零扩展
第6章 寻址方式和汇编指令
一些符号描述
LSb LSB LSW MSb MSB MSW OBJ N {} = ==
用户在生成不定位于偶数边界的地址时必须考虑上述内容。 32位操作数以下列顺序存放:低位数,0~15;后续的是高位数,16~31;接 着是最高的16位地址增量(低位在前的二进制数据格式)。
第6章 寻址方式和汇编指令
6 .2 汇编语言指令集
汇编语言包括:汇编指令、伪指令和宏指令