10 第5章-寻址方式和指令系统(第10次课.v2015)

合集下载

简述计算机指令的寻址方式

简述计算机指令的寻址方式

简述计算机指令的寻址方式计算机指令的寻址方式是指在执行指令时,CPU通过其中一种方式定位到指令所需的操作数或操作数所在的内存位置。

寻址方式可以分为立即寻址、直接寻址、间接寻址、寄存器寻址、寄存器间接寻址、寄存器相对寻址、相对基址寻址、相对变址寻址和堆栈寻址等形式。

立即寻址 (Immediate addressing):指令中的操作数直接包含在指令本身中。

该方式的特点是指令长度固定,操作数长度有限制。

直接寻址 (Direct addressing):指令中的操作数是内存中的一个绝对地址。

CPU将指令中的地址直接作为内存地址,在该地址处读取或写入数据。

间接寻址 (Indirect addressing):指令中的操作数是一个内存地址,该内存地址中保存了真正的操作数所在的内存地址。

CPU首先读取间接寻址所指向的内存地址,然后再从该地址处读取或写入数据。

寄存器寻址 (Register addressing):指令中的操作数是CPU内部的寄存器,不需要访问内存。

CPU直接从寄存器中读取或写入数据。

这种寻址方式的快速性和效率高。

寄存器间接寻址 (Register indirect addressing):指令中的操作数是CPU内部的寄存器,该寄存器中保存了一个内存地址,CPU使用该地址从内存中读取或写入数据。

寄存器相对寻址 (Register relative addressing):指令中的操作数是CPU内部的寄存器和一个固定的偏移量,CPU首先将寄存器的内容与偏移量相加,然后使用计算所得的结果作为内存地址,从内存中读取或写入数据。

相对基址寻址 (Base-indexed addressing):指令中的操作数是一个基址寄存器和一个索引寄存器,以及一个固定的偏移量。

CPU首先将基址寄存器的内容与索引寄存器的内容相加,然后再与偏移量相加,最后使用计算所得的结果作为内存地址,从内存中读取或写入数据。

相对变址寻址 (Relative addressing with offset):指令中的操作数是一个地址寄存器和一个偏移量,地址寄存器中保存了一个内存地址,CPU将地址寄存器中的地址与偏移量相加,然后使用计算所得的结果作为内存地址,从内存中读取或写入数据。

计算机指令系统寻址方式

计算机指令系统寻址方式
•直接寻址方式 •寄存器间接寻址方式 •寄存器相对寻址(变址
2010-10-24
和基址寻址方式) •基址变址寻址方式 • 相对基址变址寻址方式 •比例变址寻址方式 •基址比例变址寻址方式 •相对基址比例变址寻址 34 方式
4.3 Intel 80x86/Pentium系列微型计算机寻址方式
8086/8088的指令采用变字长指令格式,指 令长度1~6个字节。第一个字节包含操作码, 第二字节通常表示寻址方式,第3~6个字节表 示位移量、立即数。

• • • • •
寄存器间接寻址
寄存器相对寻址 基址变址寻址 相对基址变址寻址 比例变址寻址方式 基址比例变址寻址方式
2010-10-24
MOV AX , [ BX ]
MOV AX , COUNT [ SI ] MOV AX , [ BP ] [ DI ] MOV AX , MASK [ BX ] [ SI ] MOV AX,5[EBX*2] MOV AX,[EBX][ESI*4]
2010-10-24 3
4.2 指令和数据的寻址方式
寻址方式:是指寻找操作数地址或操作数的方式。 4.2.1 指令的寻址方式 PC
顺序寻址方式 跳跃寻址方式
4
4.2.1 指令的寻址方式
跳跃寻址方式
5
4.2 指令和数据的寻址方式
4.2.2 操作数寻址方式
操作数包含在CPU的某一个内部寄存器中; 操作数包含在I/O 根据操作数放在不同的地方,从而派生各种不同 的寻址方式,往往不同的计算机具有不同的寻址 方式。
北京化工大学BUCT 信息科学与技术学院 本科课程教学 CSE22700D
微机原理及应用 Principles and Applications of Microcomputer Systems

(计算机原理)第5章指令系统

