Chapter3寻址方式与指令系 §31寻址方式 寻址方式的概念 1、寻址( Addressing 寻址就是寻找指令中操作数的地址(操作数)的过程 2、寻址方式( Addressing Mode 寻址方式就是寻找指令中所需操作数的各种方式的总称。 3、有效地址( Effective address) (1)位移量( Displacement 位移量是指指令中的一个8位或16位数,一般以操作 数名(变量名或标号)出现,程序设计人员可以修改位移 量。(2)基地址( Base Address 基地址由基址指针(BP)或基址寄存器(BX)提供。 3变址( Index address 变址由变址寄存器(SI和DI)提供 在指令中,由这三种地址分量不同组合时,就构成了 不同的寻址方式
Chapter 3 寻址方式与指令系 统 §3.1 寻址方式 一、寻址方式的概念 1、寻址(Addressing) 西 华 师 范 大 学 计 算 机 学 院 寻址就是寻找指令中操作数的地址(操作数)的过程。 2、寻址方式(Addressing Mode) 寻址方式就是寻找指令中所需操作数的各种方式的总称。 3、有效地址(Effective Address) (1)位移量(Displacement) 位移量是指指令中的一个8位或16位数,一般以操作 数名(变量名或标号)出现,程序设计人员可以修改位移 量。(2)基地址(Base Address) 基地址由基址指针(BP)或基址寄存器(BX)提供。 (3)变址(Index Address) 变址由变址寄存器(SI和DI)提供。 在指令中,由这三种地址分量不同组合时,就构成了 不同的寻址方式
Chapter3寻址方式与指令系 寻址式 1、寄存器寻址( Register Addressing 在这种寻址中,直接由cPU中的某个寄存器提供操作 数,即操作数在cPU的某个寄存器中 在这种寻址中,寄存器可以是8位也可以是16位 如: MOV AX,BX 指令功能 MOV DS AX MOV CL AL 执行过程 MOV DL CL 在这种寻址中,由于操作数在CPU内部,因此执行指 令时,直接在CPU内部进行,而不需要总线周期,故指令 执行速度快
Chapter 3 寻址方式与指令系 统 二、寻址方式 1、寄存器寻址(Register Addressing) 西 华 师 范 大 学 计 算 机 学 院 在这种寻址中,直接由CPU中的某个寄存器提供操作 数,即操作数在CPU的某个寄存器中。 如:MOV AX,BX MOV DS,AX MOV CL,AL MOV DL,CL 在这种寻址中,寄存器可以是8位也可以是16位。 在这种寻址中,由于操作数在CPU内部,因此执行指 令时,直接在CPU内部进行,而不需要总线周期,故指令 执行速度快。 指令功能 执行过程
Chapter3寻址方式与指令系 2、立即数寻址( Immediate Addressing) 在这种寻址中,直接在指令中给出8位或16位操作数。 如: MOV AX,1234H 指令功能][执行过程 MOV AL 34H 酉注意:(1)、立即数只能作源操作数,不能作目标操作数。 (2)、立即数寻址方式,其操作数随着取指令时进 入CPU,因此,执行该指令时也直接在CPU内部进行 而不需要总线周期,故执行指令速度快。 (3)、立即数寻址方式受限制较多,一般用于计数 器、寄存器或存储器赋初值,或者用于比较运算等。 如: MOV CL,100 MP CX 0
Chapter 3 寻址方式与指令系 统 西 华 师 范 大 学 计 算 机 学 院 2、立即数寻址(Immediate Addressing) 在这种寻址中,直接在指令中给出8位或16位操作数。 如:MOV AX,1234H MOV AL,34H 注意:(1)、立即数只能作源操作数,不能作目标操作数。 (2)、立即数寻址方式,其操作数随着取指令时进 入CPU,因此,执行该指令时也直接在CPU内部进行, 而不需要总线周期,故执行指令速度快。 (3)、立即数寻址方式受限制较多,一般用于计数 器、寄存器或存储器赋初值,或者用于比较运算等。 如:MOV CL,100 JMP CX,0 指令功能 执行过程
Chapter3寻址方式与指令系 3直接寻址( Direct Addressing) 在这种寻址中,在指令中直接给出操作数的地址,即 有效地址(EA)直接由位移量提供。 注意:这是从存储器中寻找操作数最简单的一种寻址方式 (1)、EA用符号表示 如: MOV AX,VAR MOV AH DADA BYTE MOV CL DA+3 指令功能 MOV BX DATA WORD (2)、EA用常数表示 执行过程 如: MOV AX,Ds:[2000H] 注意:在这种方式中,段寄存器必须指明
Chapter 3 寻址方式与指令系 统 西 华 师 范 大 学 计 算 机 学 院 3、直接寻址(Direct Addressing) 在这种寻址中,在指令中直接给出操作数的地址,即 有效地址(EA)直接由位移量提供。 如:MOV AX,VAR MOV AH,DADA _BYTE MOV CL,DA+3 MOV BX,DATA _WORD 注意:这是从存储器中寻找操作数最简单的一种寻址方式。 (1)、EA用符号表示 (2)、EA用常数表示 如:MOV AX,DS:[2000H] 注意:在这种方式中,段寄存器必须指明。 指令功能 执行过程
Chapter3寻址方式与指令系 4、寄存器间接寻址( Register Indirect Addressing) 在这种寻址中,操作数的有效地址直接由寄存器(主 要指BX、BP、S和DI)给出,即寄存器的内容是操作数 的地址 如: MOV AL,[BX] MOV BH, [BPI 寄存器操作数 MOV CL,[S[指令功能 MoD,B执行过程 注意:在这种方式中,实际上操作数是在存储器中,寄存 器的内容相当于是一个地址指针,指向操作数所在的存储 单元,因此,这是访问存储器的指令
Chapter 3 寻址方式与指令系 统 西 华 师 范 大 学 计 算 机 学 院 4、寄存器间接寻址(Register Indirect Addressing) 在这种寻址中,操作数的有效地址直接由寄存器(主 要指BX、BP、SI和DI)给出,即寄存器的内容是操作数 的地址, 如:MOV AL,[BX] MOV BH,[BP] MOV CL,[SI] MOV [DI],BX 注意:在这种方式中,实际上操作数是在存储器中,寄存 器的内容相当于是一个地址指针,指向操作数所在的存储 单元,因此,这是访问存储器的指令。 寄存器 操作数 指令功能 执行过程
Chapter3寻址方式与指令系 53基址寻址和变址寻址 (1)、基址寻址( Base Addressing) 在这种寻址方式中,有效地址(EA)由基址寄存 器(BX或BP)和指令中给出的位移量两个部分形成。 如: MOV AL10H89『指令功能 MOV TABLEBP AL MOV CL, 20H[BX] 执行过程 (2)、变址寻址( Base Addressing 在这种寻址方式中,有效地址(EA)由变址寄存 器(SI或DI)和指令中给出的位移量两个部分形成。 如: MOV AX,ARRY[S门 MOV TABLE[DI,AL MOV CL 20HISI] 注意:在这两种方式,用于一维表(数组)的查询和运算
Chapter 3 寻址方式与指令系 统 西 华 师 范 大 学 计 算 机 学 院 5、基址寻址和变址寻址 (1)、基址寻址(Base Addressing) 如:MOV AL,1000H[BX] MOV TABLE[BP],AL MOV CL,20H[BX] 在这种寻址方式中,有效地址(EA)由基址寄存 器(BX或BP)和指令中给出的位移量两个部分形成。 注意:在这两种方式,用于一维表(数组)的查询和运算。 (2)、变址寻址(Base Addressing) 在这种寻址方式中,有效地址(EA)由变址寄存 器(SI或DI)和指令中给出的位移量两个部分形成。 如:MOV AX,ARRY[SI] MOV TABLE[DI],AL MOV CL,20H[SI] 指令功能 执行过程
Chapter3寻址方式与指令系 6、基址变址寻址( Base Index Addressing) 在这种寻址方式中,有效地址(EA)由基址寄存 器(BX或BP)、变址寄存器(S或D)和指令中给出 的位移量三个部分形成 如: MOV AL,[BX[SI 指令功能 MOV TABLEIBP][D订,AL MOV CL,20H[BX]S]执行过程 MOV 100H[[DI BX 注意:(1)、在这种方式,BX或BP、SD都只能选其 中的一个,不能同时出现在指令中 (2)、在这种方式,由有两个寄存器(BX或BP、 SI或DI)的内容在程序中可作修改,因此使用起来更加灵 活、方便。 (3)、一般用于二维数组的操作
Chapter 3 寻址方式与指令系 统 西 华 师 范 大 学 计 算 机 学 院 6、基址变址寻址(Base Index Addressing) 如:MOV AL,[BX][SI] MOV TABLE[BP][DI],AL MOV CL,20H[BX][SI] MOV 100H[BP][DI],BX 在这种寻址方式中,有效地址(EA)由基址寄存 器(BX或BP)、变址寄存器(SI或DI)和指令中给出 的位移量三个部分形成。 注意:(1)、在这种方式, BX或BP、 SI或DI都只能选其 中 的一个,不能同时出现在指令中。 (2)、在这种方式, 由于有两个寄存器( BX或BP、 SI或DI)的内容在程序中可作修改,因此使用起来更加灵 活、方便。 (3)、一般用于二维数组的操作。 指令功能 执行过程
Chapter3寻址方式与指令系 7串操作寻址( String Addressing) 在申操作寻址方式中,隐含使用S和D寻找操作数 的地址指针,并且完成申操作后,按照DF表示规定的方 向来自动对地址指针(S或DI)进行修改(增/减1/2)。 在后面详细介绍。 8、功端口寻址( Input/Output Address种输入/输出控制的寻址方式,主要用于对外部 设备的访向问。 在后面详细介绍
Chapter 3 寻址方式与指令系 统 西 华 师 范 大 学 计 算 机 学 院 7、串操作寻址(String Addressing) 在后面详细介绍。 在串操作寻址方式中,隐含使用SI和DI寻找操作数 的地址指针,并且完成串操作后,按照DF表示规定的方 向来自动对地址指针(SI或DI)进行修改(增/减1/2)。 这是一种输入/输出控制的寻址方式,主要用于对外部 设备的访问。 8、I/O端口寻址(Input/Output Addressing) 在后面详细介绍
Chapter3寻址方式与指令系 §328086/8088的指令系 、指令系统的》类 1、按指令类别〔性质)分类 1)、数据传送类指令( Data Transfer Instruction 算术运算类指令( Arithmetic Instruction 位操作类指令( Bit Manipulation Instruction操作类指e〔 String Instruction) )、程序转移类指令( Program Transfer Instuction处理器控制指令( Processor Control last按记编指令格式分类 (1)、双操作数指令 这类指令中有两个操作数,一个是源操作数,一个是目标操作数 2)、单操作数指令 这类指令中只有一个操作数,它既是源操作数,又是目标操作数 (3)、无操作数指令 这类指令中没有指明操作数,它隐含使用操作数
Chapter 3 寻址方式与指令系 统 §3.2 8086/8088的指令系 一、指令系统的分类 统 1、按指令类别(性质)分类 西 华 师 范 大 学 计 算 机 学 院 (1)、数据传送类指令(Data Transfer Instruction) (2)、算术运算类指令(Arithmetic Instruction) (3)、位操作类指令(Bit Manipulation Instruction (4)、串操作类指令( ) String Instruction) (5)、程序转移类指令(Program Transfer Instruction (6)、处理器控制指令( ) Processor Control Instruction 2、按汇编指令格式分类 ) (1)、双操作数指令 这类指令中有两个操作数,一个是源操作数,一个是目标操作数。 (2)、单操作数指令 这类指令中只有一个操作数,它既是源操作数,又是目标操作数。 (3)、无操作数指令 这类指令中没有指明操作数,它隐含使用操作数
Chapter3寻址方式与指令系 、8086/8088的指令系统 (一)、数据传送类指令 1、传送指令(MovE) (1)格式: MOV DEST,SRC (2)功能:将源操作数的内容传送给目标操作数,即: (SRC}◆DEST (3)对标志寄存器的影响:无 (4)传送方向 ①立即数传送到通用寄存器/存储单元 54: MOV AX, 1234H:(AX)=1234H MOV CL, OFH,(CL)=0FH MOV ADDR,1234;将1234送入ADDR所指示 单元
Chapter 3 寻址方式与指令系 统 二、8086/8088的指令系统 (一)、数据传送类指令 西 华 师 范 大 学 计 算 机 学 院 1、传送指令(MOVE) (3)对标志寄存器的影响:无 (1)格式:MOV DEST,SRC (4) 传送方向 (2)功能:将源操作数的内容传送给目标操作数,即: (SRC) DEST ①立即数传送到通用寄存器/存储单元 如:MOV AX,1234H;(AX)=1234H MOV CL,0FH;(CL)=0FH MOV ADDR,1234;将1234送入ADDR所指示的 单元 MOV DATA_BYTE,0FH;将DATA _BYTE单元置0FH