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)的当前内容与指令的地址码部分给出的地址(偏移量)之和作为操作地
址或程序转移的寻址方式,操作数在内存中。
第二节 指令的分类和功能
版权声明:本文标题:计算机原理 指令系统 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1712858975a609770.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论