|
|
|
|
|
|
|
|
|
|
|
|
|
(1)指令格式。计算机的指令由操作码字段和操作数字段两部分组成。
|
|
|
(2)指令长度。指令长度有固定长度的和可变长度的两种。有些RISC的指令是固定长度的,但目前多数计算机系统的指令是可变长度的。指令长度通常取8的倍数。
|
|
|
(3)指令种类。指令有数据传送指令、算术运算指令、位运算指令、程序流程控制指令、串操作指令、处理器控制指令等类型。
|
|
|
|
|
(1)立即寻址。立即寻址是指操作数作为指令的一部分而直接写在指令中,这种操作数称为立即数。
|
|
|
(2)寄存器寻址。寄存器寻址是指指令所要的操作数已存储在某寄存器中,或把目标操作数存入寄存器。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(1)指令格式。计算机的指令由操作码字段和操作数字段两部分组成。
|
|
|
(2)指令长度。指令长度有固定长度的和可变长度的两种。有些RISC的指令是固定长度的,但目前多数计算机系统的指令是可变长度的。指令长度通常取8的倍数。
|
|
|
(3)指令种类。指令有数据传送指令、算术运算指令、位运算指令、程序流程控制指令、串操作指令、处理器控制指令等类型。
|
|
|
|
|
|
|
|
|
|
|
|
|
指令系统指的是一个CPU所能够处理的全部指令的集合,是一个CPU的根本属性。一条指令一般包括两个部分,即操作码和地址码。操作码指明操作的类型,地址码主要指明操作数及运算结果存放的地址。
|
|
|
|
表示指令中操作数所在的方法称为寻址方式。常见的寻址方式有以下几种。
|
|
|
(1)立即寻址:操作数作为指令的一部分而直接写在指令中,这种操作数称为立即数。
|
|
|
(2)寄存器寻址:指令所要的操作数已存储在某寄存器中,或把目标操作数存入寄存器。
|
|
|
(3)直接寻址:指令所要的操作数存放在内存中,在指令中直接给出该操作数的有效地址。
|
|
|
(4)寄存器间接寻址:操作数在存储器中,操作数的有效地址用SI、DI、BX和BP这4个寄存器之一来指定。
|
|
|
(5)寄存器相对寻址:操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)或变址寄存器(SI、DI)的内容和指令中的8位/16位偏移量之和。
|
|
|
(6)基址加变址寻址方式:操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)和一个变址寄存器(SI、DI)的内容之和。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
计算机是通过执行指令序列来解决问题的,因而每种计算机都有一组指令集提供给用户使用,这组指令集就称为计算机的指令系统。
|
|
|
计算机的指令由操作码字段和操作数字段两部分组成。操作码字段指示计算机所要执行的操作,而操作数字段则指出在指令执行操作的过程中需要的操作数。指令的一般格式是
|
|
|
|
|
寻址方式就是解释操作数的地址,常用的有立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址和相对基址变址寻址7种寻址方式。
|
|
|
(1)立即寻址方式。操作数直接存放在指令中,紧跟在操作码之后作为指令的一部分,如执行"MOV AL, 5"指令后(AL)=05H。
|
|
|
(2)寄存器寻址方式。操作数在寄存器中,指令指定寄存器。16位操作数寄存器可以是AX、BX、CX、DX、SI、DI、SP和BP, 8位操作数可以是AL、AH、BL、BH、CL、CH、DL和DH。例如,"MOV AX, BX"指令,如果执行前(AX)=3064H,(BX)=1234H,则执行后(AX)=1234H, (BX)保持不变。
|
|
|
(3)直接寻址方式。在IBM PC中把操作数的偏移地址称为有效地址EA,在直接寻址方式中,EA就在指令中,它存放在指令的操作码之后。首先要求出操作数的物理地址,如操作数在数据段中,则物理地址=16d×(DS)+EA。例如,"MOV AX, [2000H]",如果(DS)=3000H,则物理地址为30 000+2000=32 000H。
|
|
|
|
|
|
|
|
|
|
|