《最新微机原理与接口技术课件微机第三章PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新微机原理与接口技术课件微机第三章PPT课件.ppt(68页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微机原理与接口技术课件微机微机原理与接口技术课件微机第三章第三章微机原理与接口技术2主要内容主要内容80868086指令系统指令系统80868086的寻址方式的寻址方式指令的机器码表示方法指令的机器码表示方法微机原理与接口技术3微机原理与接口技术4微机原理与接口技术5微机原理与接口技术6微机原理与接口技术7微机原理与接口技术8微机原理与接口技术9如何区分如何区分RESULT是立即数还是符号地址?是立即数还是符号地址?如果如果RESULTEQU3E4CH;立即数立即数MOVAX,RESULT如果如果RESULTDW3E4CH;符号地址符号地址MOVAX,RESULT微机原理与接口技术104 4、
2、寄存器间接寻址(、寄存器间接寻址(Registerindirectaddressing)内内存存单单元元的的逻逻辑辑偏偏移移地地址址通通过过寄存器间接给出寄存器间接给出例例:MOVSI,61A8HMOVDX,SI微机原理与接口技术115 5、寄存器相对寻址(、寄存器相对寻址(RegisterRelativeAddressing)这这种种寻寻址址方方式式中中提提出出位位移移量量的的概概念念,即即在在寄寄存存器器间间接接寻寻址址给给出出的的偏偏移移地地址址上上,加加一一相相对对位位移移量量。位位移移量量是是一一带带符符号号的的16位位二二进进制制数数。当当使使用用BX或或BP寄寄存存器器时时,称称
3、基基址址寻寻址址;使使用用SI或或DI寄寄存存器器时时,称称变变址寻址。址寻址。例例:MOVCX,36HBXMOV20BP,AL微机原理与接口技术12 6 6、基址加变址寻址(、基址加变址寻址(BasedIndexedaddressing)它的它的EA是由三部分组成的,基址寄存是由三部分组成的,基址寄存器器BX或或BP的内容加上变址寄存器的内容再的内容加上变址寄存器的内容再加位移量。物理地址由基址寄存器按规则加位移量。物理地址由基址寄存器按规则选择段寄存器,也可以使用段超越。选择段寄存器,也可以使用段超越。例例:MOVAX,8AHBXSI该例中该例中EA8AHBXSI物理地址物理地址DS10H
4、8AHBXSI微机原理与接口技术13的使用规定的使用规定立即数在立即数在中表示直接地址,如中表示直接地址,如1000H;有相加的意思,下面几种写法是等价的有相加的意思,下面几种写法是等价的6BXSI,BX+6SI,BX+SI+6;只有只有BX,BP,SI,DI可以出现在可以出现在内,它们内,它们可以单独出现,也可以组合,但可以单独出现,也可以组合,但BX和和BP不不允许出现在同一个允许出现在同一个,SI和和DI也一样;也一样;若若中含中含BP,则隐含使用,则隐含使用SS来提供段基来提供段基址,其它均隐含用址,其它均隐含用DS。均可以段超越。均可以段超越。微机原理与接口技术14微机原理与接口技术
5、157、其他、其他A、隐含寻址、隐含寻址在指令中没有明显的标出,而指定寄存器在指令中没有明显的标出,而指定寄存器参加操作,称之为参加操作,称之为“隐含寻址隐含寻址”。DAAMULBLPUSHAXPOPCX.微机原理与接口技术16微机原理与接口技术17作业订正作业订正作业订正作业订正1.若若CS=A000H,求当前代码段在存储器中的物理地求当前代码段在存储器中的物理地址范围是什么?若数据段位于址范围是什么?若数据段位于52000H到到61FFFH的的64K范围内,问范围内,问DS=?2.若当前若当前SS=3500H,SP=0800H,说明堆栈段在存储说明堆栈段在存储器中的物理地址,若此时入栈器中
6、的物理地址,若此时入栈10个字节,个字节,SP内容是内容是什么?若再出栈什么?若再出栈6个字节,个字节,SP为什么值?为什么值?3.某程序数据段中存放了两个字某程序数据段中存放了两个字1EE5H和和2A8CH,已已知(知(DS)=7850H,数据存放的偏移地址为数据存放的偏移地址为3121H及及285AH。试画图说明它们在存储器中的存放情况。试画图说明它们在存储器中的存放情况。若要读取这两个字,需要对存储器进行几次操作?若要读取这两个字,需要对存储器进行几次操作?微机原理与接口技术18B、I/O(输入(输入/输出)端口寻址(输出)端口寻址(I/Oportaddressing)当当操操作作数数在
7、在外外部部设设备备时时,使使用用I/O指指令令。此此时时有有两两种种不同的寻址方式访问不同的寻址方式访问I/O端口。端口。(1)直接端口寻址方式直接端口寻址方式(2)采用采用DX寄存器间接寻址方式寄存器间接寻址方式(3)输入指令中目的操作数可为输入指令中目的操作数可为AL或或AX;输出指令中源操作数可为;输出指令中源操作数可为AL或或AX。例例:INAL,25H;E525HMOVDX,3E4HOUTDX,AL;EE微机原理与接口技术19三、三、80868086的指令格式及数据类型的指令格式及数据类型指令由操作码和操作数(地址码)组指令由操作码和操作数(地址码)组指令由操作码和操作数(地址码)组
8、指令由操作码和操作数(地址码)组成。成。成。成。80868086的指令长度是可变的,一条指的指令长度是可变的,一条指的指令长度是可变的,一条指的指令长度是可变的,一条指令一般由令一般由令一般由令一般由1 16 6个字节组成。个字节组成。个字节组成。个字节组成。操作码操作码操作数操作数微机原理与接口技术201.1.指令中的操作数指令中的操作数 单操作数指令单操作数指令指令助记符指令助记符指令的指令的16进制代码进制代码INCAX40HINCBX43H微机原理与接口技术21 双操作数指令双操作数指令指令助记符指令助记符指令的指令的16进制代码进制代码MOVAL,04B004HMOVAX,04B80
9、400 三个操作数指令三个操作数指令三个操作数指令三个操作数指令 8086808680868086指指指指令令令令系系系系统统统统中中中中,大大大大多多多多数数数数指指指指令令令令中中中中只只只只有有有有1 1 1 12 2 2 2个个个个操操操操作作作作数数数数,但但但但也也也也有有有有少少少少数数数数指指指指令令令令中中中中有有有有3 3 3 3个个个个操操操操作作作作数数数数,不不不不过有一操作数隐含在操作码中。过有一操作数隐含在操作码中。过有一操作数隐含在操作码中。过有一操作数隐含在操作码中。例:例:例:例:ADC AX,BX ADC AX,BX ADC AX,BX ADC AX,BX
10、 该指令完成操作数该指令完成操作数该指令完成操作数该指令完成操作数AXAXAXAX、BXBXBXBX和和和和CFCFCFCF位相加。位相加。位相加。位相加。微机原理与接口技术222.2.指令中的数据类型指令中的数据类型 无符号数无符号数无符号数无符号数 带符号数带符号数带符号数带符号数 ASCIIASCII码码码码 BCDBCD数(压缩数(压缩数(压缩数(压缩BCDBCD和非压缩和非压缩和非压缩和非压缩BCDBCD)微机原理与接口技术233-2 3-2 指令的机器码表示方法指令的机器码表示方法一、机器语言指令的编码目的和特点一、机器语言指令的编码目的和特点目的:用二进制编码表示各种操作和寻址方
11、式。目的:用二进制编码表示各种操作和寻址方式。特点:没有指令与机器语言的对照表,只有每种特点:没有指令与机器语言的对照表,只有每种 基本指令类型的编码格式。基本指令类型的编码格式。微机原理与接口技术24二、机器语言指令代码的编制二、机器语言指令代码的编制1.1.寄存器之间或寄存器与存储器之间数据传寄存器之间或寄存器与存储器之间数据传 送指令的编码格式送指令的编码格式R/MREGMOD100010DW15876543210操作码操作码0:数据从寄存器传出数据从寄存器传出1:数据传至寄存器数据传至寄存器微机原理与接口技术258086寄存器编码表寄存器编码表REGW=1(字)(字)W=0(字节)(字
12、节)000011001010100111101110AXBXCXDXSPDIBPSIALBLCLDLAHBHCHDHREG段寄存器01110010CSDSESSSR/MREGMOD100010DW15876543210操作码操作码0:数据从寄存器传出数据从寄存器传出1:数据传至寄存器数据传至寄存器微机原理与接口技术26MODR/M00000101001110010111011100011011BX+SIBX+DIBP+SIBP+DISIDID16(直接地址)BXBX+SI+D8BX+DI+D8BP+SI+D8BP+DI+D8SI+D8DI+D8BP+D8BX+D8BX+SI+D16BX+DI+
13、D16BP+SI+D16BP+DI+D16SI+D16DI+D16BP+D16BX+D16W=0W=1ALAXCLCXDLDXBLBXAHSPCHBPDHSIBHDIR/MREGMOD100010DW15876543210操作码操作码0:数据从寄存器传出数据从寄存器传出1:数据传至寄存器数据传至寄存器微机原理与接口技术272.2.立即数寻址指令的编码立即数寻址指令的编码3.3.包含段寄存器的指令的编码包含段寄存器的指令的编码4.4.段超越前缀指令的编码段超越前缀指令的编码微机原理与接口技术283-3 80863-3 8086的指令集的指令集80868086指令系统按功能可分为指令系统按功能可分
14、为指令系统按功能可分为指令系统按功能可分为6 6大类型:大类型:大类型:大类型:1 1、数据传输类数据传输类数据传输类数据传输类2 2、算术运算类算术运算类算术运算类算术运算类3 3、逻辑运算和移位类逻辑运算和移位类逻辑运算和移位类逻辑运算和移位类4 4、串操作类串操作类串操作类串操作类5 5、控制转移类控制转移类控制转移类控制转移类6 6、处理器控制类处理器控制类处理器控制类处理器控制类微机原理与接口技术29一、数据传送指令一、数据传送指令数据传送指令又可以分成数据传送指令又可以分成4种:种:l l 通用数据传送通用数据传送通用数据传送通用数据传送l l累加器专用传送指令累加器专用传送指令累
15、加器专用传送指令累加器专用传送指令l l 目的地址传送目的地址传送目的地址传送目的地址传送l l 标志寄存器转送标志寄存器转送标志寄存器转送标志寄存器转送微机原理与接口技术30指令的共同特点是:指令的共同特点是:1 1、除除除除POPPOP和和和和SAHFSAHF指指指指令令令令外外外外,这这这这类类类类指指指指令令令令的的的的操操操操作作作作结果不会影响结果不会影响结果不会影响结果不会影响FRFR寄存器中的标志。寄存器中的标志。寄存器中的标志。寄存器中的标志。2 2、指指指指令令令令中中中中有有有有两两两两个个个个操操操操作作作作数数数数,目目目目的的的的操操操操作作作作数数数数和和和和源源
16、源源操作数,其执行过程为:操作数,其执行过程为:操作数,其执行过程为:操作数,其执行过程为:目的操作数目的操作数目的操作数目的操作数源操作数,源操作数,源操作数,源操作数,当当当当指指指指令令令令中中中中仅仅仅仅列列列列出出出出一一一一个个个个操操操操作作作作数数数数时时时时,另另另另一一一一操操操操作数为隐含。作数为隐含。作数为隐含。作数为隐含。微机原理与接口技术311 1、通用数据传送指令、通用数据传送指令(1 1)MOVMOV传送指令传送指令传送指令传送指令 指令格式为:指令格式为:指令格式为:指令格式为:MOVMOV目的目的目的目的,源,源,源,源 功能:目的功能:目的功能:目的功能:
17、目的源源源源 存存储储器器通用寄存器通用寄存器AXAHBXALCXBHDXBLSICHDICLSPDHBPDL立即数立即数段寄存器段寄存器CS,DS,ES,SS微机原理与接口技术32(2)PUSH进栈指令进栈指令 指令格式为:指令格式为:指令格式为:指令格式为:PUSHPUSH源(不能是立即数)源(不能是立即数)源(不能是立即数)源(不能是立即数)其操作过程是:其操作过程是:其操作过程是:其操作过程是:a a、SPSP2 2,指示堆栈中可以存放数据的位置,指示堆栈中可以存放数据的位置,指示堆栈中可以存放数据的位置,指示堆栈中可以存放数据的位置b b、存源操作数,完成进栈操作。存源操作数,完成进
18、栈操作。存源操作数,完成进栈操作。存源操作数,完成进栈操作。(3)POP出栈指令出栈指令指令格式为:指令格式为:指令格式为:指令格式为:POPPOP目的(不能是目的(不能是目的(不能是目的(不能是CSCS)其操作过程是:其操作过程是:其操作过程是:其操作过程是:a a、将将将将SS:SPSS:SP所所所所指指指指示示示示的的的的栈栈栈栈顶顶顶顶处处处处的的的的两两两两个个个个字字字字节节节节的的的的数数数数据据据据,弹到目的操作数中;弹到目的操作数中;弹到目的操作数中;弹到目的操作数中;b b、SPSP2 2,指示当前栈顶位置,完成出栈操作,指示当前栈顶位置,完成出栈操作,指示当前栈顶位置,完
19、成出栈操作,指示当前栈顶位置,完成出栈操作。微机原理与接口技术334 4)XCHGXCHG交换指令交换指令交换指令交换指令 指令格式为:指令格式为:指令格式为:指令格式为:XCHGXCHG目的操作数目的操作数目的操作数目的操作数,源操作数,源操作数,源操作数,源操作数操作数不能为立即数;操作数不能为立即数;操作数不能为立即数;操作数不能为立即数;源和目的不能同时为存储单元;源和目的不能同时为存储单元;源和目的不能同时为存储单元;源和目的不能同时为存储单元;段寄存器不能作为操作数。段寄存器不能作为操作数。段寄存器不能作为操作数。段寄存器不能作为操作数。微机原理与接口技术342、累加器专用传送指令
20、、累加器专用传送指令1 1)ININ输入指令输入指令输入指令输入指令指令格式为指令格式为指令格式为指令格式为:INAL,nINAL,nINAX,nINAX,nINAL,DXINAL,DXINAX,DXINAX,DX2 2)OUTOUT输出指令输出指令输出指令输出指令 指令格式为:指令格式为:指令格式为:指令格式为:OUTn,ALOUTn,ALOUTn,AXOUTn,AXOUTDX,ALOUTDX,ALOUTDX,AXOUTDX,AX微机原理与接口技术353)XLAT换码指令换码指令指令格式为:指令格式为:XLAT功能功能bxalal例:查表求例:查表求n的平方。的平方。n:0-91、将将09的
21、的平平方方表表建建立立在在偏偏移移地地址址为为2000H的内存中,如图。的内存中,如图。2、查表查表完成求完成求完成求完成求5 5的平方指令序列为:的平方指令序列为:的平方指令序列为:的平方指令序列为:MOVBX,2000H;MOVBX,2000H;指向平方表的首地址指向平方表的首地址指向平方表的首地址指向平方表的首地址MOVAL,5MOVAL,5;将;将;将;将5 5换码成换码成换码成换码成5 5的平方值的平方值的平方值的平方值XLATXLAT;查表,平方值在;查表,平方值在;查表,平方值在;查表,平方值在ALAL中中中中微机原理与接口技术363 3、目标地址传送指令、目标地址传送指令、目标
22、地址传送指令、目标地址传送指令这类指令有:这类指令有:这类指令有:这类指令有:1 1)LEALEA有效地址传送到寄存器有效地址传送到寄存器有效地址传送到寄存器有效地址传送到寄存器2 2)LDSLDS将双字指针送到寄存器和将双字指针送到寄存器和将双字指针送到寄存器和将双字指针送到寄存器和DSDS3 3)LESLES将双字指针送到寄存器和将双字指针送到寄存器和将双字指针送到寄存器和将双字指针送到寄存器和ESESEgEg:LEABX,1000HLEABX,1000HLDSSI,1000HLDSSI,1000HLESDI,1000HLESDI,1000H微机原理与接口技术374 4、标志寄存器传送指令
23、、标志寄存器传送指令、标志寄存器传送指令、标志寄存器传送指令1 1)LAHFFRLAHFFR寄存器的低寄存器的低寄存器的低寄存器的低8 8位送位送位送位送AHAH2 2)SAHFAHSAHFAH送送送送FRFR寄存器的低寄存器的低寄存器的低寄存器的低8 8位位位位3 3)PUSHFFRPUSHFFR寄存器推入堆栈寄存器推入堆栈寄存器推入堆栈寄存器推入堆栈4 4)POPFPOPF从栈顶中弹出存入从栈顶中弹出存入从栈顶中弹出存入从栈顶中弹出存入FRFR寄存器寄存器寄存器寄存器微机原理与接口技术38二、算术运算指令二、算术运算指令 1)ADD 1)ADD 1)ADD 1)ADD 算术加法算术加法算术
24、加法算术加法指令功能:目的指令功能:目的指令功能:目的指令功能:目的目的操作数源操作数目的操作数源操作数目的操作数源操作数目的操作数源操作数 2 2 2 2)ADC ADC ADC ADC 带进位算术加法带进位算术加法带进位算术加法带进位算术加法 指令功能:目的指令功能:目的指令功能:目的指令功能:目的目的操作数源操作数目的操作数源操作数目的操作数源操作数目的操作数源操作数CFCFCFCF 1、算术加法指令、算术加法指令 两条指令的源操作数可以是寄存器、存储器或两条指令的源操作数可以是寄存器、存储器或两条指令的源操作数可以是寄存器、存储器或两条指令的源操作数可以是寄存器、存储器或立即数;目的操
25、作数只能是寄存器或存储单元。源立即数;目的操作数只能是寄存器或存储单元。源立即数;目的操作数只能是寄存器或存储单元。源立即数;目的操作数只能是寄存器或存储单元。源和目的操作数不能同时为存储器且类型要一致。和目的操作数不能同时为存储器且类型要一致。和目的操作数不能同时为存储器且类型要一致。和目的操作数不能同时为存储器且类型要一致。影响所有的标志位影响所有的标志位影响所有的标志位影响所有的标志位微机原理与接口技术39 5)AAA 5)AAA 5)AAA 5)AAA 对非压缩对非压缩对非压缩对非压缩BCDBCDBCDBCD数加法操作的结果进行数加法操作的结果进行数加法操作的结果进行数加法操作的结果进
26、行 校正校正校正校正 指令功能:对指令功能:对指令功能:对指令功能:对ALALALAL寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整 3 3 3 3)INC INC INC INC 加加加加1 1 1 1指令指令指令指令指令功能:目的指令功能:目的指令功能:目的指令功能:目的目的操作数目的操作数目的操作数目的操作数1 1 1 1目的操作数可以是通用寄存器或存储器。目的操作数可以是通用寄存器或存储器。目的操作数可以是通用寄存器或存储器。目的操作数可以是通用寄存器或存储器。影响标志位,但影响标志位,但影响标志位,但影响标志位,但CFCFCF
27、CF除外。除外。除外。除外。4)DAA 4)DAA 4)DAA 4)DAA 对压缩对压缩对压缩对压缩BCDBCDBCDBCD数加法操作的结果进行校正数加法操作的结果进行校正数加法操作的结果进行校正数加法操作的结果进行校正 指令功能:对指令功能:对指令功能:对指令功能:对ALALALAL寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整微机原理与接口技术40 2 2 2 2、算术减法指令、算术减法指令、算术减法指令、算术减法指令 1)SUB 1)SUB 1)SUB 1)SUB 算术减法算术减法算术减法算术减法指令功能:目的指令功能:目的指令功
28、能:目的指令功能:目的目的操作数源操作数目的操作数源操作数目的操作数源操作数目的操作数源操作数2)SBB 2)SBB 2)SBB 2)SBB 带进位算术减法带进位算术减法带进位算术减法带进位算术减法指令功能:目的指令功能:目的指令功能:目的指令功能:目的目的操作数源操作数目的操作数源操作数目的操作数源操作数目的操作数源操作数CFCFCFCF3)DEC 3)DEC 3)DEC 3)DEC 减减减减1 1 1 1指令指令指令指令指令功能:目的指令功能:目的指令功能:目的指令功能:目的目的操作数目的操作数目的操作数目的操作数1 1 1 14)DAS 4)DAS 4)DAS 4)DAS 对压缩对压缩对
29、压缩对压缩BCDBCDBCDBCD数减法操作的结果进行校正数减法操作的结果进行校正数减法操作的结果进行校正数减法操作的结果进行校正指令功能:对指令功能:对指令功能:对指令功能:对ALALALAL寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整5)AAS 5)AAS 5)AAS 5)AAS 对非压缩对非压缩对非压缩对非压缩BCDBCDBCDBCD数减法操作的结果进行校正数减法操作的结果进行校正数减法操作的结果进行校正数减法操作的结果进行校正指令功能:对指令功能:对指令功能:对指令功能:对ALALALAL寄存器的内容进行十进制调整寄存器的内容
30、进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整6)CMP 6)CMP 6)CMP 6)CMP 比较指令比较指令比较指令比较指令指令功能:目的源操作数指令功能:目的源操作数指令功能:目的源操作数指令功能:目的源操作数7)NEG 7)NEG 7)NEG 7)NEG 取补指令取补指令取补指令取补指令指令功能:指令功能:指令功能:指令功能:0 0 0 0目的操作数目的操作数目的操作数目的操作数微机原理与接口技术41 3)AAM 3)AAM 3)AAM 3)AAM 非压缩非压缩非压缩非压缩BCDBCDBCDBCD数乘法操作结果校正数乘法操作结果校正数乘法操作结果校正数乘法操作结果校正
31、指指指指令令令令功功功功能能能能:完完完完成成成成两两两两个个个个非非非非压压压压缩缩缩缩BCDBCDBCDBCD数数数数乘乘乘乘法法法法结结结结果果果果的的的的十进制数调整十进制数调整十进制数调整十进制数调整3 3、算术乘法指令、算术乘法指令 1)MUL 1)MUL 1)MUL 1)MUL 无符号数乘法无符号数乘法无符号数乘法无符号数乘法指令格式:指令格式:指令格式:指令格式:MUL MUL MUL MUL 源源源源指令功能:指令功能:指令功能:指令功能:AX AX AX AX ALALALAL源源源源 (DX,AX)(DX,AX)(DX,AX)(DX,AX)AXAXAXAX源源源源源操作数
32、可以是寄存器,也可以是存储器,但源操作数可以是寄存器,也可以是存储器,但源操作数可以是寄存器,也可以是存储器,但源操作数可以是寄存器,也可以是存储器,但不能是立即数。是存储器时,需指明类型。不能是立即数。是存储器时,需指明类型。不能是立即数。是存储器时,需指明类型。不能是立即数。是存储器时,需指明类型。2)IMUL 2)IMUL 2)IMUL 2)IMUL 带符号数乘法带符号数乘法带符号数乘法带符号数乘法指令格式:指令格式:指令格式:指令格式:IMUL IMUL IMUL IMUL 源源源源指令功能:指令功能:指令功能:指令功能:AX AX AX AX ALALALAL源源源源 (DX,AX)
33、(DX,AX)(DX,AX)(DX,AX)AXAXAXAX源源源源微机原理与接口技术42另外还有:另外还有:另外还有:另外还有:CBW CBW CBW CBW 带符号数字节扩展带符号数字节扩展带符号数字节扩展带符号数字节扩展;CWD CWD CWD CWD 带符号数字扩展带符号数字扩展带符号数字扩展带符号数字扩展;AAD AAD AAD AAD 非压缩非压缩非压缩非压缩BCDBCDBCDBCD数除法校正。数除法校正。数除法校正。数除法校正。4 4、算术除法指令、算术除法指令1)DIV 1)DIV 1)DIV 1)DIV 无符号数除法无符号数除法无符号数除法无符号数除法 指令格式:指令格式:指令
34、格式:指令格式:DIV DIV DIV DIV 源源源源指令功能:指令功能:指令功能:指令功能:AX/AX/AX/AX/源源源源AL:AL:AL:AL:商,商,商,商,AH:AH:AH:AH:余数余数余数余数 DXAX/DXAX/DXAX/DXAX/源源源源 AX:AX:AX:AX:商,商,商,商,DX:DX:DX:DX:余数余数余数余数2)IDIV 2)IDIV 2)IDIV 2)IDIV 带符号数除法带符号数除法带符号数除法带符号数除法 指令格式:指令格式:指令格式:指令格式:IDIV IDIV IDIV IDIV 源源源源指令功能:指令功能:指令功能:指令功能:AX/AX/AX/AX/源
35、源源源AL:AL:AL:AL:商,商,商,商,AH:AH:AH:AH:余数余数余数余数 DXAX/DXAX/DXAX/DXAX/源源源源 AX:AX:AX:AX:商,商,商,商,DX:DX:DX:DX:余数余数余数余数微机原理与接口技术43三、逻辑运算和移位指令三、逻辑运算和移位指令(1 1 1 1)可以按二进制位进行操作;可以按二进制位进行操作;可以按二进制位进行操作;可以按二进制位进行操作;(2 2 2 2)逻辑运算指令按逻辑门电路的运算规则;)逻辑运算指令按逻辑门电路的运算规则;)逻辑运算指令按逻辑门电路的运算规则;)逻辑运算指令按逻辑门电路的运算规则;(3 3 3 3)逻辑移位指令有左
36、移和右移,移出的位都进入逻辑移位指令有左移和右移,移出的位都进入逻辑移位指令有左移和右移,移出的位都进入逻辑移位指令有左移和右移,移出的位都进入CFCFCFCF标志;标志;标志;标志;(4 4 4 4)因移空位的补充方式不同有多种指令形式;)因移空位的补充方式不同有多种指令形式;)因移空位的补充方式不同有多种指令形式;)因移空位的补充方式不同有多种指令形式;(5 5 5 5)逻辑移位指令中,移动超过)逻辑移位指令中,移动超过)逻辑移位指令中,移动超过)逻辑移位指令中,移动超过1 1 1 1次则用次则用次则用次则用CLCLCLCL寄存器做计数器;寄存器做计数器;寄存器做计数器;寄存器做计数器;(
37、6 6 6 6)执行逻辑操作指令,执行逻辑操作指令,执行逻辑操作指令,执行逻辑操作指令,CFCFCFCF均被清均被清均被清均被清0 0 0 0。属于位操作指令,其共同点是:属于位操作指令,其共同点是:属于位操作指令,其共同点是:属于位操作指令,其共同点是:微机原理与接口技术441 1、逻辑运算指令逻辑运算指令1 1 1 1)NOT NOT NOT NOT 逻辑求反逻辑求反逻辑求反逻辑求反 指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器内容求反。位寄存器或存储器内容求反。位寄存器或存储器内容求反。位寄存器或存储器内容求反。2 2 2
38、 2)AND AND AND AND 逻辑与操作逻辑与操作逻辑与操作逻辑与操作 指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器内容和源操作数位寄存器或存储器内容和源操作数位寄存器或存储器内容和源操作数位寄存器或存储器内容和源操作数“与与与与”3 3 3 3)OR OR OR OR 逻辑或操作逻辑或操作逻辑或操作逻辑或操作指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器内容和源操作数位寄存器或存储器内容和源操作数位寄存器或存储器内容和源操作数位寄存器或存储器内容和源操作数
39、“或或或或”4 4 4 4)XOR XOR XOR XOR 逻辑异或操作逻辑异或操作逻辑异或操作逻辑异或操作 指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器内容和源操作数位寄存器或存储器内容和源操作数位寄存器或存储器内容和源操作数位寄存器或存储器内容和源操作数“异或异或异或异或”5 5 5 5)TEST TEST TEST TEST 测试指令测试指令测试指令测试指令指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器内容和源操作数位寄存器或存储器内容和源操作数位寄存器或存储
40、器内容和源操作数位寄存器或存储器内容和源操作数“与与与与”,不产生运算结果,仅影响状态标志,不产生运算结果,仅影响状态标志,不产生运算结果,仅影响状态标志,不产生运算结果,仅影响状态标志微机原理与接口技术45AND AND 可以使指定位为可以使指定位为0 0OR OR 可以使指定位为可以使指定位为1 1XOR XOR 可以使指定位为非可以使指定位为非微机原理与接口技术462 2、逻辑移位指令、逻辑移位指令2 2 2 2)SAL SAL SAL SAL 算术左移算术左移算术左移算术左移 指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器
41、内容左位寄存器或存储器内容左位寄存器或存储器内容左位寄存器或存储器内容左移,移空的位补移,移空的位补移,移空的位补移,移空的位补0 0 0 0 1 1 1 1)SHL SHL SHL SHL 逻辑左移逻辑左移逻辑左移逻辑左移指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器内容左移,位寄存器或存储器内容左移,位寄存器或存储器内容左移,位寄存器或存储器内容左移,移空的位补移空的位补移空的位补移空的位补0 0 0 0。3 3 3 3)SHR SHR SHR SHR 逻辑右移逻辑右移逻辑右移逻辑右移 指令功能:将指令功能:将指令功能:将指令
42、功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器内容右移,位寄存器或存储器内容右移,位寄存器或存储器内容右移,位寄存器或存储器内容右移,移空的位补移空的位补移空的位补移空的位补0 0 0 0 4 4 4 4)SAR SAR SAR SAR 算术右移算术右移算术右移算术右移指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器内容右位寄存器或存储器内容右位寄存器或存储器内容右位寄存器或存储器内容右移,移空的位由最高位补充。移,移空的位由最高位补充。移,移空的位由最高位补充。移,移空的位由最高位补充。微机原理与接口技术4
43、75 5 5 5)ROL ROL ROL ROL 不带进位循环左移不带进位循环左移不带进位循环左移不带进位循环左移指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器内容左位寄存器或存储器内容左位寄存器或存储器内容左位寄存器或存储器内容左移,移空的位由移出位补充。移,移空的位由移出位补充。移,移空的位由移出位补充。移,移空的位由移出位补充。6 6 6 6)ROR ROR ROR ROR 不带进位循环右移不带进位循环右移不带进位循环右移不带进位循环右移指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161
44、616位寄存器或存储器内容右位寄存器或存储器内容右位寄存器或存储器内容右位寄存器或存储器内容右移,移空的位由移出位补充。移,移空的位由移出位补充。移,移空的位由移出位补充。移,移空的位由移出位补充。7 7 7 7)RCL RCL RCL RCL 带进位循环左移带进位循环左移带进位循环左移带进位循环左移指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器位寄存器或存储器位寄存器或存储器位寄存器或存储器内容左移,移空的位由内容左移,移空的位由内容左移,移空的位由内容左移,移空的位由CFCFCFCF位补充。位补充。位补充。位补充。8 8 8
45、8)RCR RCR RCR RCR 带进位循环右移带进位循环右移带进位循环右移带进位循环右移 指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器内容位寄存器或存储器内容位寄存器或存储器内容位寄存器或存储器内容右移,移空的位由右移,移空的位由右移,移空的位由右移,移空的位由CFCFCFCF位补充。位补充。位补充。位补充。微机原理与接口技术48四、字符串处理指令四、字符串处理指令源操作数指针源操作数指针源操作数指针源操作数指针 DS DS DS DS:SISISISI目的操作数指针目的操作数指针目的操作数指针目的操作数指针 ES ES E
46、S ES:DI DI DI DI 每操作一次每操作一次每操作一次每操作一次SI,DISI,DISI,DISI,DI修改一次,方向由修改一次,方向由修改一次,方向由修改一次,方向由DFDFDFDF控制控制控制控制重复操作的退出重复操作的退出重复操作的退出重复操作的退出CXCXCXCX控制控制控制控制条件控制条件控制条件控制条件控制(ZF(ZF(ZF(ZF标志标志标志标志)必须遵守的约定:必须遵守的约定:必须遵守的约定:必须遵守的约定:微机原理与接口技术491 1 1 1、串传送指令、串传送指令、串传送指令、串传送指令 MOVSB/MOVSW MOVSB/MOVSW MOVSB/MOVSW MOV
47、SB/MOVSW2 2 2 2、串比较指令、串比较指令、串比较指令、串比较指令 CMPSB/CMPSW CMPSB/CMPSW CMPSB/CMPSW CMPSB/CMPSW3 3 3 3、串搜索指令、串搜索指令、串搜索指令、串搜索指令 SCASB/SCASW(AL/AX-SCASB/SCASW(AL/AX-SCASB/SCASW(AL/AX-SCASB/SCASW(AL/AX-目的串目的串目的串目的串)4 4 4 4、串装入指令、串装入指令、串装入指令、串装入指令 LODSB/LODSW LODSB/LODSW LODSB/LODSW LODSB/LODSW(源串(源串(源串(源串 AL/A
48、X AL/AX AL/AX AL/AX)5 5 5 5、串存储指令、串存储指令、串存储指令、串存储指令 STOSB/STOSW(AL/AX STOSB/STOSW(AL/AX STOSB/STOSW(AL/AX STOSB/STOSW(AL/AX 目的串)目的串)目的串)目的串)6 6 6 6、指令前缀、指令前缀、指令前缀、指令前缀 REPREPREPREP、REPZ/REPEREPZ/REPEREPZ/REPEREPZ/REPE、REPNZ/REPNE REPNZ/REPNE REPNZ/REPNE REPNZ/REPNE 微机原理与接口技术50五、控制转移指令五、控制转移指令转移指令转移指
49、令循环控制循环控制过程调用过程调用中断控制中断控制微机原理与接口技术512 2 2 2)短转移指令)短转移指令)短转移指令)短转移指令JMP LABELJMP LABELJMP LABELJMP LABELIP+CBW(IP+CBW(IP+CBW(IP+CBW(位移量位移量位移量位移量)IPIPIPIP位移量(位移量(位移量(位移量(8bit8bit8bit8bit)LABELLABELLABELLABEL指令地址指令地址指令地址指令地址JMPJMPJMPJMP地址地址地址地址2 2 2 21 1 1 1)段内直接转移)段内直接转移)段内直接转移)段内直接转移JMP LABELJMP LABE
50、LJMP LABELJMP LABELIP+IP+IP+IP+位移量位移量位移量位移量IPIPIPIP位移量位移量位移量位移量LABELLABELLABELLABEL指令地址指令地址指令地址指令地址JMPJMPJMPJMP地址地址地址地址3 3 3 31 1 1 1、无条件转移指令、无条件转移指令、无条件转移指令、无条件转移指令JMP JMP JMP JMP 目标地址目标地址目标地址目标地址微机原理与接口技术523 3 3 3)段内间接转移)段内间接转移)段内间接转移)段内间接转移JMP SIJMP SIJMP SIJMP SIJMP WORD PTRJMP WORD PTRJMP WORD