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