(计算机原理)第5章指令系统
令集和灵活的操作数类型。
寻址方式
MIPS指令支持多种寻址方式,包括直接寻 址、间接寻址、寄存器寻址等,以满足不
同操作的需求。
指令格式
MIPS指令格式固定为32位或32位对齐的 64位,操作码和操作数之间通过分隔符进 行区分。
指令特点
MIPS指令集具有高效能、低功耗和高可靠 性的特点,广泛应用于网络通信、数字信 号处理等领域。
感谢您的观看
THANKS
指令长度设计
在设计指令长度时,需要综合考虑指令系统的功能、指令系统的长度、存储空 间的利用率等多个因素。同时,还需要考虑到不同指令长度的兼容性和扩展性。
03
指令系统的特性
指令系统的兼容性
总结词
指令系统的兼容性是指一个指令系统能够执行不同类型和 规模的程序的能力。
详细描述
指令系统的兼容性是衡量指令系统性能的重要指标之一。 一个好的指令系统应该能够支持多种类型的程序,包括操 作系统、应用程序、游戏等,以满足不同用户的需求。
总结词
指令系统的效率与软件优化密切相关。
详细描述
通过软件优化,可以减少完成一项任务所需的指令数量, 从而提高指令系统的效率。因此,在设计和实现指令系统 时,应充分考虑软件优化的需求和可能性。
04
指令系统的发展历程
第一代计算机的指令系统
总结词
简单、直接、低效
详细描述
第一代计算机采用真空管作为主要元件,指令系统非常简单,通常只有几十条指令,执 行速度慢,效率低下。
指令系统的执行时间
总结词
指令系统的执行时间是指完成一条指令所需的时间。
详细描述
指令系统的执行时间取决于多个因素,包括指令的复杂度 、处理器的时钟频率、指令缓存的命中率等。一个高效的 指令系统应该能够快速地完成指令的执行,从而提高计算 机的整体性能。

ch5.寻址技术和指令系统.ppt

ch5.寻址技术和指令系统.ppt
2
5.1 指令
❖指令的基本格式:
OP
操作码字段
Addr
操作数地址字段
操作码OP用于说明该指令操作的性质及功能。 地址码Addr用来描述该指令的操作对象,由它给出操作数地 址或给出操作数,及操作结果存放地址。
3
5.1 指令
❖指令格式设计的准则:
•在满足操作种类、寻址范围和寻址方式的前提下,指令尽可 能短。这是指令功能完备性与有效性的统一。 •指令长度应为字节的整数倍。这样可以充分利用存储空间, 并增加访问内存的有效性,这是指令格式设计中规整性的体 现。 •指令系统的兼容。兼容性的概念就是指老型号机器上所有可 以运行的软件都可以不加任何修改的在新机器上运行。
4
5.1 指令
❖指令长度=操作码的长度+操作数地址的长度
•操作码长度n位与操作种类N种之间的关系 N≤2n
操作码长度越长,操作种类就越多,指令的条数也越多 地址码长度越长,寻址空间越大,操作数寻址方式越多 显然在固定指令长度的计算机里,这两者是一个矛盾。
5
5.1.1 指令中的地址码格式
❖地址码字段的内容
18
5.1.3 寻址方式
❖寄存器间接寻址
❖图4.5
• 寄存器间接寻址是指指令中给出寄存器号,寄存器中存 放操作数的有效地址。由于寄存器的个数有限,而寄存器的 位数又足以访问这个内存空间,既有效地缩短了指令长度, 又解决了寻址空间太小的问题。这时有效地址为寄存器的内 容,表示为EA=(Ri)。 •特点:只要访问一次主存,修改寄存器内容可以改变访问单 元,灵活方便。
• 其次,间接寻址也可以做到用较短的地址码访问到较大 的存储空间。 • 间接寻址至少需要访问两次主存才能取出操作数,因此 速度慢。
21

寻址方式与指令系统节

寻址方式与指令系统节

寻址方式与指令系统节导言在计算机科学中,寻址方式和指令系统是计算机体系结构设计中至关重要的两个方面。

寻址方式决定了数据的存取方式,而指令系统则规定了计算机执行操作的方法。

