第3章指令系统上课用201003【ppt】
合集下载
微机课件第三章指令系统
定制化
融合化
随着计算机体系结构的不断发展,未 来可能出现融合多种指令集优势的全 新架构,实现更高的性能和更低的功 耗。
针对不同应用场景和需求,未来将出 现更多定制化的指令集架构,以满足 特定领域的性能、功耗等要求。
04 汇编语言程序设计基础
CHAPTER
04 汇编语言程序设计基础
CHAPTER
汇编语言概述及特点
指令系统定义与功能
指令系统定义
指令系统是计算机硬件的语言系统,也叫机器语言,指机器所具有的全部指令的 集合。
指令系统功能
它是软件和硬件的主要界面,反映了计算机所拥有的基本功能。从系统结构的角 度看,它是系统程序员看到的计算机的主要属性。因此指令系统表征了计算机的 基本功能决定了机器所要求的能力,也决定了指令的格式和机器的结构。
01 指令系统概述
CHAPTER
01 指令系统概述
CHAPTER
指令系统定义与功能
指令系统定义
指令系统是计算机硬件的语言系统,也叫机器语言,指机器所具有的全部指令的 集合。
指令系统功能
它是软件和硬件的主要界面,反映了计算机所拥有的基本功能。从系统结构的角 度看,它是系统程序员看到的计算机的主要属性。因此指令系统表征了计算机的 基本功能决定了机器所要求的能力,也决定了指令的格式和机器的结构。
言高。
汇编语言概述及特点
汇编语言是一种低级语言
01
它与机器语言密切相关,是机器语言的符号化表示,具有直观、
易理解和易操作硬件的优点。
汇编语言依赖于具体的计算机体系结构
02
不同的计算机体系结构有着不同的指令集和寻址方式,因此汇
编语言程序通常只能在特定的计算机上运行。
第3章 指 令 系 统PPT课件
Page 24
格式4:[ A16 ] = Rs 说明:把源寄存器Rs中的数据存储到A16 为地址的存储单元。 例如:R1=0x0011 //R1的值为0x0011
3.2 SPCE061A指令系统
3.2.1 数据传送指令
数据传送指令是把源操作数传送到指 令所指定的目标地址中,是一种复制操作, 指令执行后,源操作数不变,目的操作数 被源操作数代替。
数据传送指令的通用格式如下: <目的操作数>=<源操作数>
Page 17
下面按寻址方式介绍SPCE061A的数 据传送指令,表3-2给出了所有的数据传送 指令以及各个指令的格式、执行周期数、 指令长度及对标志位状态的影响。
R1=R2 //R1的值变为0xF001
Page 23
3.直接寻址
格式1:Rd = [ A6 ] 说明:把A6指定的存储单元中的数据读到 Rd寄存器。 格式2:Rd = [ A16 ] 说明:把A16指定的存储单元中的数据读 到Rd寄存器。 格式3:[ A6 ] = Rs 说明:把源寄存器Rs中的数据送到A6为地 址的存储单元。
Page 21
格式1:Rd = IM16 说明:16位立即数送入目标寄存器Rd。 格式2:Rd = IM6 说明:6位立即数扩展为16位送入目标寄存 器Rd。 例如:R1=0xF001 //R1的值变为0xF001
Page 22
2.寄存器寻址
格式1:Rd=Rs 说明:将源寄存器Rs的数据送到目标寄存 器Rd。 例如:R2=0xF001 //R2的值为0xF001
(3)寄存器寻址:操作数包含在寄存器中, 由指令指定寄存器的名称。 (4)寄存器间接寻址:寄存器中存储的是 操作数的地址,书写指令时,寄存器需要 用“[ ]”括起来。
格式4:[ A16 ] = Rs 说明:把源寄存器Rs中的数据存储到A16 为地址的存储单元。 例如:R1=0x0011 //R1的值为0x0011
3.2 SPCE061A指令系统
3.2.1 数据传送指令
数据传送指令是把源操作数传送到指 令所指定的目标地址中,是一种复制操作, 指令执行后,源操作数不变,目的操作数 被源操作数代替。
数据传送指令的通用格式如下: <目的操作数>=<源操作数>
Page 17
下面按寻址方式介绍SPCE061A的数 据传送指令,表3-2给出了所有的数据传送 指令以及各个指令的格式、执行周期数、 指令长度及对标志位状态的影响。
R1=R2 //R1的值变为0xF001
Page 23
3.直接寻址
格式1:Rd = [ A6 ] 说明:把A6指定的存储单元中的数据读到 Rd寄存器。 格式2:Rd = [ A16 ] 说明:把A16指定的存储单元中的数据读 到Rd寄存器。 格式3:[ A6 ] = Rs 说明:把源寄存器Rs中的数据送到A6为地 址的存储单元。
Page 21
格式1:Rd = IM16 说明:16位立即数送入目标寄存器Rd。 格式2:Rd = IM6 说明:6位立即数扩展为16位送入目标寄存 器Rd。 例如:R1=0xF001 //R1的值变为0xF001
Page 22
2.寄存器寻址
格式1:Rd=Rs 说明:将源寄存器Rs的数据送到目标寄存 器Rd。 例如:R2=0xF001 //R2的值为0xF001
(3)寄存器寻址:操作数包含在寄存器中, 由指令指定寄存器的名称。 (4)寄存器间接寻址:寄存器中存储的是 操作数的地址,书写指令时,寄存器需要 用“[ ]”括起来。
《指令系统 》课件
指令系统的发展也推动了计算机系统的进步,如随着指令集架构的演进,计算机系统的功能越来越强大 ,性能也越来越高。
在人工智能领域的应用
指令系统在人工智能领域中也有 着广泛的应用。人工智能算法的 实现需要大量的计算和数据处理 ,而指令系统可以提供高效的运 算能力和数据处理能力,为人工 智能算法的运行提供支持。
总之,指令系统作为一种底层技术,在各个领域都有着广泛的应用前景,为各行业的发展提供了重要 的技术支持。
05 指令系统的未来发展
指令系统的发展趋势
指令系统向更高效能发展
01
随着技术的进步,指令系统将不断优化,提高执行效率和性能
。
指令系统向更智能化发展
02
人工智能技术的引入将使指令系统具备更强的自适应和学习能
指令系统还可以用于人工智能领 域的模型优化和算法加速,如通 过优化指令系统实现深度学习模 型的快速推理和训练,提高人工 智能应用的性能和效率。
此外,指令系统还可以用于人工 智能领域的安全性和隐私保护, 如通过加密指令或硬件安全模块 等手段保护用户隐私和数据安全 。
在其他领域的应用
除了计算机系统和人工智能领域,指令系统在其他领域也有着广泛的应用。如通信领域中,指令系统 可以用于信号处理和调制解调等操作;在图形处理领域中,指令系统可以用于图像处理和渲染等操作 ;在科学计算领域中,指令系统可以用于数值计算和模拟等操作。
研究如何将人工智能技术应用于指令系统,使其具备更强的智能化 能力。
未来指令系统的发展前景
01
广泛应用于云计算、大数据等领域
随着云计算、大数据等技术的普及,指令系统将在这些领域发挥重要作
用。
02
成为人工智能技术的关键组成部分
随着人工智能技术的发展,指令系统将成为实现人工智能的重要工具。
在人工智能领域的应用
指令系统在人工智能领域中也有 着广泛的应用。人工智能算法的 实现需要大量的计算和数据处理 ,而指令系统可以提供高效的运 算能力和数据处理能力,为人工 智能算法的运行提供支持。
总之,指令系统作为一种底层技术,在各个领域都有着广泛的应用前景,为各行业的发展提供了重要 的技术支持。
05 指令系统的未来发展
指令系统的发展趋势
指令系统向更高效能发展
01
随着技术的进步,指令系统将不断优化,提高执行效率和性能
。
指令系统向更智能化发展
02
人工智能技术的引入将使指令系统具备更强的自适应和学习能
指令系统还可以用于人工智能领 域的模型优化和算法加速,如通 过优化指令系统实现深度学习模 型的快速推理和训练,提高人工 智能应用的性能和效率。
此外,指令系统还可以用于人工 智能领域的安全性和隐私保护, 如通过加密指令或硬件安全模块 等手段保护用户隐私和数据安全 。
在其他领域的应用
除了计算机系统和人工智能领域,指令系统在其他领域也有着广泛的应用。如通信领域中,指令系统 可以用于信号处理和调制解调等操作;在图形处理领域中,指令系统可以用于图像处理和渲染等操作 ;在科学计算领域中,指令系统可以用于数值计算和模拟等操作。
研究如何将人工智能技术应用于指令系统,使其具备更强的智能化 能力。
未来指令系统的发展前景
01
广泛应用于云计算、大数据等领域
随着云计算、大数据等技术的普及,指令系统将在这些领域发挥重要作
用。
02
成为人工智能技术的关键组成部分
随着人工智能技术的发展,指令系统将成为实现人工智能的重要工具。
第三章指令系统1PPT课件
存储器操作数具有类型属性,如字节(BYTE)、字 (WORD)、双字(DWORD)等,反映了数据占用存储单元 的字节数。
一条指令中,只能有一个存储器操作数,或者源操 作数,或者目的操作数,在指令书写中,约定用方括号 内容表示存储器操作数的偏移地址 ,如[2300H]。
4 . 直接寻址方式
第三章 8086/8088指令系统
机器指令:是CPU仅能识别的指令的二进制代码,也称机器码;
程序:程序是一组指令有序的集合,是为完成特
定任务而设计的。
指令执行的具体操作
一般指令的格式:
操作码
操作数
指令操作的对象,即操作数的来源或操作结果的去向
每条指令的第一字节一定是操作码。
第三章 8086/8088指令系统
常见的指令格式有如下几种:
(BX) 有效地址 = (SI)
(DI) (BP)
物理地址计算方法:
段寄存器为DS 段寄存器为SS
物理地址 PA = (DS)* 16地址 PA = (SS)* 16 + (BP)
第三章 8086/8088指令系统
例:MOV AX,[BX] ; 若已知(DS)=1000H , (BX)=0040H,则执行的操作如下:
两地址指令是最常见的指令格式,如 ADD AX , BX
第三章 8086/8088指令系统
3.1.2 寻址方式
指令的主要组成部分之一是操作数,指令中的操作数部分指 明了参与操作的数据本身或是规定了操作数的地址,操作数通常 保存在:①指令字节中,称为立即数;② CPU的寄存器中; ③ 存储器单元中; ④ I/O接口寄存器中。
1.隐含寻址
指令中不指明操作数,但操作数隐含在操作码中。 例:
MUL CL ; (AX) ←(AL)×(CL) DIV BL ; (AL) ←(AX)/(BL)的商
一条指令中,只能有一个存储器操作数,或者源操 作数,或者目的操作数,在指令书写中,约定用方括号 内容表示存储器操作数的偏移地址 ,如[2300H]。
4 . 直接寻址方式
第三章 8086/8088指令系统
机器指令:是CPU仅能识别的指令的二进制代码,也称机器码;
程序:程序是一组指令有序的集合,是为完成特
定任务而设计的。
指令执行的具体操作
一般指令的格式:
操作码
操作数
指令操作的对象,即操作数的来源或操作结果的去向
每条指令的第一字节一定是操作码。
第三章 8086/8088指令系统
常见的指令格式有如下几种:
(BX) 有效地址 = (SI)
(DI) (BP)
物理地址计算方法:
段寄存器为DS 段寄存器为SS
物理地址 PA = (DS)* 16地址 PA = (SS)* 16 + (BP)
第三章 8086/8088指令系统
例:MOV AX,[BX] ; 若已知(DS)=1000H , (BX)=0040H,则执行的操作如下:
两地址指令是最常见的指令格式,如 ADD AX , BX
第三章 8086/8088指令系统
3.1.2 寻址方式
指令的主要组成部分之一是操作数,指令中的操作数部分指 明了参与操作的数据本身或是规定了操作数的地址,操作数通常 保存在:①指令字节中,称为立即数;② CPU的寄存器中; ③ 存储器单元中; ④ I/O接口寄存器中。
1.隐含寻址
指令中不指明操作数,但操作数隐含在操作码中。 例:
MUL CL ; (AX) ←(AL)×(CL) DIV BL ; (AL) ←(AX)/(BL)的商
第3章指令系统
h
19
例:设BX=0 158H,
DI=10A5H, 位移量=1B57H, DS=2100H, 各种寻址方式下,有效地址和物理地址如 下:
① 直接寻址:MOV AX,[1B57H] 有效地址=1B57H 物理地址=21000H+1B57H=22B57H ② 寄存器间接寻址(寄存器为BX):
MOV AX, [BX] 有效地址=0158H 物理地址=21000H+0158H=21158H
③ BX寄存器相对间接寻址: MOV AX, [BX+1B57H] 有效地址=0158H+1B57H=1CAFH 物理地址=21000H+1CAFH=22CAFH ④ 变址寻址(寄存器为DI): MOV AX, [DI] 有效地址=10A5H 物理地址=21000H+10A5H=220A5H
⑤ DI寄存器相对变址寻址: MOV AX, [DI+1B57H] 有效地址=10A5H+1B57H=2BFCH 物理地址=21000H+2BFCH=23BFCH ⑥ 基址加变址的寻址(BX为基址寄存器,DI为
第3章 16位和32位微处理器的指令系统
本章要点
汇编语言的寻址方式 8086的传送指令尤其是堆栈操作指令、交换指令
和换码指令的用法 算术运算指令涉及的规则和各种算术运算指令的
使用 逻辑运算指令和移位指令的用法
5条串操作指令的特点和使用方法,尤其是串操 作指令和DF标志的关系
控制转移指令特别是段内转移指令、带参数的返 回指令和循环控制指令的用法
(4) 将BX、BP和SI、DI寄存器组合起来进行间接 寻址——基址加变址的寻址
MOV AX,[BX+SI]
寄存器相对寻址
微型计算机原理第三章 指令系统2PPT课件
;word ptr 说明是字操作
12
非法指令--两个操作数都是存储器
➢ 8088指令系统除串操作指令外,不允许两个操作 数都是存储单元(存储器操作数) MOV buf2, buf1 ;非法指令,修正: ;假设buf2和buf1是两个字变量 ;mov ax,buf1 ;mov buf2,ax ;假设buf2和buf1是两个字节变量 ;mov al,buf1 ;mov buf2,al
第三章 指令系统
指令系统部分
1
标题添加
点击此处输入相 关文本内容
标题添加
点击此处输入相 关文本内容
总体概述
点击此处输入 相关文本内容
点击此处输入 相关文本内容
2
2、指令系统
1、数据传送指令
数据传送是计算机中最基本、最重要的一种操作, 传送指令也是最常使用的一类指令
传送指令把数据从一个位置传送到另一个位置 除标志寄存器传送指令外,均不影响标志位 重点掌握
;指令存在,但不Movzx 有效地址传送指令:LEA 指针传送指令:LES LDS 标志寄存器传送指令:LAHF SAHF 字节交换指令:BSWAP
15
交换指令XCHG(exchange) 把两个地方的数据进行互换
XCHG reg,reg/mem;reg reg/mem 寄存器与寄存器之间对换数据 寄存器与存储器之间对换数据 不能在存储器与存储器之间对换数据
11
非法指令-无法确定是字节量还是字量操作
➢ 当无法通过任一个操作数确定是操作类型时,需 要利用汇编语言的操作符显式指明 MOV [BX+SI], 255 ;非法指令,修正:
;mov byte ptr [bx+si],255
;byte ptr 说明是字节操作
12
非法指令--两个操作数都是存储器
➢ 8088指令系统除串操作指令外,不允许两个操作 数都是存储单元(存储器操作数) MOV buf2, buf1 ;非法指令,修正: ;假设buf2和buf1是两个字变量 ;mov ax,buf1 ;mov buf2,ax ;假设buf2和buf1是两个字节变量 ;mov al,buf1 ;mov buf2,al
第三章 指令系统
指令系统部分
1
标题添加
点击此处输入相 关文本内容
标题添加
点击此处输入相 关文本内容
总体概述
点击此处输入 相关文本内容
点击此处输入 相关文本内容
2
2、指令系统
1、数据传送指令
数据传送是计算机中最基本、最重要的一种操作, 传送指令也是最常使用的一类指令
传送指令把数据从一个位置传送到另一个位置 除标志寄存器传送指令外,均不影响标志位 重点掌握
;指令存在,但不Movzx 有效地址传送指令:LEA 指针传送指令:LES LDS 标志寄存器传送指令:LAHF SAHF 字节交换指令:BSWAP
15
交换指令XCHG(exchange) 把两个地方的数据进行互换
XCHG reg,reg/mem;reg reg/mem 寄存器与寄存器之间对换数据 寄存器与存储器之间对换数据 不能在存储器与存储器之间对换数据
11
非法指令-无法确定是字节量还是字量操作
➢ 当无法通过任一个操作数确定是操作类型时,需 要利用汇编语言的操作符显式指明 MOV [BX+SI], 255 ;非法指令,修正:
;mov byte ptr [bx+si],255
;byte ptr 说明是字节操作
指令系统(课堂PPT)
为了便于书写和阅读程序,每条指令通常用3 个或4个英文缩写字母来表示。这种缩写码 叫做指令助记符
比如MOV 或者ADD等
13
二、地址码
根据一条指令中有几个操作数地址,可 将该指令称为几操作数指令或几地址指令。
一般的操作数有被操作数、操作数及操 作结果这三种数,因而就形成了三地址指 令格式。在此基础上,后来又发展成二地 址格式、一地址格式和零地址格式
17
顺序寻址方式
18
跳跃寻址方式
19
一些常见的指令
20
指令的功能
• 传送指令 • 运算指令 • 程序控制指令
21
• if (x > 0) y = 0; else y = 1;
• 对应的汇编是:cmp dword ptr [x],0
•
ja do1
•
mov dword ptr [y],1
•
d01:
操作码字段 操作码字段
操作数字段
由操作码字段(OP)和操作数字段组成。 操作码字段表征指令的操作特性与功能;
操作数字段通常指定参与本指令运算的地址。
10
一、操作码
指令系统的每一条指令都有一个操作码, 它表示该指令应进行什么性质的操作。
不同的指令用操作码字段的不同编码来表 示,每一种编码代表一种指令。
指令系统
1
当用计算机解决某个问题时,我们首先 必须为它编写程序。
程序是一个指令序列,这个序列明确告 诉计算机应该执行什么操作,在什么地方 找到用来操作的数据。一旦把程序装入内 存储器,就可以由计算机来自动完成取出 指令和执行指令的任务。
2
专门用来完成此项工作的计算机部件称为中 央处理器,通常简称CPU。
27
比如MOV 或者ADD等
13
二、地址码
根据一条指令中有几个操作数地址,可 将该指令称为几操作数指令或几地址指令。
一般的操作数有被操作数、操作数及操 作结果这三种数,因而就形成了三地址指 令格式。在此基础上,后来又发展成二地 址格式、一地址格式和零地址格式
17
顺序寻址方式
18
跳跃寻址方式
19
一些常见的指令
20
指令的功能
• 传送指令 • 运算指令 • 程序控制指令
21
• if (x > 0) y = 0; else y = 1;
• 对应的汇编是:cmp dword ptr [x],0
•
ja do1
•
mov dword ptr [y],1
•
d01:
操作码字段 操作码字段
操作数字段
由操作码字段(OP)和操作数字段组成。 操作码字段表征指令的操作特性与功能;
操作数字段通常指定参与本指令运算的地址。
10
一、操作码
指令系统的每一条指令都有一个操作码, 它表示该指令应进行什么性质的操作。
不同的指令用操作码字段的不同编码来表 示,每一种编码代表一种指令。
指令系统
1
当用计算机解决某个问题时,我们首先 必须为它编写程序。
程序是一个指令序列,这个序列明确告 诉计算机应该执行什么操作,在什么地方 找到用来操作的数据。一旦把程序装入内 存储器,就可以由计算机来自动完成取出 指令和执行指令的任务。
2
专门用来完成此项工作的计算机部件称为中 央处理器,通常简称CPU。
27
三章指令系统-PPT精选文档
例如,IBM370机就是采用这种定长操作码格式。 IBM 370机(字长32位)的指令可分为三种不同的 长度,不论指令的长度有多少位,其中的操作码字 段一律都是8位。
特点:字段规整、译码简单。
6
IBM 370机的指令格式
8 4 4 4 4 4 4 4 12
RR 型 RX 型 RS 型 SI 型 SS 型
15
零地址指令
格式:
OP
零地址指令只有操作码,而没有地址码。 例如下面的情况不需要地址码: 指令不需要操作数,例如停机指令就没有操作数. 操作数隐含约定在累加器AC中。 操作数隐含指定在堆栈中,例如堆栈计算机,零 地址指令的操作数从堆栈中获得。
16
简化地址结构与减少地址码字段的位数
13
二地址指令
格式:
OP
A1
A2
执行的操作: (A1) OP (A2) → A1 A1为目的操作数地址,兼做存放结果的地址; A2为源操作数地址。(A1原先的值无需保存) A1、A2可以是内存中的单元地址,也可以是运 算器中的通用寄存器。如果是内存中的单元地址, 则执行一条二地址指令至少要访问4次主存.
扩展窗口
1111 1111 1110 XXXX
…
1111 1111 1111 0000 1111 1111 1111 1111
…
1111 1111 0000 XXXX
…
1111 0000 XXXX YYYY
15条二地址指令
15条一地址指令
16条零地址指令
11
3、地址码
根据一条指令中有几个操作数地址,可将该指令 称为几地址指令。 一般的指令有被操作数、操作数以及操作结果这 三个数,因而就形成了三地址指令格式,这也是 早期计算机指令的基本格式。 在三地址格式的基础上,后来又发展成了二地址 格式、一地址格式和零地址格式。
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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
2 绝对寻址
绝对寻址有四种类型 : ① 数据存储器地址(dmad)寻址; ② 程序存储器地址(pmad)寻址; ③ 端口(PA)寻址; ④ *(1k)寻址。
2021/2/10
8
Design and Practice of DSP System
Author: Deng Chen
MVKD
EXAM1,
*
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
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
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。
2 绝对寻址
指令中含有所要寻找的操作数的16位存储单元 地址。
16位地址表示形式: ① 地址标号,如:TABLE; ② 16位符号常量,如:89AB、1234。
用途:用于对速度要求较低的场合。
2021/2/10
7
Design and Practice of DSP System
Author: Deng Chen
利用数据指针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,
2021/2/10
5
Design and Practice of DSP System
Author: Deng Chen
➢ 存储器寻址方式 1 立即寻址 ❖ 以指令中立即数为操作数 ❖ 采用#号作为前缀来表示立即数
❖ 立即数的长度取决于指令的类型
短立即数
长立即数
3位或5位数
8位数
9位数
16位数
LD
寄存器所指向的数据存储单元中。
I/O端口地址PA
LD *(PN), A ;
把地址为PN的数据单元中的数据装到累加 器A中。
2021/2/10 注意:*(1k)寻址的指令不能与循环指令(RPT,RPTZ)一起使用9 。
Design and Practice of DSP System
Author: Deng Chen
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
② 采用DP寻址时,要注意数据所在的页面
指针。
2021/2/10
21
Design and Practice of DSP System
Author: Deng Chen
5、 间接寻址
❖ 利用辅助寄存器中数值作为绝对地址 (C5400系列有8个辅助 寄存器)
❖ 主要用于按某种固定方式对数据空间的连续访问 64K×16bit数据空间任一单元都可以通过一个辅助寄存器中 的16bit地址进行访问
Author: Deng Chen
Design and Practice of DSP System
▪ 32位字的存储顺序
Author: Deng Chen
累加器 A
高有效字
寻址1000H时的 32位字存储顺序
1000H 1001H
高有效字 低有效字
低有效字
寻址1001H时的 32位字存储顺序
1000H 1001H
低有效字 高有效字
• 图3-1 32位字的存储顺序
2021/2/10
4
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
•直接寻址标识:
① 变量前加@,如@x; ② 在偏移量前加@,如@5。
利用直接寻址可以在不改变DP或SP的情况下, 随机寻址128个存储单元中的任何一个单元。
直接寻址的优点:每条指令只需要一个字。
2021/2/10
18
Design and Practice of DSP System
Author: Deng Chen
AR5;
将数据存储器EXAM1地址单元中的数据复制到 AR5寄存器所指向的数据存储单元中。
数据存储器的 16位地址dmad值
MVPD TABLE, * AR2;将程序存储器TABLE地址单元中的内容复制到
AR2寄存器所指向的数据存储单元中。
程序存储器的 16位地址pmad值
PORTR
FIFO, * AR5; 把一个数从端口为FIFO的I/O口复制到AR5
2021/2/10
13
Design and e of DSP System
Author: Deng Chen
• 地址形成过程: 当CPL=0时,
16位数据 存储器地址
9位数据页指针DP
dmad
2021/2/10
高9位
低7位
14
Design and Practice of DSP System
❖ 修改方式可以为后加、后减、特定步长
❖ 寻址方式最为灵活
2021/2/10
22
Design and Practice of DSP System
Author: Deng Chen
✓ 灵活的寻址方式
❖ 按辅助寄存器内地址更新方式分类 线性寻址 (通常的顺序访问) 循环寻址 (把某段数据区视为一个头尾相接的环,地 址的变化始终在该段数据区范围内)
• 举例
例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
@#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
比特翻转寻址 (专门为FFT变换而设计的,完成地址比特翻 转的翻译)
❖ 按寻址的辅助寄存器数目来分类
单数据(Smem)方式 (在一条指令中只利用一个辅助寄存器 间接寻址)
双数据(Dmem)方式 (在一条指令中同时利用两个辅助寄 存器间接寻址)
2021/2/10
23
Design and Practice of DSP System
✓ 单数据间接寻址结构
Author: Deng Chen
辅助寄存器算 术单元
单操作数寻址 的结构如图所示, 辅助寄存器中地址 的产生是通过辅助 寄存器算术单元 (ARAU)和相关的硬 件来完成的,ARAU 完成对16比特无符 号地址的算术运算, 其源数据来自辅助 寄存器、BK、1k和 地址更新方式。