1第3章指令系统2主要内容:指令系统的一般概念对操作数的寻址方式六大类指令的操作原理:操作码的含义指令对操作数的要求指令执行的结果3§3.1概述4了解:指令及指令系统;指令的格式;指令中的操作数类型;指令字长与机器字长;指令的执行时间CISC和RISC指令系统5一、指令与指令系统指令:控制计算机完成某种操作的命令指令系统:处理器所能识别的所有指令的集合指令的兼容性:同一系列机的指令都是兼容的。6二、指令格式指令中应包含的信息:运算数据的来源运算结果的去向执行的操作7指令格式操作码[操作数],[操作数]指令的功能(即执行何种操作)目标操作数源操作数指令的操作对象,指明参加操作的数据或数据存放的地址8指令格式:零操作数指令:操作码单操作数指令:操作码操作数双操作数指令:操作码操作数,操作数多操作数指令:三操作数及以上9三、指令中的操作数类型立即数操作数寄存器操作数存储器操作数表征参加操作的数据本身表征数据存放的地址10立即数操作数立即数只能作为源操作数。其本身是参加操作的数据,可以是8位或16位。例:MOVAX,1234HMOVBL,22H立即数无法作为目标操作数立即数可以是无符号或带符号数,其数值应在可取值范围内。11寄存器操作数:参加运算的数存放在指令给出的寄存器中,可以是16位或8位。例:MOVAX,BXMOVDL,CH12存储器操作数参加运算的数存放在存储器的某一个或某两个单元中。表现形式:[]立即数或寄存器13存储器操作数例例:MOVAX,[1200H]MOVAL,[1200H]22H11H1200H偏移地址AHAL┇14四、指令字长与机器字长指令字长:由操作码的长度、操作数地址长度、操作数个数决定;机器字长:计算机能够直接处理的二进制数的位数。15五、指令的执行速度指令的字长影响指令的执行速度。(常用指令的执行时间见表3-4)对不同的操作数,指令执行的时间不同:存储器快!立即数寄存器16六、CISC和RISC指令系统CISC(复杂)指令系统指令的功能强,种类多,高级语言和机器语言间的距离缩小;指令系统复杂,难使用。RISC(精简)指令系统指令功能较弱,种类少,格式简单;多数指令在一个计算机周期内完成;对存储器的结构和存取速度要求较高。17§3.2寻址方式18寻址方式寻找操作数所在地址的方法寻找转移地址的方法本节19一、立即寻址指令中的源操作数是立即数,即源操作数是参加操作的数据本身。主要用于给寄存器或存储单元赋初值。例:MOVAX,1200H12H00HAHALMOV代码段┇20二、直接寻址操作数在内存中,指令中直接给出操作数的偏移地址。操作数一般在DS段(默认)。例:MOVAX,[1200H]22H11H1200H偏移地址┇数据段AHAL21直接寻址直接寻址方式下,操作数的段地址默认为数据段,但允许段重设,即由指令定义段。例:MOVAX,ES:[1200H]22三、寄存器寻址参加操作的操作数在CPU的通用寄存器中。例:MOVAX,BXAXBX23四、寄存器间接寻址参与操作的操作数存放在内存中,用寄存器的内容表示操作数的偏移地址。24寄存器间接寻址由寄存器间接给出操作数的偏移地址;存放偏移地址的寄存器称为间址寄存器,它们是:BX,BP,SI,DI操作数的段地址(数据处于哪个段)取决于选择哪一个间址寄存器:BX,SI,DIBP默认在数据段默认在堆栈段25寄存器间接寻址例例:MOVAX,[BX]设BX=1200H22H11H1200H偏移地址AHAL┇1122数据段代码段MOV26寄存器间接寻址寄存器间接寻址基址寻址(间址寄存器为基址寄存器BX,BP)变址寻址(间址寄存器为变址寄存器SI,DI)27五、寄存器相对寻址操作数的偏移地址为寄存器的内容加上一个位移量。例:MOVAX,[BX+DATA]设:DS=2000H,BX=0220H,DATA=05H则:AX=[20225H]28六、基址、变址寻址操作数的偏移地址为一个基址寄存器的内容加上一个变址寄存器的内容,操作数的段地址由选择的基址寄存器决定。例3-9(P103):MOVAX,[SI+BX]29七、基址、变址、相对寻址操作数的偏移地址为一个基址寄存器的内容加上一个变址寄存器的内容,再加上一个位移量。操作数的段地址由选择的基址寄存器决定。例:3-10(P104)30八、隐含寻址指令隐含...