本文将探讨寻址方式和指令系统在计算机设计中的重要性,并对它们的一些常见形式和特点进行详细介绍。

寻址方式直接寻址直接寻址是一种简单的寻址方式,其中地址字段直接指向要访问的内存单元。

这种寻址方式效率高,但存储器可以直接访问的容量有限。

间接寻址在间接寻址中,地址字段指向另一个存储位置,该位置包含最终要访问的内存地址。

这种方式可以扩展寻址范围,但多了一次内存访问的开销。

寄存器寻址在寄存器寻址中,指令中直接给出一个寄存器地址,该寄存器中存储了要访问的内存地址。

这种方式速度快,但寄存器数量有限。

基址寻址基址寻址方式使用一个基址寄存器存储一个基地址,再使用另一个寄存器存储偏移量,通过将这两者相加得到最终的内存地址。

这种方式适合访问分散存储的数据结构。

变址寻址变址寻址方式类似于基址寻址,不同之处在于,变址寻址方式允许加上的偏移量不是固定的,而是由指令中提供的。

这种方式适合迭代访问数组等数据结构。

指令系统CISC复杂指令集计算机(CISC)是一种指令系统,其指令集包含了丰富的功能,一条指令可以完成多种操作。

CISC指令集通常包含复杂的寻址方式和复杂的指令格式,适合处理复杂的任务。

RISC精简指令集计算机(RISC)是另一种指令系统,其每条指令只执行一项操作,指令集更加简单明了。

RISC指令集通常使用固定长度的指令格式,寻址方式也相对较简单,适合处理简单快速的任务。

SIMD单指令多数据流(SIMD)是一种并行计算技术,其指令系统中一条指令可以同时处理多个数据元素。

SIMD适用于需要大量相同计算的任务,例如图像处理和数字信号处理。

VLIW超长指令字(VLIW)是一种指令系统,其一条指令包含多个操作,由硬件解析并同时执行。

VLIW通常需要编译器生成多个操作的组合,并且对硬件要求较高。

寻址方式及指令系统

寻址方式及指令系统

协同发展提高计算机性能
通过寻址方式和指令系统的协同发展,可以不断提高计 算机的性能和灵活性,满足不断变化的计算需求。
谢谢
THANKS
序的可读性和可维护性。此外,间接寻址方式还可以用于实现间接函数调用、数组元素的访问等。
基址寻址方式
总结词
基址寻址方式是指将基址寄存器BX或BP 的内容加上位移量DISP。
VS
详细描述
在基址寻址方式中,操作数的有效地址是 由基址寄存器BX或BP的内容与位移量 DISP相加得到的。基址寻址方式常用于 数组元素的访问和变址运算等场景。通过 基址寻址方式,可以方便地实现数组元素 的遍历和跳转等操作。
变址寻址方式
总结词
变址寻址方式是指将变址寄存器的内容加上 位移量DISP。
详细描述
在变址寻址方式中,操作数的有效地址是由 变址寄存器的内容与位移量DISP相加得到 的。变址寻址方式常用于数组元素的访问和 程序中的循环结构等场景。通过变址寻址方 式,可以实现数组元素的动态遍历和循环变 量的自增等操作。
02 指令系统概述
CHAPTER
指令系统的定义
指令系统的定义
指令系统是计算机硬件能够直接执行 的指令集合,它规定了计算机所具有 的基本功能。
指令系统的特点
指令系统是计算机体系结构的核心组 成部分,其特点包括指令集的规模、 指令的功能、寻址方式、操作码的长 度等。
指令系统的组成
指令格式
01
指令格式是指令系统中每条指令的固定格式,包括操作码和地
间接寻址方式
总结词
间接寻址方式是指操作数通过间接指定的地址来访问,而不是直接给出操作数的值或寄 存器名称。
详细描述
在间接寻址方式中,指令中的地址码指示的是一个内存单元的地址,而不是直接给出操作数的值或寄存器名 称。通过访问该内存单元,可以得到操作数的值。间接寻址方式的优点是可以隐藏操作数的实际值,提高程

寻址方式与指令系统

