admin 管理员组

文章数量: 1086019


2024年4月12日发(作者:jdk官方下载教程)

第三章 指令系统

第一节 指令基本格式及寻址方式

一、指令及指令系统的概念

1.指令

指令是计算机硬件能够直接识别和执行的命令。

指令是计算机微操作的组合。

能够完成一定处理任务的指令序列就是计算机程序。

区别:计算机运行所需的指令及相关文档的集合称为软件。

2.指令系统

一台计算机所能执行的所有指令的全体集合称为指令系统。

反而言之,不同计算机有不同的指令系统。

强调:指令系统属于计算机硬件范畴。

一个完整的指令系统应满足下面几个要求:

(1)完备性:指用汇编语言编制各种程序时指令系统提供的指令足够用。

(2)有效性:指令尽其所能可能短,以便程序所占存储空间小、执行速度快。

(3)规整性:指令的长度是字节的整数倍。

对称性:所有寄存器和存储单元可以同等对待,指令可以使用各种寻址方式。

匀齐性:指令可以支持各种数据结构,编程时无需考虑数据类型。

一致性:指令的长度与数据的长度有一定的关系,以方便存取和处理。

(4)兼容性:在不同机器上能够不作修改地运行。

二、指令格式及分类

1.指令格式

指令包括操作码和地址码(操作数)。

操作码:表明该条指令操作的性质和功能。

地址码:表明参加操作的操作数地址和结果地址。

指令长度:是操作码的长度与地址码的长度之和。

指令的长度与字长没有固定关系,但一定是字节的整数倍。

操作码的长度,决定指令的种类(条数)。

地址码的长度,决定了指令的寻址空间(所能访问的最大存储空间)。

2.指令格式的分类

根据指令中给出的操作数的个数可以将指令分为:零地址指令、一地址指令、二地址指令、三地址指令、

多地址指令。

一条指令可以没有地址码,但必须要有操作码。()

零地址指令中没有一个操作数地址,如停机指令(HALT)、空操作指令(NOP)。

三地址指令举例:

(X)+(Y)->(Z)

ADD X,Y,Z

二地址指令举例:

(X)+(Y)->(Z)

ADD X,Y

MOV Z,X

一地址指令举例:

(X)+(Y)->(Z)

LDA X

器AC

ADD Y

STA Z

到Z中

//(AC)+(Y)->(AC)

//STORE AC 将操作结果由AC传输

//LOAD AC 将一个操作数放入累加

三、寻址方式

寻址方式包括:

指令的寻址:确定本条指令的地址和下一条要执行指令的地址的方法。(顺序寻址方式PC(程序计数

器、指令指针寄存器)和跳跃寻址方式)

操作数的寻址:找到操作数的方法。

操作数寻址方式有:

1.立即数寻址:指令中直接给出操作数,通常用于给寄存器设置初始值,操作数在指令中,特点是寻址速

度最快,缺点是灵活性最差。ADD AX,3165H

2.寄存器寻址:指令中给出存放操作数的寄存器,操作数在寄存器中,寄存器速度比存储器快,所以寄存

器寻址比操作数放在内存中使用要快,特点:缩短指令的长度,节省存储空间,提高了指令的执行速度,

程序设计更加灵活,对程序设计人员要求高。

3.直接寻址:指令中给出操作数所存放的内存地址,操作数在内存中,特点:寻址方式简单,直观,硬件

实现比较容易。MOV AX,[3165H]

4.间接寻址(寄存器间接寻址、存储器间接寻址)

寄存器间接寻址:指令中给出寄存器号,寄存器中存放的是操作数的址,操作数在内存中。

存储器间接寻址:指令中给出存放操作数地址的地址,操作数在内存中,这种寻址方式要对内存访问两次,

才能找到操作数。

寄存器间接寻址速度较快,但是寄存器数量有限;存储器间接寻址需要两次访问内存,速度较慢。

5.基址寻址:使用基址寄存器+偏移量的方式实现寻址,操作数在内存中。使用基址寄存器BX,BP。如:

MOV AL,[BX+10H]

6.变址寻址:使用变址寄存器+偏移量的方式实现寻址,操作数在内存中。使用变址寄存器SI,DI。如:

MOV AL,[SI-100H]

7.基址加变址寻址:基址和变址两种寻址方式的组合,操作数在内存中。

如:MOV AX,[BX+SI+3BH]

8.相对寻址:把程序计数器(PC)的当前内容与指令的地址码部分给出的地址(偏移量)之和作为操作地

址或程序转移的寻址方式,操作数在内存中。

第二节 指令的分类和功能


本文标签: 指令 寻址 地址 寄存器 方式