第3章指令系统上课用201003【ppt】
合集下载
第三章指令系统PPT课件
BACK NEXT HOME
3.1.2 指令的表达形式
指令的表示形式是识别指令的标志,由操作码和操作数两部分组 成,一般有三种表达形式。
1,二进制的表示形式:(以“累加器的内容+08H”为例) 00100100B 操作码 OP (加法) 00001000B 操作数DATA(08H)
特点: 能被CPU直接识别、运行的形式。也称机器码、汇编语 言的目标代码。
缺点:不便于阅读、记忆和调试修改。
2,十六进制表示方式:
它是对二进制形式的一种简化。如
00100100B
24H ; 00001000B
08H
在实验室等少数环境下,可以将这种形式作为输入程序的一种辅
助手段。但是,这种形式的指令格式必须由对应的监控程序把它们翻
译成二进制的“机器码”后存入程序存储器并运行。
BACK NEXT HOME
3.2 指令系统的寻址方式
在指令的操作数位置上,用于表征、寻找﹑提取操作数的方式定 义为“寻址方式”。 正确的理解、掌握寻址方式,是学习、使用指令的关键。 在MCS-51单片机中,共使用了七种寻址方式。 它们分别是:
1, 立即寻址;2, 寄存器寻址;3, 直接寻址;4, 寄存器间接寻址; 5, 变址寻址;6, 相对寻址; 7, 位寻址。
⒉按指令执行时间分: 1个机器周期(12个时钟振荡周期)的指令64条; 2个机器周期(24个时钟振荡周期)的指令45条; 只有乘、除两条指令的执行时间为4个机器周期(48个时钟振荡周 期)。
3.1.2 指令的表达形式
指令的表示形式是识别指令的标志,由操作码和操作数两部分组 成,一般有三种表达形式。
1,二进制的表示形式:(以“累加器的内容+08H”为例) 00100100B 操作码 OP (加法) 00001000B 操作数DATA(08H)
特点: 能被CPU直接识别、运行的形式。也称机器码、汇编语 言的目标代码。
缺点:不便于阅读、记忆和调试修改。
2,十六进制表示方式:
它是对二进制形式的一种简化。如
00100100B
24H ; 00001000B
08H
在实验室等少数环境下,可以将这种形式作为输入程序的一种辅
助手段。但是,这种形式的指令格式必须由对应的监控程序把它们翻
译成二进制的“机器码”后存入程序存储器并运行。
BACK NEXT HOME
3.2 指令系统的寻址方式
在指令的操作数位置上,用于表征、寻找﹑提取操作数的方式定 义为“寻址方式”。 正确的理解、掌握寻址方式,是学习、使用指令的关键。 在MCS-51单片机中,共使用了七种寻址方式。 它们分别是:
1, 立即寻址;2, 寄存器寻址;3, 直接寻址;4, 寄存器间接寻址; 5, 变址寻址;6, 相对寻址; 7, 位寻址。
⒉按指令执行时间分: 1个机器周期(12个时钟振荡周期)的指令64条; 2个机器周期(24个时钟振荡周期)的指令45条; 只有乘、除两条指令的执行时间为4个机器周期(48个时钟振荡周 期)。
《指令系统》PPT课件
• 寄存器相对寻址 MOV AX , COUNT [ SI ]
• 相对基址变址寻址 MOV AX , MASK [ BX ] [ SI ]
ห้องสมุดไป่ตู้2021/8/18
7
一、立即数寻址
特点:1、操作数在指令中给出。 指令
数据
例: MOV AL, 5
MOV AX, 3064H 2、执行速度快
操作数直接从指令取得,不需使用总线周期。
注: 1)目的和源操作数都可用寄存器寻址方式。 2)目的和源操作数长度一致。
MOV BL, AX (×)
2021/8/18
9
三、直接寻址
特点:1、操作数位于内存,指令指定数据在内存中的有效地址。
指令
内存
EA
数据
2、如未指明操作数所在的段,默认为数据段。 例:MOV AX, [ 2000H ] 假设DS=3000H, 则PA=30000H + 2000H =32000H
注:存储单元的地址可用除立即数和寄存器以外的任何一种 数据寻址方式得到。
2021/8/18
27
3.3 8086的指令系统
• 数据传送指令 • 算术运算指令 • 逻辑运算指令 • 移位指令 • 处理器控制指令
2021/8/18
28
3.3.1数据传送指令
功能:把数据或地址传到寄存器、存储单元或外设端口。 1 通用数据传送指令 2 堆栈指令 3 地址传送指令 4 标志寄存器传送指令 5 累加器专用传送指令
微机课件第三章指令系统
程序的功能。
分支程序设计
根据条件判断的结果,选择不 同的代码路径执行,实现程序
的分支控制。
循环程序设计
通过循环控制结构,实现程序 的重复执行,提高程序的执行
效率。
子程序设计
将常用的功能模块编写成子程 序,方便程序的调用和维护。
05 微机课件第三章指令系统应用举例
CHAPTER
05 微机课件第三章指令系统应用举例
操作数
实际参与运算的数据,可 以是立即数、寄存器内容 或内存单元内容。
指令格式
01
02
03
操作码
指定指令要进行的操作性 质,如加、减、乘、除等。
操作数地址
指定参与操作的操作数所 在地址,可以是寄存器、 内存单元等。
操作数
实际参与运算的数据,可 以是立即数、寄存器内容 或内存单元内容。
寻址方式
寄存器间接寻址
精简指令集
设计了非常简洁的指令集,让处 理器的每一部分都能快速的执行 并有效的完成操作。
02 指令格式与寻址方式
CHAPTER
02 指令格式与寻址方式
CHAPTER
指令格式
01
02
03
操作码
指定指令要进行的操作性 质,如加、减、乘、除等。
操作数地址
指定参与操作的操作数所 在地址,可以是寄存器、 内存单元等。
01 指令系统概述
分支程序设计
根据条件判断的结果,选择不 同的代码路径执行,实现程序
的分支控制。
循环程序设计
通过循环控制结构,实现程序 的重复执行,提高程序的执行
效率。
子程序设计
将常用的功能模块编写成子程 序,方便程序的调用和维护。
05 微机课件第三章指令系统应用举例
CHAPTER
05 微机课件第三章指令系统应用举例
操作数
实际参与运算的数据,可 以是立即数、寄存器内容 或内存单元内容。
指令格式
01
02
03
操作码
指定指令要进行的操作性 质,如加、减、乘、除等。
操作数地址
指定参与操作的操作数所 在地址,可以是寄存器、 内存单元等。
操作数
实际参与运算的数据,可 以是立即数、寄存器内容 或内存单元内容。
寻址方式
寄存器间接寻址
精简指令集
设计了非常简洁的指令集,让处 理器的每一部分都能快速的执行 并有效的完成操作。
02 指令格式与寻址方式
CHAPTER
02 指令格式与寻址方式
CHAPTER
指令格式
01
02
03
操作码
指定指令要进行的操作性 质,如加、减、乘、除等。
操作数地址
指定参与操作的操作数所 在地址,可以是寄存器、 内存单元等。
01 指令系统概述
第三章计算机指令系统ppt课件
MOV DPTR,#0000H MOVX A,@DPTR MOV 60H,A
习题4:将外部RAM中100H单元中的内容送入外部RAM中 200H单元中。
MOV DPTR,#0100H MOVX A,@DPTR MOV DPTR,#0200H MOVX @DPTR,A
三、 交换指令 实现片内RAM区的数据双向传送
2021/4/22
例3-2-1:顺序执行下列指令序列,求每一步执行结果
。 MOV A,#30H
;A= 30H
MOV 4FH,A
;(4FH)= 30H
MOV R0,#20H
;R0= 20H
MOV @R0,4FH
;(20H)= 30H
MOV 21H,20H
;(21H)= 30H
习题1:用两种寻址方式实现,将片内RAM 60H单元的数
二. 机器语言指令格式
操作码 [操作数1] [操作数2] 有单字节、双字节和三字节指令。
汇编语言指令中操作码和操作数是指令主体,称为 指令可执行部分,指令表中可查出对应指令代码。
举例:
汇编语言:
机器语言:
MOV A,R0 MOV R6,#32H MOV 40H,#100H
E8H 7E 32H 75 40 64H
MOV A,#34H ;将立即数34H送入A中,执行完本条指令后,A中的值是34H。
2)以寄存器Rn为目的操作的指令
习题4:将外部RAM中100H单元中的内容送入外部RAM中 200H单元中。
MOV DPTR,#0100H MOVX A,@DPTR MOV DPTR,#0200H MOVX @DPTR,A
三、 交换指令 实现片内RAM区的数据双向传送
2021/4/22
例3-2-1:顺序执行下列指令序列,求每一步执行结果
。 MOV A,#30H
;A= 30H
MOV 4FH,A
;(4FH)= 30H
MOV R0,#20H
;R0= 20H
MOV @R0,4FH
;(20H)= 30H
MOV 21H,20H
;(21H)= 30H
习题1:用两种寻址方式实现,将片内RAM 60H单元的数
二. 机器语言指令格式
操作码 [操作数1] [操作数2] 有单字节、双字节和三字节指令。
汇编语言指令中操作码和操作数是指令主体,称为 指令可执行部分,指令表中可查出对应指令代码。
举例:
汇编语言:
机器语言:
MOV A,R0 MOV R6,#32H MOV 40H,#100H
E8H 7E 32H 75 40 64H
MOV A,#34H ;将立即数34H送入A中,执行完本条指令后,A中的值是34H。
2)以寄存器Rn为目的操作的指令
第3章 指 令 系 统PPT课件
Page 18
表3-2
数据传送类指令
语法 Rd = IM16 Rd = IM6
指令长度/W 2
影响标志
周期数 4 2
Rd = [BP+IM6]
1 5
Rd = [ A6 ]
Rd = [ A16 ]
2
7
Rd = Rs
1
4
Page 19
语 法 指令长度/W
Rd =[ Rs ]
Rd =[ Rs ++]
Rd
IM16
16位立即数
A6
6位地址码
Page 14
符号 A16
Rd
16位地址码
功能说明
目的(destination)寄存器或存储器指针
Rs
源寄存器或存储器指针
→
数据传送符号
Page 15
符号 MR
&, | ,^ {} []
++,―― ss,us Label
FIR
N Z S
C
//
Page 16
功能说明 由R4和R3组成的32位结果寄存器,R4为高16位,R3为低16位 逻辑与、逻辑或、逻辑异或符号 可选项 寄存器间接寻址标志 指针单位字增量、字减量 两个有符号数之间的操作,无符号数与有符号数之间的操作 程序标号 有限冲击响应FIR(Finite Impulse Response),数字信号处理中的 一种具有线性相位及任意幅度特性的数字滤波算法 负标志,N=0表示运算结果最高有效位为0;N=1表示最高有效位为1 零标志,Z=0表示运算结果不为0;Z=1表示运算结果为0 符号标志,S=0表示结果不为负;S=1表示结果为负数(2的补数) 进位标志,C=0表示运算过程中无进位或有借位产生;C=1表示运算过程 中有进位或无借位产生 注释符
表3-2
数据传送类指令
语法 Rd = IM16 Rd = IM6
指令长度/W 2
影响标志
周期数 4 2
Rd = [BP+IM6]
1 5
Rd = [ A6 ]
Rd = [ A16 ]
2
7
Rd = Rs
1
4
Page 19
语 法 指令长度/W
Rd =[ Rs ]
Rd =[ Rs ++]
Rd
IM16
16位立即数
A6
6位地址码
Page 14
符号 A16
Rd
16位地址码
功能说明
目的(destination)寄存器或存储器指针
Rs
源寄存器或存储器指针
→
数据传送符号
Page 15
符号 MR
&, | ,^ {} []
++,―― ss,us Label
FIR
N Z S
C
//
Page 16
功能说明 由R4和R3组成的32位结果寄存器,R4为高16位,R3为低16位 逻辑与、逻辑或、逻辑异或符号 可选项 寄存器间接寻址标志 指针单位字增量、字减量 两个有符号数之间的操作,无符号数与有符号数之间的操作 程序标号 有限冲击响应FIR(Finite Impulse Response),数字信号处理中的 一种具有线性相位及任意幅度特性的数字滤波算法 负标志,N=0表示运算结果最高有效位为0;N=1表示最高有效位为1 零标志,Z=0表示运算结果不为0;Z=1表示运算结果为0 符号标志,S=0表示结果不为负;S=1表示结果为负数(2的补数) 进位标志,C=0表示运算过程中无进位或有借位产生;C=1表示运算过程 中有进位或无借位产生 注释符
微机课件03第三章:指令系统-讲义
操作数的寻址方式 概念:寻找操作数或操作数地址的方法 目的:以确定数据的来源和去处。
源操作数 目的操作数
指令格式:指令 源操作数,目的操作数 指令 源操作数 指令 目的操作数
操作数的寻址方式
• 立即寻址 ——立即数操作数
• 寄存器寻址 ——寄存器操作数
• 直接寻址
• 寄存器间接寻址
• 基址寻址 • 变址寻址 • 基址变址寻址
变址寻址
操作数在内存中,(默认段)*16+(SI/DI)+Disp
基址变址寻址 操作数在内存中,(默认段)*16+(BX/BP)+(SI/DI)
基址变址相对寻址 操作数在内存中, (默认段)*16+(BX/BP)+(SI/DI)+Disp
19
3.4.1 数据传送指令
MOV AX,[BP]
物理地址= =(SS)*16+(BP)= 12000H
MOV AX,ES:[BP]
物理地址= =(ES)*16+(BP)= 31000H
13
5.基址寻址
操作数存放在存储单元某一位置,其EA由 基址寄存器BX或BP加指令给出的Disp得到
默认段同寄存器寻址 格式:
指令 操作数1,[基址寄存器+Disp] 指令 操作数1,Disp[基址寄存器] 举例:MOV AX,[BX+100H]或MOV AX,100H[BX]
源操作数 目的操作数
指令格式:指令 源操作数,目的操作数 指令 源操作数 指令 目的操作数
操作数的寻址方式
• 立即寻址 ——立即数操作数
• 寄存器寻址 ——寄存器操作数
• 直接寻址
• 寄存器间接寻址
• 基址寻址 • 变址寻址 • 基址变址寻址
变址寻址
操作数在内存中,(默认段)*16+(SI/DI)+Disp
基址变址寻址 操作数在内存中,(默认段)*16+(BX/BP)+(SI/DI)
基址变址相对寻址 操作数在内存中, (默认段)*16+(BX/BP)+(SI/DI)+Disp
19
3.4.1 数据传送指令
MOV AX,[BP]
物理地址= =(SS)*16+(BP)= 12000H
MOV AX,ES:[BP]
物理地址= =(ES)*16+(BP)= 31000H
13
5.基址寻址
操作数存放在存储单元某一位置,其EA由 基址寄存器BX或BP加指令给出的Disp得到
默认段同寄存器寻址 格式:
指令 操作数1,[基址寄存器+Disp] 指令 操作数1,Disp[基址寄存器] 举例:MOV AX,[BX+100H]或MOV AX,100H[BX]
3第三章课件(指令系统)
元中。
3.2 80C51的寻址方式
• 是寻找操作数或指令的地址的方式。
• 80C51的寻址方式有七种。即:寄存器寻 址、直接寻址、寄存器间接寻址、立即寻 址、基址寄存器加变址寄存器变址寻址、 相对寻址和位寻址。
若不特别声明,我们后面提到的寻址方式 均指源操作数的寻址方式。
3.2.1 寄存器寻址
rel 是一个带符号的8位二进制数,取值范围是-128~ +127,以补码形式置于操作码之后存放。
00H
PC值 字节数
1000H+02H=1002H
1000H 40H 1001H 75H 1002H
如:
RAM
1002H+75H=1077H
当前PC值 偏移量 新PC值
JC rel ; rel=75H
PSW 10000000
在-128~+127范围内; bit----------------片内RAM位地址、SFR的位地址(可
用符号名称表示);
/-------------------位操作数的取反操作前缀; (×)----------- 表示 × 地址单元或寄存器中的内容; ← ----------------将箭头右边的内容送入箭头左边的单
立即寻址所对应的寻址空间为:ROM
00H
如: MOV A,#50H
RAM A 50H SFR
74H 50H
3.2 80C51的寻址方式
• 是寻找操作数或指令的地址的方式。
• 80C51的寻址方式有七种。即:寄存器寻 址、直接寻址、寄存器间接寻址、立即寻 址、基址寄存器加变址寄存器变址寻址、 相对寻址和位寻址。
若不特别声明,我们后面提到的寻址方式 均指源操作数的寻址方式。
3.2.1 寄存器寻址
rel 是一个带符号的8位二进制数,取值范围是-128~ +127,以补码形式置于操作码之后存放。
00H
PC值 字节数
1000H+02H=1002H
1000H 40H 1001H 75H 1002H
如:
RAM
1002H+75H=1077H
当前PC值 偏移量 新PC值
JC rel ; rel=75H
PSW 10000000
在-128~+127范围内; bit----------------片内RAM位地址、SFR的位地址(可
用符号名称表示);
/-------------------位操作数的取反操作前缀; (×)----------- 表示 × 地址单元或寄存器中的内容; ← ----------------将箭头右边的内容送入箭头左边的单
立即寻址所对应的寻址空间为:ROM
00H
如: MOV A,#50H
RAM A 50H SFR
74H 50H
三章指令系统-PPT精选文档
4
2、操作码
指令系统中的每一条指令都有一个唯一确定的操作 码,指令不同,其操作码的编码也不同。 操作码字段的位数取决于计算机指令系统的规模。 通常,希望用尽可能短的操作码字段来表达全部指 令。于是,形成了操作码结构设计的不同方法。 指令操作码的编码可分为定长编码和变长编码。
5
定长编码
定长编码方式是最简单的一种操作码编码方式,操 作码的位数和位置固定,但指令长度不固定。操作 码的位数越多,所能表示的操作种类就越多。 操作码不同,所涉及的操作数的个数也不完全相同, 所以指令的长度会随操作码的不同而变化。
8
PDP-11机的指令格式
OP不一样长, 控制器设计变 得难多了。
9
指令操作码的扩展技术
变长操作码常常采用扩展操作码的方法来设计。 扩展思路:让地址码个数多的指令,操作码字段短些; 让地址码个数少的指令,操作码字段长些。 假设,某机器指令长16位,包括一个操作码字段和三 个地址字段,其中操作码字段4位,每个地址字段也是 4位。其格式如下:
13
二地址指令
格式:
OP
A1
A2
执行的操作: (A1) OP (A2) → A1 A1为目的操作数地址,兼做存放结果的地址; A2为源操作数地址。(A1原先的值无需保存) A1、A2可以是内存中的单元地址,也可以是运 算器中的通用寄存器。如果是内存中的单元地址, 则执行一条二地址指令至少要访问4次主存.
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2021/2/10
13
Design and Practice of DSP System
Author: Deng Chen
• 地址形成过程: 当CPL=0时,
16位数据 存储器地址
9位数据页指针DP
dmad
2021/2/10
高9位
低7位
14
Design and Practice of DSP System
#3,DP ;立即0 0数0A030 赋001给1 DP0101@01 x01101010
@x,A @x,A
;@机x0x单器00000码00元D0000P0000的0操000A000结数作010051果码10据0100010送1d入101m11011aA@11F111xF1F11F1
第 4 页
ALDD ADD ADD
CPL CPL数据地址发生器 0 EA=DP:偏移量(IR) 1 EA=SP+偏移量(IR)
DAB(16)(读) EAB(16)(写) 或 CAB(32 位读)
数据总线 DB(16) 数据总线 EB(16)
EA: 有效地址 IR: 指令寄存器
通过设置ST1中的CPL位,CPL=0,选择DP,CPL=1选择SP。
AR5;
将数据存储器EXAM1地址单元中的数据复制到 AR5寄存器所指向的数据存储单元中。
数据存储器的 16位地址dmad值
MVPD TABLE, * AR2;将程序存储器TABLE地址单元中的内容复制到
AR2寄存器所指向的数据存储单元中。
程序存储器的 16位地址pmad值
PORTR
FIFO, * AR5; 把一个数从端口为FIFO的I/O口复制到AR5
② 采用DP寻址时,要注意数据所在的页面
指针。
2021/2/10
21
Βιβλιοθήκη Baidu
Design and Practice of DSP System
Author: Deng Chen
5、 间接寻址
❖ 利用辅助寄存器中数值作为绝对地址 (C5400系列有8个辅助 寄存器)
❖ 主要用于按某种固定方式对数据空间的连续访问 64K×16bit数据空间任一单元都可以通过一个辅助寄存器中 的16bit地址进行访问
2021/2/10
5
Design and Practice of DSP System
Author: Deng Chen
➢ 存储器寻址方式 1 立即寻址 ❖ 以指令中立即数为操作数 ❖ 采用#号作为前缀来表示立即数
❖ 立即数的长度取决于指令的类型
短立即数
长立即数
3位或5位数
8位数
9位数
16位数
LD
利用数据指针DP和堆栈指针SP寻址。 指令格式:
指令的8位操作码
数据存储器地址 包含了数据存储器偏移地址
指令的标识符 表示指令为直接寻址
2021/2/10
16
Design and Practice of DSP System
Author: Deng Chen
• 寻址范围
➢ DP地址的范围是从0~511(29-1),将存储器分 成512页。 ➢ 7位dmad范围是从0~127,
❖ 采用单循环指令与上述指令配合时,累加器A的数
值会自动增加,因此可以方便的实现程序空间和数据
2021/2空/10间数据的交换
10
4 D直esi接gn 寻and址Practice of DSP System
Author: Deng Chen
C54x DSP数据存储器按块(页)组织,每80H(128)个存储单元为一个块 (页),64K字的数据存储器可分成512页,数据分页见图。
•直接寻址标识:
① 变量前加@,如@x; ② 在偏移量前加@,如@5。
利用直接寻址可以在不改变DP或SP的情况下, 随机寻址128个存储单元中的任何一个单元。
直接寻址的优点:每条指令只需要一个字。
2021/2/10
18
Design and Practice of DSP System
Author: Deng Chen
❖ 修改方式可以为后加、后减、特定步长
❖ 寻址方式最为灵活
2021/2/10
22
Design and Practice of DSP System
Author: Deng Chen
✓ 灵活的寻址方式
❖ 按辅助寄存器内地址更新方式分类 线性寻址 (通常的顺序访问) 循环寻址 (把某段数据区视为一个头尾相接的环,地 址的变化始终在该段数据区范围内)
允许每页有128个可以访问的单元。
➢SP可以指向存储器中的任意一个地址0~64k。 ➢Dmad是距栈顶的数,可以指向当前页中具体的单元 ,
允许访问存储器任意基地址中的连续的128个单元
2021/2/10
17
Design and Practice of DSP System
Author: Deng Chen
1 2
LD
@1,A
A 00 0000 0150
;Ax单0@元010的=d0m0数0a2x0据0110H05送000入00A01
dmay 000 0010
+ 0@220=2H0200205H0
ADD @2,A ;完成x和yX单地址元的0 2数0 1
00 0000 0150
据相加 y地址 0 2 0 2
比特翻转寻址 (专门为FFT变换而设计的,完成地址比特翻 转的翻译)
❖ 按寻址的辅助寄存器数目来分类
单数据(Smem)方式 (在一条指令中只利用一个辅助寄存器 间接寻址)
双数据(Dmem)方式 (在一条指令中同时利用两个辅助寄 存器间接寻址)
2021/2/10
23
Design and Practice of DSP System
• 举例
例1:数据存储器存储数据如图所示,采用数据页指针 DP直接寻址,完成x,y单元的两个数据求和。
RSBX RSBX
CPL CPL
;CPL复DP位结果
dma
第 3 页
0180 0001 01FF 1000
LD LD LD LD
#3,DP
A 0
00
0000
0D00P01010
1500
111
1d1m1a1
+/- % 0
D BA( 16) (读)
EBA( 16) (写)或 CBA( 16) (32 位 读 )
2021/2/10
低有效字 高有效字
• 图3-1 32位字的存储顺序
2021/2/10
4
Design and Practice of DSP System
➢ 存储器寻址方式
Author: Deng Chen
▪ 寻址方式 ✓ 立即寻址 ✓ 绝对寻址
✓ 累加器寻址
✓ 直接寻址 ✓ 间接寻址 ✓ 存储器映射寄存器寻址 ✓ 堆栈寻址
Design and Practice of DSP System
Author: Deng Chen
第3章指令系统上课用201003【ppt】
Design and Practice of DSP System
Author: Deng Chen
Design and Practice of DSP System
20
Design and Practice of DSP System
• 直接寻址特点:
Author: Deng Chen
① 所寻址数据存储器的16位地址是由DP或SP 与7位偏移地址dmad构成;
② 寻址速度快,能进行流水线并行操作。
用途:主要用于要求运算速度较快的场合。
注意:① 上述两种直接寻址方式是相互排斥的;
2 绝对寻址
绝对寻址有四种类型 : ① 数据存储器地址(dmad)寻址; ② 程序存储器地址(pmad)寻址; ③ 端口(PA)寻址; ④ *(1k)寻址。
2021/2/10
8
Design and Practice of DSP System
Author: Deng Chen
MVKD
EXAM1,
*
2 绝对寻址
指令中含有所要寻找的操作数的16位存储单元 地址。
16位地址表示形式: ① 地址标号,如:TABLE; ② 16位符号常量,如:89AB、1234。
用途:用于对速度要求较低的场合。
2021/2/10
7
Design and Practice of DSP System
Author: Deng Chen
@#y4,ADP @y,A @y,A
;@机据完0y器A0相成00码001+0加0Lx08000和D00操H10000y作00050单#00码1004010+元,0101D000的P00020100数10@000@H80y0000y0100001
00 0000 1500
0200H 0500 0 2 0 0
Author: Deng Chen
地址形成过程: 当CPL=1时,
堆栈指针SP
16位堆栈指针SP
16位数据 存储器地址
2021/2/10
SP+dmad
dmad
16位SP+dmad
高9位
低7位
15
Design and Practice of DSP System
• 指令格式
Author: Deng Chen
ARP( 3)
AR0(16)索 引 AR1(16) AR2(16) AR3(16) AR4(16) AR5(16) AR6(16) AR7(16) BK(16)
数 据 总 线 D B(16)
数 据 总 线 EB( 16)
AR 0 BK lk 1 ARAU0 O
+/- % 0 B AR0 BK 1
ARAU1
Author: Deng Chen
Design and Practice of DSP System
▪ 32位字的存储顺序
Author: Deng Chen
累加器 A
高有效字
寻址1000H时的 32位字存储顺序
1000H 1001H
高有效字 低有效字
低有效字
寻址1001H时的 32位字存储顺序
1000H 1001H
2021/2/10
19
Design and Practice of DSP System
Author: Deng Chen
3.1.4 直接寻址
例2:数据存储器存储数据如图所示,利用堆栈指针SP直 接寻址,求堆栈中距栈顶两个数x,y的和。
SP→ x:
y:
0100 0050
2021/2/10
SSBX CPL ;SCPPL0置000位0执01行0结00果00 0000 0200H
✓ 单数据间接寻址结构
Author: Deng Chen
辅助寄存器算 术单元
单操作数寻址 的结构如图所示, 辅助寄存器中地址 的产生是通过辅助 寄存器算术单元 (ARAU)和相关的硬 件来完成的,ARAU 完成对16比特无符 号地址的算术运算, 其源数据来自辅助 寄存器、BK、1k和 地址更新方式。
FRAME LD
LD
RPT
ADD ADDM AND ANDM BITF CMPM LD MAC OR
ORM RPT RPTZ ST STM SUB XOR XORM
例:ld #0x80,A
2021/2/10
6
Design and Practice of DSP System
Author: Deng Chen
存储器寻址方式
3 累加器寻址---指把累加器中的数值作为地址来对 程序存储访问的方式
❖ 相关指令 reada Smem writa Smem
Reada---根据累加器A指定的地址从相应的程序存 储器中读取数据,并将其写入到Smem指定的数据存 储器中,
Writa----把Smem指定的数据存储器的数值取出, 按照A所指定的地址将它写入相应的程序存储器单 元中。
2021/2/10
11
Design and Practice of DSP System
Author: Deng Chen
直接寻址所要寻址的数据存储器16位地址是由基 地址和偏移地址构成。偏移地址是由指令中的7位地址 构成,基地址由数据页指针DP或堆栈指针SP构成。直 接寻址方式可以在不改变 DP或SP的情况下,随机地寻 找 128个存储单元中的任何一个单元地址,且直接寻址 的指令只需要一个字,寻址速度快,能进行流水线并行 操作。
直接寻址地址表示形式可以有以下两种:
① 变量前加@,如@x; ② 在偏移量前加@,如@5。
2021/2/10
12
Design and Practice of DSP System
➢ 存储器寻址方式
Author: Deng Chen
✓ 直接寻址的地址形成 (见P34)
DP(9) SP(16)
来自指令寄存器 IR(dma)低 7 位
寄存器所指向的数据存储单元中。
I/O端口地址PA
LD *(PN), A ;
把地址为PN的数据单元中的数据装到累加 器A中。
2021/2/10 注意:*(1k)寻址的指令不能与循环指令(RPT,RPTZ)一起使用9 。
Design and Practice of DSP System
Author: Deng Chen