寻址方式与指令系统
MOV TABLE[BX][DI],AX
下面的用法是错误的。 MOV AX,ARRAY[BX][BP]
MOV AX,TABLE[SI][DI]
在基址变址寻址方式中,程序运行期间有两个地 址分量可以修改。因此它是最灵活的一种寻址方式, 可以方便地对二维数组进行访问。
14
存储器操作数寻址方式中地址形成小结
17
(1) 直接端口寻址 在指令中直接给出端口地址,端口地址一般采用2位十六 进制数,也可以用符号表示。 直接端口寻址可访问的端口数为0~255个。 例如:IN AL,25H (2)寄存器间接端口寻址 如果访问的端口地址值大于255,则必须用I/O端口的间 接寻址方式。 寄存器间接寻址:把I/O端口的地址先送到DX中,用DX 作间接寻址寄存器。 例如:MOV DX,378H 指令中,所需操作数直接包含在指令 代码中,这种操作数称为立即数。 立即数可以是8位,也可以是16位。 例:MOV AH,20H 它表示将8位立即数20H送入AH中 …... AH AL
AX
操作码 20H …...
一条指令
3
例:MOV AX,20A0H 它表示将16位立即数20A0H送入AX中 …... AH AX AL
20
作用:将源操作数指定的内容传送到目的操作数,即 DEST<=(SRC)。
当指令执行完后,目的操作数原有的内容被源操作数内 容覆盖,即目的操作数和源操作数具有相同内容。 MOV指令对标志寄存器的各位无影响 MOV指令可以是字节数据传送也可以是字数据传 送,但是源操作数和目的操作数的长度必须一致。 MOV指令可以分为以下几种情况:
8
4.寄存器间接寻址 操作数有效地址EA直接从基址寄存器(BX或BP)或 变址寄存器(SI或DI)中获得。 内存 BX 操作码 操作数 OR BP OR EA SI OR 操作数 DI 段寄存器 寄存器间接寻址就是事先将偏移量存放在某个寄存器(BX、 BP、SI或DI)中,这些寄存器就如同一个地址指针。 在程序运行期间,只要对寄存器内容进行修改,就可以实 现用同一条指令实现对不同存储单元进行操作。

微机原理第五章《指令系统》课件知识点讲解要点归纳

微机原理第五章《指令系统》课件知识点讲解要点归纳
第五章 指令系统(1)
概念:
• 指令:要求计算机执行某种操作的命令 • 一台计算机,其所有机器指令的集合构成机器的指令系统 • CISC-Complex Instruction Set Computer,复杂指令系统 计算机 • RISC-Reduced Instruction Set Computer,精简指令系统 计算机 • RISC计算机提出的依据 • RISC计算机的主要特点:
第五章 指令系统(14)
指令 I1 I2 I3 I4 I5 I6 I7 Pi 0.45 0.30 0.15 0.05 0.03 0.01 0.01 操作码 00 01 10 1100 1101 1110 1111 长度(位) 2 2 2 4 4 4 4
这种方案的操作码的平均长度为: L=(0.45+0.30+0.15)×2+(0.05+0.03+0.01+0.01)×4=2.2(位) 这种方案虽然使操作码的平均长度稍有增长,但给操作码译码带来方便,通常 称作“扩展操作码法” 。
OP D1 D2 D3 三地址指令
OP
OP
D1
D
D2
二地址指令
单地址指令
OP
说明:
零地址指令
•三地址指令包含三个地址,其基本操作是 : (D1) OP (D2)→ D3
•二地址指令包含两个地址,其基本操作是:(D1) OP (D2)→ D1或D2
•单地址指令中只包含一个地址,可有两种情况:
(1) 本指令为双操作数指令,但约定一个操作数固定存放在累加器(AC)中,其基本 操作是: (AC) OP (D)→ AC (2) 本指令为单操作数指令,例如将某个地址D中的内容加1或减1等。
a 0 0 0 0 0 0 0 0 1 1

寻址方式和指令系统

