微型计算机系统原理及应用指令系统.ppt
文本预览下载声明
第2章 微型计算机指令系统 一、概述 指令:指令是指示计算机完成特定操作的命令 指令系统:指令系统是计算机能够执行全部命令的集合,它取决于计算机的硬件设计。指令系统因机而异,没有通用性。 指令格式: 操作码 [操作数],[操作数] 指令中的操作数表征方法: 表征参加操作的数据本身 立即数 表征数据存放的地址 指令中的操作数表征方法: 表征参加操作的数据本身 立即数 表征数据存放的地址 2、寄存器操作数: 表示参加运算的数存放在指令给出的寄存器中,可以是16位或8位。 例:MOV AX,BX MOV DL,CH 3、存储器操作数 表示当前参加运算的操作数存放在内存数据区中,指令中直接或间接的给出此操作数的地址。 操作数的物理地址=段地址+偏移地址=段基址×16+偏移地址 段基址一般由数据段寄存器DS的内容来确定; 段内偏移地址(有效地址EA)由指令的操作数部分指明。EA是不带符号的16位数,表示操作数所在地址与所在段的首址之间的字节距离。 例:MOV AX,[1200H] MOV AL, [1200H] MOV AL, [BX] 2.1寻址方式:寻找指令中操作数所在地址的方法 1. 立即寻址 指令操作数部分直接给出指令的操作数,它与指令操作码相接,顺序存放在代码段中。 例2: MOV AX,CX DEC AL 注意: (1) 寄存器寻址方式的指令操作在CPU内部执行,不需要执行总线周期,执行速度快。 (2) 寄存器寻址方式既适用于指令的源操作数,也适用于目的操作数,并且可同时用于源操作数和目的操作数。 3. 直接寻址方式 操作数在存储器中,指令中直接给出操作数所在存储单元的有效地址EA,即段内偏移地址,表示操作数所在存储单元距离段首址的字节数。有效地址是一个无符号的16位二进制数。 例3:MOV AH,[2100H] ;将DS段中2100H单元的内 容送给AH MOV AX,[2100H] ;将DS段中2100H单元的内 容送给AL ;2101H单元的 内容送给AH。 MOV [1000H],AH ; DS:1000H←(AH) 注意: (1) 直接寻址方式的操作数所在存储单元的段地址一般在数据段寄存器DS中。 (2) 如果操作数在其他段,则需要在指令中用段超越前缀指出相应的段寄存器名。 4. 寄存器间接寻址方式 操作数在存储器中,指令中寄存器的内容作为操作数所在存储单元的有效地址EA(偏移地址)。寄存器仅限于BX、BP,SI、DI。 当使用BX、SI、DI作为间址寄存器时,操作数所在存储单元的段地址存在数据段寄存器DS中, 当使用BP时,操作数所在存储单元的段地址存在堆栈段寄存器SS中。 例5:已知: DS=2100H,DI=2000H 指令: MOV AX,[DI] 解: 物理地址=16×DS+DI =16×2100H+2000H=23000H 指令执行结果是将23000H和23001H单元的内容送入寄存器AX中。 注意: 1. 只有SI,DI,BX,BP 可作为间址寄存器,如 MOV AX,[CX] ╳ 2. 若操作数所在存储单元不在数据段DS中,需要在指令中用段超越前缀表明其所在段的段名。 5. 变址寻址方式 操作数在存储器内,指令将变址寄存器SI、DI内容与指令指定的位移量之和作为操作数所在存储单元的有效地址EA(偏移地址)。段地址规定为DS的内容。 6. 基址寻址方式 操作数在存储器内,指令中寄存器(BX或BP)的内容与指令指定的位移量之和作为操作数所在存储单元的有效地址EA(偏移地址)。 使用BX时,段地址为DS的内容; 使用BP时,段地址为SS的内容。 7. 基址加变址寻址方式 操作数在存储器内。指令将基址寄存器BX、BP与变址寄存器SI、DI的内容之和再加上偏移量(8位或16位),得到操作数所在存储单元的有效地址EA。 当使用B
显示全部