寻址方式和指令系统
2.有符号乘指令IMUL
语句格式:IMUL OPS
功 能 : 字 节 乘 法 : ( AL)*(OPS)→AX, 字 乘 法 : (AX)*(OPS)→DX、AX。
IMUL指令除计算对象是带符号二进制数外,其他都与 MUL一样,但计算结果不同。 【例2.26】有符号数 0B4H与11H相乘。
MOV AL,0B4H ;(AL)=B4H
2.3.3 乘运算指令
1.无符号数乘法指令MUL 2.有符号乘指令IMUL
第2章 寻址方式和指令系统
1.无符号数乘法指令MUL
语句格式: MUL OPS
功能: 若是字节数据相乘,(AL)与OPS相乘得到字数据存入AX 中;若是字数据相乘,则(AX)与OPS相乘得到双字数据,高字存 入DX、低字存入AX中。
第2章 寻址方式和指令系统
5.往目的串中存数指令STOS 语句格式:① STOSB——往字节串中存数 ②(2)STOSW——往字串中存数 功能:将AL或AX中的数据送入DI所指的目的串中的字节 (或字)存储单元中。 即:① 字节操作:(AL)→[DI],字操作:(AX) →[DI]。 ② 修改指针DI,使之指向串中的下一个元素。 当DF=0时,(DI)增量)。当DF=1时,(DI)减量。
第2章 寻址方式和指令系统
1.简单条件转移指令
第2章 寻址方式和指令系统
第2章 寻址方式和指令系统
2.无符号数条件转移指令 表2.2 无符号数条件转移指令
第2章 寻址方式和指令系统
【例2.53】比较无符号数大小,将较大的数存放AX 寄存器。
CMP AX, BX ;(AX)-(BX)
JNB NEXT
优秀精品课件文档资料
第2章 寻址方式和指令系统
第2章 寻址方式和指令系统

寻址方式与指令系统

寻址方式与指令系统

(3)直接寻址
指令 寄存器
寄存器 EA (4)寄存器间接寻址
存储器 数据
图4-1 数据的寻址方式的寻址过程(2)
指令
寄存器
位移量
存储器 EA + 寄存器 地址 数据
(5)寄存器相对寻址
图4-1 数据的寻址方式的寻址过程(3)
指令 基址 寄存器 变址 寄存器
寄存器 变址值 存储器
EA
+ 寄存器
数据
除以上两种寻址方式外,下面各种寻址方式的
操作数均在存储器中,通过采用不同的寻址方 式取得操作数地址,从而取得操作数。
(3)直接寻址(Direct Addressing)
说明:在讨论寻址方式时,通常把操作数的偏
移地址称为有效地址EA (Effective Address) , EA可通过不同的寻址方式来得到。
寄存器寻址的特点
(1) 操作数就在寄存器中,不需要访问存储器来 取得操作数(指令执行时,操作就在CPU的内 部进行),因而执行速度快。 (2)寄存器号比内存地址短
* 在编程中,如有可能,尽量使用这种寻址方式的指令。
* 寄存器寻址方式既可用于源操作数,也可用于目的操 作数,还可以两者都用于寄存器寻址方式(如 MOV BX , AX )
在直接寻址方式中,指令中直接给出操作数的
有效地址,或者说,有效地址EA就在指令中。 它(操作数的有效地址,而不是操作数本身)存 放在代码段中指令的操作码之后,但操作数一 般存放在数据段中。
例 1. MOV AX , DS:[2000H];
如(DS)= 3000H, 则指令的执行情况如下图 所示:
OP 64



ADD AL, 20H ; 30 ADD AX, 1090H; 高地址
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

;(AX) ← (DS:SI)
低地址
段首址 A000:0000
AX
AH
高字节
AL
A000:2000 低字节 A000:2001 逻辑地址
……
27 28
数据段
低字节 高字节
高地址
• 特点: – 由寄存器BX、BP、SI或DI,间接给出操作数的偏移地址; – 这种寻址方法可以用于一维表格处理。 – 默认方式下,操作数段地址取决于选择哪个间址寄存器: BX,SI,DI 默认在数据段
5) 相对基址变址寻址
• 存放操作数的有效地址(EA)是一个基址寄存器(BX、BP)和变 址寄存器(SI、DI)的内容再加上8位或16位的位移量之和。基 址寄存器选用BX,则段寄存器约定使用DS;基址寄存器选用 BP,则段寄存器约定使用SS;
EA = (基址寄存器) + (变址寄存器) + 位移量
34H 12H 低字节 高字节
(2) 寄存器寻址方式
• 操作数存放在指令规定的CPU内部的寄存器中, • 对于16位操作数可以是:AX、BX、 CX、DX、SI、DI、SP、BP、DS、 SS、ES、CS (CS不能作目的操作数), • 对于8位操作数可以是:AH、AL、BH、BL、CH、CL、DH、DL; • 例如: MOV DS, AX MOV AH, BL
• 立即寻址、寄存器寻址、存储器寻址(直接、间接+比例因子)
– 要求熟练掌握8086实地址方式下的寻址方式;
• 为什么需要多种寻址方式?
– 不同寻址方式实质上就是多种构成段内偏移量EA的方法 – CPU内部完成有效地址EA的计算并产生相应物理地址PA – EA由几个部分组成,可以适应多种数据结构访问的需要
;将AX中的内容送到DS ;将BX中的低8位送到AH
• 特点: – 操作数在寄存器中,不需要访问存储器,执行速度快; – 指令字长(目标代码)较短,常用于CPU内部传送数据;
(3) 存储器寻址方式
• 直接寻址 • 寄存器间接寻址 • 寄存器相对寻址(基址寻址、变址寻址) • 基址变址寻址(基址加变址寻址) • 相对基址变址寻址(带位移量的基址加变址寻址)
思考:汇编指令到机器指令的转换由谁完成?
5.2 寻址方式
• 概念:
– 指令寻址方式: 求得下一条要执行指令的地址的方法; – 操作数寻址方式: 指令中如何提供操作数或操作数地址的方式。
5.2.1 指令寻址方式
• 指令寻址的类型:
– 顺序寻址: 按指令存放的地址,顺序读取并执行指令的过程; – 转移地址寻址: 由指令字节包含的信息给出下一条指令的地址,或由 预先设置好的转移地址来获得下一条指令地址;
图5-2 操作码和寻址方式字节格式

寻址方式字节被分为三个域,分别为mod(方式)、reg(寄存器)、和r/m(寄存器/存储器)域,指 出两个操作数的存放地址、以及寻求存储器中操作数有效地址的方法;
思考:可变字长指令格式意味着什么,CPU如何正确读取指令?
参见P114: 表5-2、表5-3、表5-4
通用数据传送指令:MOV
• 指令格式:MOV DST, SRC; 操作:DST <― SRC 功能:实现CPU内部寄存器或寄存器与内存间数据传送 例: MOV AL, BL; MOV CX, [1000H]; MOV BL, 40
(1) 立即数寻址方式
• 操作数直接包含在指令字节中(代码段),可以是8/16位,在取出指令的同 时也就取出了可以立即使用的操作数;
微型计算机原理与接口技术
(第十讲)
5 寻址方式和指令系统
• 指令系统的格式和编码
• 80x86的寻址方式
• 8086/8088 CPU的指令系统 • Intel 80x86系列CPU扩充的指令
5.1 指令系统的格式、编码
指令系统是指计算机所具有的各种指令的集合。 其中每条指令都对应着处理器要完成的一种规定的功能操作。 指令系统表征了计算机的基本功能
OP
AD1
两个源操作数、一个目的操作数及下一条指令地址
大 中 型 计 算 机
• 源操作数:参与指令操作的数据来源 • 目的操作数:指令操作后数据存储目的地 • 操作数存在形式:数值、存储地址(直接、间接等)
(参见 P114-115 操作码和寻址方式字节格式)
例:8086/8088指令编码格式
• 指令由1~6个字节组成,包括操作码、寻址方式以及操作数三个部分组成;
图5-1 8086/8088不同字长的指令格式类型

在操作码字节中第D1、D0位分别用于表示指令中数据传送的方向和操作数类型
位号 D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 D 操作码字节 W Mod Reg 寻址方式字节 R/m
D: 0 Reg -> R/m ; 1 Reg <- R/m; W: 0 8bit; 1 16bit;
MOV AX, [COUNT+DI]
DS×16=40000H DI = 2000H COUNT = 3000H 45000H
;(AX) ← (DS : DI+COUNT)
A0000
段首址
操作码
00 30
AX
AH 高字节
AL 低字节
45000H
……
56 78
• 特点: – 使用寄存器BX、SI、DI时,段寄存器默认为DS,使用寄存 器BP时,段寄存器默认为SS; – 使用基址寄存器(BX、BP)时也称为基址寻址方式,当使用 变址寄存器(SI、DI)时也称为变址寻址方式; – 指令中可通过指定“段超越前缀”来访问其他段中的数据 – 该寻址方式常用于一维线性表的访问; • 例如: ;将DS段中EA=[BP+200H]的 2字节数据送到AX MOV AX, [COUNT+DI] ;COUNT为符号常量 MOV AX, COUNT[DI] ;这两条语句两者等价 MOV AX, [BX+200H]
参见P114:
例:传送指令 MOV
表5-2、表5-3、表5-4
• 指令格式:MOV DST(目的操作数), SRC(源操作数); 操作:DST <― SRC 实现CPU内部寄存器或寄存器与内存间数据传送(信息复制) 例: 汇编指令 机器指令 MOV AL, BL; 8A C3 10001010 11000011 MOV CX, [1000H]; 8B 0E 00 10 10001011 00001110 00000000 00010000 MOV [BX+SI+1000H], AX; 89 80 00 10 10001001 10000000 00000000 00010000
操作码
代码段
AX
AH
高字节
AL 低字节
12000H 12001H
……
67 45
00 20
数据段
低字节 高字节
高地址


特点: – 一般情况下,操作数存放在数据段,默认段寄存器为DS – 根据有效地址(EA)直接从主存中访问操作数,但地址不能 修改,因此直接寻址方式适用于处理单个变量 – 如果操作数在其它段(CS、SS、ES),允许用“段超越前 缀”指定段名,其格式为:“段寄存器名:有效地址” 例如: MOV AX, ES: [1200H]
• 特点: – 这种寻址方式同样适用于数组或表格处理,表格首地址基 址寄存器中,用变址寄存器来访问数组中的元素; – 两个寄存器都能修改,所以比直接变址方式更灵活,可用 于在二维数组中检索数组元素; 存储器
ARRAY+5 ARRAY+4 ARRAY+3 ARRAY+2 ARRAY+1 ARRAY
SI 元素 BX ARRAY
2、指令的地址格式
(1)零地址 (2)单地址 (3)二地址 (4)三地址 (5)四地址
OP
OP AD
OP AD1 AD2 OP
无需操作数或操作数隐含 同一个源/目的操作数, 或一个隐含 分别表示源/目的操作数
AD2
两个源操作数、 一个目的操作数 AD3 AD4
微 型 计 算 机
AD1 AD2 AD3
物理地址 : PA= (ES) ×10H + 1200H
2) 寄存器间接寻址
• 操作数在存储器中,操作数的有效地址(EA)由指令中指定的 寄存器给出(即,EA的值存放在CPU内部的寄存器中)。 EA = (寄存器) • 例如: MOV AX, [SI]
DS×16=A0000H EA= SI = 2000H A2000H 物理地址
4) 基址变址寻址
• 存放操作数的有效地址EA是基址寄存器(BX或BP)的内容 加上一个变址寄存器(SI或DI)的内容;基址寄存器选用BX时, 则段寄存器约定使用DS;选用BP时,段寄存器约定使用SS;
EA = (基址寄存器) + (变址寄存器) • 例如:
MOV AX, [BX][SI] MOV AX, [BX+SI] ; EA= (BX+SI) ;这两条语句等价
• • • • 段内转移和段间转移 直接转移和间接转移 中断转移 INT 返回转移 RET JMP
5.2.2 操作数寻址方式
• 概念:
– 操作数:当CPU执行一条指令时,它要对数据完成某种特 定操作,这些数据称为操作数;源操作数、目的操作数; – 有效地址(EA):存放操作数的段内偏移地址(偏移量) ; – 物理地址(PA):存放操作数的存储器单元的实际地址;
1) 直接寻址
• 有效地址EA就包含在指令字节中,它存放指令操作码之后, 从有效地址中能获得操作数,默认从数据段中取操作数; 物理地址 : PA= (DS) ×10H + EA • 例如: MOV AX, [2000H] ;(AX) ← (DS:2000H)
相关文档
最新文档