《微机原理与接口技术课件微机第三章8086寻址方式和指令系统》由会员分享,可在线阅读,更多相关《微机原理与接口技术课件微机第三章8086寻址方式和指令系统(67页珍藏版)》请在金锄头文库上搜索。
1、微机原理与接口技术1第三章第三章 8086 8086寻址方式和寻址方式和指令系统指令系统微机原理与接口技术2主要内容主要内容80868086指令系统指令系统80868086的寻址方式的寻址方式指令的机器码表示方法指令的机器码表示方法微机原理与接口技术33-18086的寻址方式的寻址方式寻址方式就是指令中用于说明操作寻址方式就是指令中用于说明操作寻址方式就是指令中用于说明操作寻址方式就是指令中用于说明操作数所在地址的方法数所在地址的方法数所在地址的方法数所在地址的方法MOVAX,1234HMOVAX,1234H;B83412;B83412MOVAX,1234HMOVAX,1234H;A13412
2、;A13412操作码操作码操作数操作数微机原理与接口技术4一、一、8086的寻址方式说明的寻址方式说明1 1有效地址有效地址有效地址有效地址EAEA(EffectiveAddressEffectiveAddress)当操作数在内存中时,指令的操作数给出所当操作数在内存中时,指令的操作数给出所当操作数在内存中时,指令的操作数给出所当操作数在内存中时,指令的操作数给出所访问的访问的访问的访问的内存单元的逻辑地址。在寻址方式中,内存单元的逻辑地址。在寻址方式中,内存单元的逻辑地址。在寻址方式中,内存单元的逻辑地址。在寻址方式中,逻辑地址的形成是由多个分量组合而成,该组逻辑地址的形成是由多个分量组合而
3、成,该组逻辑地址的形成是由多个分量组合而成,该组逻辑地址的形成是由多个分量组合而成,该组合地址又叫有效地址。合地址又叫有效地址。合地址又叫有效地址。合地址又叫有效地址。 2 2、MOVMOV数据传送指令数据传送指令数据传送指令数据传送指令 其格式为:其格式为:其格式为:其格式为:MOVMOV目的操作数,源操作数目的操作数,源操作数目的操作数,源操作数目的操作数,源操作数 目的操作数和源操作数均可采用不同的寻址方式,目的操作数和源操作数均可采用不同的寻址方式,目的操作数和源操作数均可采用不同的寻址方式,目的操作数和源操作数均可采用不同的寻址方式, 两个操作数的类型必需一致。两个操作数的类型必需一
4、致。两个操作数的类型必需一致。两个操作数的类型必需一致。微机原理与接口技术5二、寻址方式介绍二、寻址方式介绍1 1立即寻址(立即寻址(立即寻址(立即寻址(ImmediateaddressingImmediateaddressing)操作数就在指令中,紧跟在操作码后操作数就在指令中,紧跟在操作码后操作数就在指令中,紧跟在操作码后操作数就在指令中,紧跟在操作码后面,作为指令一部分存放在内存的代码段中,面,作为指令一部分存放在内存的代码段中,面,作为指令一部分存放在内存的代码段中,面,作为指令一部分存放在内存的代码段中,这种操作数称为立即数。这种操作数称为立即数。这种操作数称为立即数。这种操作数称为
5、立即数。例:例:例:例:MOVAX,34EAHMOVAX,34EAH;B8EA34B8EA34 MOVBL,20HMOVBL,20H; B320B320微机原理与接口技术62 2、寄存器寻址(、寄存器寻址(、寄存器寻址(、寄存器寻址(RegisteraddressingRegisteraddressing) 操操操操作作作作数数数数在在在在寄寄寄寄存存存存器器器器中中中中,指指指指令令令令中中中中源源源源操操操操作作作作数数数数和和和和目的操作数都可用这种寻址方式。目的操作数都可用这种寻址方式。目的操作数都可用这种寻址方式。目的操作数都可用这种寻址方式。例:例:MOVAL,BL;88D8MOV
6、AX,1234H;B83412MOVAL,AH;88E0微机原理与接口技术73、直接寻址(、直接寻址(Directaddressing)当当指指令令中中的的源源操操作作数数或或目目的的操操作作数数,采采用用直直接接给给出出被被访访问问内内存存单单元元的的逻逻辑辑地地址址时,这种寻址方式称直接寻址。时,这种寻址方式称直接寻址。例例:MOVAX,3E4CH;A14C3EMOV1234H,AL ;A23412微机原理与接口技术8两个概念两个概念u段超越:段超越:MOVAX,3E4CHMOVAX,ES:3E4CHu符号地址:符号地址:MOVAX,RESULT微机原理与接口技术9如何区分如何区分RESU
7、LT是立即数还是符号地址?是立即数还是符号地址?如果如果RESULTEQU3E4CH;立即数立即数MOVAX,RESULT如果如果RESULTDW3E4CH;符号地址符号地址MOVAX,RESULT微机原理与接口技术104 4、寄存器间接寻址(、寄存器间接寻址(Registerindirectaddressing)内内存存单单元元的的逻逻辑辑偏偏移移地地址址通通过过寄存器间接给出寄存器间接给出例例:MOVSI,61A8HMOVDX,SI微机原理与接口技术115 5、寄存器相对寻址(、寄存器相对寻址(RegisterRelativeAddressing)这这种种寻寻址址方方式式中中提提出出位位移
8、移量量的的概概念念,即即在在寄寄存存器器间间接接寻寻址址给给出出的的偏偏移移地地址址上上,加加一一相相对对位位移移量量。位位移移量量是是一一带带符符号号的的16位位二二进进制制数数。当当使使用用BX或或BP寄寄存存器器时时,称称基基址址寻寻址址;使使用用SI或或DI寄寄存存器器时时,称称变变址寻址。址寻址。例例:MOVCX,36HBXMOV20BP,AL微机原理与接口技术12 6 6、基址加变址寻址(、基址加变址寻址(BasedIndexedaddressing)它的它的EA是由三部分组成的,基址寄存是由三部分组成的,基址寄存器器BX或或BP的内容加上变址寄存器的内容再的内容加上变址寄存器的内
9、容再加位移量。物理地址由基址寄存器按规则加位移量。物理地址由基址寄存器按规则选择段寄存器,也可以使用段超越。选择段寄存器,也可以使用段超越。例例:MOVAX,8AHBXSI该例中该例中EA8AHBXSI物理地址物理地址DS10H8AHBXSI微机原理与接口技术13的使用规定的使用规定立即数在立即数在中表示直接地址,如中表示直接地址,如1000H;有相加的意思,下面几种写法是等价有相加的意思,下面几种写法是等价的的6BXSI,BX+6SI,BX+SI+6;只有只有BX,BP,SI,DI可以出现在可以出现在内,它们内,它们可以单独出现,也可以组合,但可以单独出现,也可以组合,但BX和和BP不不允许
10、出现在同一个允许出现在同一个,SI和和DI也一样;也一样;若若中含中含BP,则隐含使用,则隐含使用SS来提供段基来提供段基址,其它均隐含用址,其它均隐含用DS。均可以段超越。均可以段超越。微机原理与接口技术14微机原理与接口技术157、其他、其他A、隐含寻址、隐含寻址在指令中没有明显的标出,而指定寄存器在指令中没有明显的标出,而指定寄存器参加操作,称之为参加操作,称之为“隐含寻址隐含寻址”。DAAMULBLPUSHAXPOPCX.微机原理与接口技术16微机原理与接口技术17作业订正作业订正作业订正作业订正1.若若CS=A000H,求当前代码段在存储器中的物理地求当前代码段在存储器中的物理地址范
11、围是什么?若数据段位于址范围是什么?若数据段位于52000H到到61FFFH的的64K范围内,问范围内,问DS=?2.若当前若当前SS=3500H,SP=0800H,说明堆栈段在存储说明堆栈段在存储器中的物理地址,若此时入栈器中的物理地址,若此时入栈10个字节,个字节,SP内容是内容是什么?若再出栈什么?若再出栈6个字节,个字节,SP为什么值?为什么值?3.某程序数据段中存放了两个字某程序数据段中存放了两个字1EE5H和和2A8CH,已已知(知(DS)=7850H,数据存放的偏移地址为数据存放的偏移地址为3121H及及285AH。试画图说明它们在存储器中的存放情况。试画图说明它们在存储器中的存
12、放情况。若要读取这两个字,需要对存储器进行几次操作?若要读取这两个字,需要对存储器进行几次操作?微机原理与接口技术18B、I/O(输入(输入/输出)端口寻址(输出)端口寻址(I/Oportaddressing)当当操操作作数数在在外外部部设设备备时时,使使用用I/O指指令令。此此时时有有两两种种不同的寻址方式访问不同的寻址方式访问I/O端口。端口。(1)直接端口寻址方式直接端口寻址方式(2)采用采用DX寄存器间接寻址方式寄存器间接寻址方式(3)输入指令中目的操作数可为输入指令中目的操作数可为AL或或AX;输出指令中源操作数可为;输出指令中源操作数可为AL或或AX。例例:INAL,25H;E52
13、5HMOVDX,3E4HOUTDX,AL;EE微机原理与接口技术19三、三、80868086的指令格式及数据类型的指令格式及数据类型指令由操作码和操作数(地址码)组指令由操作码和操作数(地址码)组指令由操作码和操作数(地址码)组指令由操作码和操作数(地址码)组成。成。成。成。80868086的指令长度是可变的,一条指的指令长度是可变的,一条指的指令长度是可变的,一条指的指令长度是可变的,一条指令一般由令一般由令一般由令一般由1 16 6个字节组成。个字节组成。个字节组成。个字节组成。 操作码操作码操作数操作数微机原理与接口技术201.1.指令中的操作数指令中的操作数 单操作数指令单操作数指令指
14、令助记符指令助记符指令的指令的16进制代码进制代码INCAX40HINCBX43H微机原理与接口技术21 双操作数指令双操作数指令指令助记符指令助记符指令的指令的16进制代码进制代码MOVAL,04B004HMOVAX,04B80400 三个操作数指令三个操作数指令三个操作数指令三个操作数指令 8086808680868086指指指指令令令令系系系系统统统统中中中中,大大大大多多多多数数数数指指指指令令令令中中中中只只只只有有有有1 1 1 12 2 2 2个个个个操操操操作作作作数数数数,但但但但也也也也有有有有少少少少数数数数指指指指令令令令中中中中有有有有3 3 3 3个个个个操操操操作
15、作作作数数数数,不不不不过有一操作数隐含在操作码中。过有一操作数隐含在操作码中。过有一操作数隐含在操作码中。过有一操作数隐含在操作码中。例:例:例:例: ADC AX , BX ADC AX , BX ADC AX , BX ADC AX , BX 该指令完成操作数该指令完成操作数该指令完成操作数该指令完成操作数AXAXAXAX、BXBXBXBX和和和和CFCFCFCF位相加。位相加。位相加。位相加。微机原理与接口技术222.2.指令中的数据类型指令中的数据类型 无符号数无符号数无符号数无符号数 带符号数带符号数带符号数带符号数 ASCIIASCII码码码码 BCDBCD数(压缩数(压缩数(压
16、缩数(压缩BCDBCD和非压缩和非压缩和非压缩和非压缩BCDBCD) 微机原理与接口技术233-2 3-2 指令的机器码表示方法指令的机器码表示方法一、机器语言指令的编码目的和特点一、机器语言指令的编码目的和特点目的:用二进制编码表示各种操作和寻址方式。目的:用二进制编码表示各种操作和寻址方式。特点:没有指令与机器语言的对照表,只有每种特点:没有指令与机器语言的对照表,只有每种 基本指令类型的编码格式。基本指令类型的编码格式。微机原理与接口技术24二、机器语言指令代码的编制二、机器语言指令代码的编制1.1.寄存器之间或寄存器与存储器之间数据传寄存器之间或寄存器与存储器之间数据传 送指令的编码格
17、式送指令的编码格式R/MREGMOD100010DW15876543210操作码操作码0:数据从寄存器传出数据从寄存器传出1:数据传至寄存器数据传至寄存器微机原理与接口技术258086寄存器编码表寄存器编码表REGW=1(字)(字)W=0(字节)(字节)000011001010100111101110AXBXCXDXSPDIBPSIALBLCLDLAHBHCHDHREG段寄存器01110010CSDSESSSR/MREGMOD100010DW15876543210操作码操作码0:数据从寄存器传出数据从寄存器传出1:数据传至寄存器数据传至寄存器微机原理与接口技术26MODR/M000001010
18、01110010111011100011011BX+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+D16DI+D16BP+D16BX+D16W=0W=1ALAXCLCXDLDXBLBXAHSPCHBPDHSIBHDIR/MREGMOD100010DW15876543210操作码操作码0:数据从寄存器传出数据从寄存器传出1:数据传至寄存器数据传至寄存器微机原理与接口技术272.2.立即数寻址指令的编
19、码立即数寻址指令的编码3.3.包含段寄存器的指令的编码包含段寄存器的指令的编码4.4.段超越前缀指令的编码段超越前缀指令的编码微机原理与接口技术283-3 80863-3 8086的指令集的指令集80868086指令系统按功能可分为指令系统按功能可分为指令系统按功能可分为指令系统按功能可分为6 6大类型:大类型:大类型:大类型:1 1、数据传输类数据传输类数据传输类数据传输类2 2、算术运算类算术运算类算术运算类算术运算类3 3、逻辑运算和移位类逻辑运算和移位类逻辑运算和移位类逻辑运算和移位类4 4、串操作类串操作类串操作类串操作类5 5、控制转移类控制转移类控制转移类控制转移类6 6、处理器
20、控制类处理器控制类处理器控制类处理器控制类微机原理与接口技术29一、数据传送指令一、数据传送指令数据传送指令又可以分成数据传送指令又可以分成4种:种:l l 通用数据传送通用数据传送通用数据传送通用数据传送l l累加器专用传送指令累加器专用传送指令累加器专用传送指令累加器专用传送指令l l 目的地址传送目的地址传送目的地址传送目的地址传送l l 标志寄存器转送标志寄存器转送标志寄存器转送标志寄存器转送微机原理与接口技术30指令的共同特点是:指令的共同特点是: 1 1、除除除除POPPOP和和和和SAHFSAHF指指指指令令令令外外外外,这这这这类类类类指指指指令令令令的的的的操操操操作作作作结
21、果不会影响结果不会影响结果不会影响结果不会影响FRFR寄存器中的标志。寄存器中的标志。寄存器中的标志。寄存器中的标志。 2 2、指指指指令令令令中中中中有有有有两两两两个个个个操操操操作作作作数数数数,目目目目的的的的操操操操作作作作数数数数和和和和源源源源操作数,其执行过程为:操作数,其执行过程为:操作数,其执行过程为:操作数,其执行过程为:目的操作数目的操作数目的操作数目的操作数源操作数,源操作数,源操作数,源操作数, 当当当当指指指指令令令令中中中中仅仅仅仅列列列列出出出出一一一一个个个个操操操操作作作作数数数数时时时时,另另另另一一一一操操操操作数为隐含。作数为隐含。作数为隐含。作数为
22、隐含。微机原理与接口技术311 1、通用数据传送指令、通用数据传送指令(1 1)MOVMOV传送指令传送指令传送指令传送指令 指令格式为:指令格式为:指令格式为:指令格式为:MOVMOV目的目的目的目的 ,源,源,源,源 功能:目的功能:目的功能:目的功能:目的源源源源 存存储储器器通用寄存器通用寄存器AXAHBXALCXBHDXBLSICHDICLSPDHBPDL立即数立即数段寄存器段寄存器CS,DS,ES,SS微机原理与接口技术32(2)PUSH进栈指令进栈指令 指令格式为:指令格式为:指令格式为:指令格式为:PUSHPUSH源(不能是立即数)源(不能是立即数)源(不能是立即数)源(不能是
23、立即数) 其操作过程是:其操作过程是:其操作过程是:其操作过程是:a a、SPSP2 2,指示堆栈中可以存放数据的位置,指示堆栈中可以存放数据的位置,指示堆栈中可以存放数据的位置,指示堆栈中可以存放数据的位置b b、存源操作数,完成进栈操作。存源操作数,完成进栈操作。存源操作数,完成进栈操作。存源操作数,完成进栈操作。 (3)POP出栈指令出栈指令指令格式为:指令格式为:指令格式为:指令格式为:POPPOP目的(不能是目的(不能是目的(不能是目的(不能是CSCS)其操作过程是:其操作过程是:其操作过程是:其操作过程是:a a、将将将将SS:SPSS:SP所所所所指指指指示示示示的的的的栈栈栈栈
24、顶顶顶顶处处处处的的的的两两两两个个个个字字字字节节节节的的的的数数数数据据据据,弹到目的操作数中;弹到目的操作数中;弹到目的操作数中;弹到目的操作数中;b b、SPSP2 2,指示当前栈顶位置,完成出栈操作,指示当前栈顶位置,完成出栈操作,指示当前栈顶位置,完成出栈操作,指示当前栈顶位置,完成出栈操作。微机原理与接口技术334 4)XCHGXCHG交换指令交换指令交换指令交换指令 指令格式为:指令格式为:指令格式为:指令格式为:XCHGXCHG目的操作数目的操作数目的操作数目的操作数 ,源操作数,源操作数,源操作数,源操作数操作数不能为立即数;操作数不能为立即数;操作数不能为立即数;操作数不
25、能为立即数;源和目的不能同时为存储单元;源和目的不能同时为存储单元;源和目的不能同时为存储单元;源和目的不能同时为存储单元;段寄存器不能作为操作数。段寄存器不能作为操作数。段寄存器不能作为操作数。段寄存器不能作为操作数。微机原理与接口技术342、累加器专用传送指令、累加器专用传送指令1 1) ININ输入指令输入指令输入指令输入指令指令格式为指令格式为指令格式为指令格式为: :INAL,nINAL,nINAX,nINAX,nINAL,DXINAL,DXINAX,DXINAX,DX2 2)OUTOUT输出指令输出指令输出指令输出指令 指令格式为:指令格式为:指令格式为:指令格式为: OUTn,A
26、LOUTn,ALOUTn,AXOUTn,AXOUTDX,ALOUTDX,ALOUTDX,AXOUTDX,AX微机原理与接口技术353)XLAT换码指令换码指令指令格式为:指令格式为:XLAT功能功能bxalal例:查表求例:查表求n的平方。的平方。n:0-91、将将09的的平平方方表表建建立立在在偏偏移移地地址址为为2000H的内存中,如图。的内存中,如图。2、查表查表完成求完成求完成求完成求5 5的平方指令序列为:的平方指令序列为:的平方指令序列为:的平方指令序列为:MOVBX,2000H;MOVBX,2000H;指向平方表的首地址指向平方表的首地址指向平方表的首地址指向平方表的首地址MOV
27、AL,5MOVAL,5;将;将;将;将5 5换码成换码成换码成换码成5 5的平方值的平方值的平方值的平方值XLATXLAT;查表,平方值在;查表,平方值在;查表,平方值在;查表,平方值在ALAL中中中中微机原理与接口技术363 3、目标地址传送指令、目标地址传送指令、目标地址传送指令、目标地址传送指令这类指令有:这类指令有:这类指令有:这类指令有:1 1)LEALEA有效地址传送到寄存器有效地址传送到寄存器有效地址传送到寄存器有效地址传送到寄存器2 2)LDSLDS将双字指针送到寄存器和将双字指针送到寄存器和将双字指针送到寄存器和将双字指针送到寄存器和DSDS3 3)LESLES将双字指针送到
28、寄存器和将双字指针送到寄存器和将双字指针送到寄存器和将双字指针送到寄存器和ESESEgEg:LEABX,1000HLEABX,1000HLDSSI,1000HLDSSI,1000HLESDI,1000HLESDI,1000H微机原理与接口技术374 4、标志寄存器传送指令、标志寄存器传送指令、标志寄存器传送指令、标志寄存器传送指令1 1)LAHFFRLAHFFR寄存器的低寄存器的低寄存器的低寄存器的低8 8位送位送位送位送AHAH2 2)SAHFAHSAHFAH送送送送FRFR寄存器的低寄存器的低寄存器的低寄存器的低8 8位位位位3 3)PUSHFFRPUSHFFR寄存器推入堆栈寄存器推入堆栈
29、寄存器推入堆栈寄存器推入堆栈4 4)POPFPOPF从栈顶中弹出存入从栈顶中弹出存入从栈顶中弹出存入从栈顶中弹出存入FRFR寄存器寄存器寄存器寄存器微机原理与接口技术38二、算术运算指令二、算术运算指令 1)ADD 1)ADD 1)ADD 1)ADD 算术加法算术加法算术加法算术加法指令功能:目的指令功能:目的指令功能:目的指令功能:目的目的操作数源操作数目的操作数源操作数目的操作数源操作数目的操作数源操作数 2 2 2 2)ADC ADC ADC ADC 带进位算术加法带进位算术加法带进位算术加法带进位算术加法 指令功能:目的指令功能:目的指令功能:目的指令功能:目的目的操作数源操作数目的操
30、作数源操作数目的操作数源操作数目的操作数源操作数CFCFCFCF 1、算术加法指令、算术加法指令 两条指令的源操作数可以是寄存器、存储器或两条指令的源操作数可以是寄存器、存储器或两条指令的源操作数可以是寄存器、存储器或两条指令的源操作数可以是寄存器、存储器或立即数;目的操作数只能是寄存器或存储单元。源立即数;目的操作数只能是寄存器或存储单元。源立即数;目的操作数只能是寄存器或存储单元。源立即数;目的操作数只能是寄存器或存储单元。源和目的操作数不能同时为存储器且类型要一致。和目的操作数不能同时为存储器且类型要一致。和目的操作数不能同时为存储器且类型要一致。和目的操作数不能同时为存储器且类型要一致
31、。 影响所有的标志位影响所有的标志位影响所有的标志位影响所有的标志位微机原理与接口技术39 5)AAA 5)AAA 5)AAA 5)AAA 对非压缩对非压缩对非压缩对非压缩BCDBCDBCDBCD数加法操作的结果进行数加法操作的结果进行数加法操作的结果进行数加法操作的结果进行 校正校正校正校正 指令功能:对指令功能:对指令功能:对指令功能:对ALALALAL寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整 3 3 3 3)INC INC INC INC 加加加加1 1 1 1指令指令指令指令指令功能:目的指令功能:目的指令功能:目的指令功
32、能:目的目的操作数目的操作数目的操作数目的操作数1 1 1 1目的操作数可以是通用寄存器或存储器。目的操作数可以是通用寄存器或存储器。目的操作数可以是通用寄存器或存储器。目的操作数可以是通用寄存器或存储器。影响标志位,但影响标志位,但影响标志位,但影响标志位,但CFCFCFCF除外。除外。除外。除外。 4)DAA 4)DAA 4)DAA 4)DAA 对压缩对压缩对压缩对压缩BCDBCDBCDBCD数加法操作的结果进行校正数加法操作的结果进行校正数加法操作的结果进行校正数加法操作的结果进行校正 指令功能:对指令功能:对指令功能:对指令功能:对ALALALAL寄存器的内容进行十进制调整寄存器的内容
33、进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整微机原理与接口技术40 2 2 2 2、算术减法指令、算术减法指令、算术减法指令、算术减法指令 1)SUB 1)SUB 1)SUB 1)SUB 算术减法算术减法算术减法算术减法指令功能:目的指令功能:目的指令功能:目的指令功能:目的目的操作数源操作数目的操作数源操作数目的操作数源操作数目的操作数源操作数2)SBB 2)SBB 2)SBB 2)SBB 带进位算术减法带进位算术减法带进位算术减法带进位算术减法指令功能:目的指令功能:目的指令功能:目的指令功能:目的目的操作数源操作数目的操作数源操作数目的操作数源操作数目的操作数源操作
34、数CFCFCFCF3) DEC 3) DEC 3) DEC 3) DEC 减减减减1 1 1 1指令指令指令指令指令功能:目的指令功能:目的指令功能:目的指令功能:目的目的操作数目的操作数目的操作数目的操作数1 1 1 14) DAS 4) DAS 4) DAS 4) DAS 对压缩对压缩对压缩对压缩BCDBCDBCDBCD数减法操作的结果进行校正数减法操作的结果进行校正数减法操作的结果进行校正数减法操作的结果进行校正指令功能:对指令功能:对指令功能:对指令功能:对ALALALAL寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整5) AA
35、S 5) AAS 5) AAS 5) AAS 对非压缩对非压缩对非压缩对非压缩BCDBCDBCDBCD数减法操作的结果进行校正数减法操作的结果进行校正数减法操作的结果进行校正数减法操作的结果进行校正指令功能:对指令功能:对指令功能:对指令功能:对ALALALAL寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整6) CMP 6) CMP 6) CMP 6) CMP 比较指令比较指令比较指令比较指令指令功能:目的源操作数指令功能:目的源操作数指令功能:目的源操作数指令功能:目的源操作数7) NEG 7) NEG 7) NEG 7) NEG 取
36、补指令取补指令取补指令取补指令指令功能:指令功能:指令功能:指令功能:0 0 0 0目的操作数目的操作数目的操作数目的操作数微机原理与接口技术41 3) AAM 3) AAM 3) AAM 3) AAM 非压缩非压缩非压缩非压缩BCDBCDBCDBCD数乘法操作结果校正数乘法操作结果校正数乘法操作结果校正数乘法操作结果校正指指指指令令令令功功功功能能能能:完完完完成成成成两两两两个个个个非非非非压压压压缩缩缩缩BCDBCDBCDBCD数数数数乘乘乘乘法法法法结结结结果果果果的的的的十进制数调整十进制数调整十进制数调整十进制数调整3 3、算术乘法指令、算术乘法指令 1)MUL 1)MUL 1)M
37、UL 1)MUL 无符号数乘法无符号数乘法无符号数乘法无符号数乘法指令格式:指令格式:指令格式:指令格式:MUL MUL MUL MUL 源源源源指令功能:指令功能:指令功能:指令功能:AX AX AX AX ALALALAL源源源源 (DX,AX) (DX,AX) (DX,AX) (DX,AX)AXAXAXAX源源源源源操作数可以是寄存器,也可以是存储器,但源操作数可以是寄存器,也可以是存储器,但源操作数可以是寄存器,也可以是存储器,但源操作数可以是寄存器,也可以是存储器,但不能是立即数。是存储器时,需指明类型。不能是立即数。是存储器时,需指明类型。不能是立即数。是存储器时,需指明类型。不能
38、是立即数。是存储器时,需指明类型。2)IMUL 2)IMUL 2)IMUL 2)IMUL 带符号数乘法带符号数乘法带符号数乘法带符号数乘法指令格式:指令格式:指令格式:指令格式:IMUL IMUL IMUL IMUL 源源源源指令功能:指令功能:指令功能:指令功能:AX AX AX AX ALALALAL源源源源 (DX,AX)(DX,AX)(DX,AX)(DX,AX)AXAXAXAX源源源源微机原理与接口技术42另外还有:另外还有:另外还有:另外还有:CBW CBW CBW CBW 带符号数字节扩展带符号数字节扩展带符号数字节扩展带符号数字节扩展; ; ; ;CWD CWD CWD CWD
39、带符号数字扩展带符号数字扩展带符号数字扩展带符号数字扩展; ; ; ;AAD AAD AAD AAD 非压缩非压缩非压缩非压缩BCDBCDBCDBCD数除法校正。数除法校正。数除法校正。数除法校正。4 4、算术除法指令、算术除法指令1) DIV 1) DIV 1) DIV 1) DIV 无符号数除法无符号数除法无符号数除法无符号数除法 指令格式:指令格式:指令格式:指令格式:DIV DIV DIV DIV 源源源源指令功能:指令功能:指令功能:指令功能:AX/AX/AX/AX/源源源源AL:AL:AL:AL:商,商,商,商,AH:AH:AH:AH:余数余数余数余数 DXAX/ DXAX/ DX
40、AX/ 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/源源源源AL:AL:AL:AL:商,商,商,商,AH:AH:AH:AH:余数余数余数余数 DXAX/ DXAX/ DXAX/ DXAX/源源源源 AX: AX: AX: AX:商,商,商,商,DX:DX:DX:DX:余数余数余数
41、余数微机原理与接口技术43三、逻辑运算和移位指令三、逻辑运算和移位指令(1 1 1 1)可以按二进制位进行操作;可以按二进制位进行操作;可以按二进制位进行操作;可以按二进制位进行操作;(2 2 2 2)逻辑运算指令按逻辑门电路的运算规则;)逻辑运算指令按逻辑门电路的运算规则;)逻辑运算指令按逻辑门电路的运算规则;)逻辑运算指令按逻辑门电路的运算规则;(3 3 3 3)逻辑移位指令有左移和右移,移出的位都进入逻辑移位指令有左移和右移,移出的位都进入逻辑移位指令有左移和右移,移出的位都进入逻辑移位指令有左移和右移,移出的位都进入CFCFCFCF标志;标志;标志;标志;(4 4 4 4)因移空位的补
42、充方式不同有多种指令形式;)因移空位的补充方式不同有多种指令形式;)因移空位的补充方式不同有多种指令形式;)因移空位的补充方式不同有多种指令形式;(5 5 5 5)逻辑移位指令中,移动超过)逻辑移位指令中,移动超过)逻辑移位指令中,移动超过)逻辑移位指令中,移动超过1 1 1 1次则用次则用次则用次则用CLCLCLCL寄存器做计数器;寄存器做计数器;寄存器做计数器;寄存器做计数器;(6 6 6 6)执行逻辑操作指令,执行逻辑操作指令,执行逻辑操作指令,执行逻辑操作指令,CFCFCFCF均被清均被清均被清均被清0 0 0 0。属于位操作指令,其共同点是:属于位操作指令,其共同点是:属于位操作指令
43、,其共同点是:属于位操作指令,其共同点是:微机原理与接口技术441 1、 逻辑运算指令逻辑运算指令1 1 1 1)NOT NOT NOT NOT 逻辑求反逻辑求反逻辑求反逻辑求反 指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器内容求反。位寄存器或存储器内容求反。位寄存器或存储器内容求反。位寄存器或存储器内容求反。2 2 2 2)AND AND AND AND 逻辑与操作逻辑与操作逻辑与操作逻辑与操作 指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器内容和源操作数位寄存器
44、或存储器内容和源操作数位寄存器或存储器内容和源操作数位寄存器或存储器内容和源操作数“与与与与” ” ” ” 3 3 3 3)OR OR OR OR 逻辑或操作逻辑或操作逻辑或操作逻辑或操作指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器内容和源操作数位寄存器或存储器内容和源操作数位寄存器或存储器内容和源操作数位寄存器或存储器内容和源操作数“或或或或”4 4 4 4)XOR XOR XOR XOR 逻辑异或操作逻辑异或操作逻辑异或操作逻辑异或操作 指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161
45、616位寄存器或存储器内容和源操作数位寄存器或存储器内容和源操作数位寄存器或存储器内容和源操作数位寄存器或存储器内容和源操作数“异或异或异或异或” ” ” ” 5 5 5 5)TEST TEST TEST TEST 测试指令测试指令测试指令测试指令指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器内容和源操作数位寄存器或存储器内容和源操作数位寄存器或存储器内容和源操作数位寄存器或存储器内容和源操作数“与与与与” ” ” ” ,不产生运算结果,仅影响状态标志,不产生运算结果,仅影响状态标志,不产生运算结果,仅影响状态标志,不产生运算结果
46、,仅影响状态标志微机原理与接口技术45AND AND 可以使指定位为可以使指定位为0 0OR OR 可以使指定位为可以使指定位为1 1XOR XOR 可以使指定位为非可以使指定位为非微机原理与接口技术462 2、逻辑移位指令、逻辑移位指令2 2 2 2)SAL SAL SAL SAL 算术左移算术左移算术左移算术左移 指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器内容左位寄存器或存储器内容左位寄存器或存储器内容左位寄存器或存储器内容左移,移空的位补移,移空的位补移,移空的位补移,移空的位补0 0 0 0 1 1 1 1)SHL S
47、HL SHL SHL 逻辑左移逻辑左移逻辑左移逻辑左移指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器内容左移,位寄存器或存储器内容左移,位寄存器或存储器内容左移,位寄存器或存储器内容左移,移空的位补移空的位补移空的位补移空的位补0 0 0 0。3 3 3 3)SHR SHR SHR SHR 逻辑右移逻辑右移逻辑右移逻辑右移 指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器内容右移,位寄存器或存储器内容右移,位寄存器或存储器内容右移,位寄存器或存储器内容右移,移空的位补移
48、空的位补移空的位补移空的位补0 0 0 0 4 4 4 4)SAR SAR SAR SAR 算术右移算术右移算术右移算术右移指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器内容右位寄存器或存储器内容右位寄存器或存储器内容右位寄存器或存储器内容右移,移空的位由最高位补充。移,移空的位由最高位补充。移,移空的位由最高位补充。移,移空的位由最高位补充。微机原理与接口技术475 5 5 5)ROL ROL ROL ROL 不带进位循环左移不带进位循环左移不带进位循环左移不带进位循环左移指令功能:将指令功能:将指令功能:将指令功能:将8 8
49、8 8位、位、位、位、16161616位寄存器或存储器内容左位寄存器或存储器内容左位寄存器或存储器内容左位寄存器或存储器内容左移,移空的位由移出位补充。移,移空的位由移出位补充。移,移空的位由移出位补充。移,移空的位由移出位补充。 6 6 6 6)ROR ROR ROR ROR 不带进位循环右移不带进位循环右移不带进位循环右移不带进位循环右移指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器内容右位寄存器或存储器内容右位寄存器或存储器内容右位寄存器或存储器内容右移,移空的位由移出位补充。移,移空的位由移出位补充。移,移空的位由移出位补
50、充。移,移空的位由移出位补充。 7 7 7 7)RCL RCL RCL RCL 带进位循环左移带进位循环左移带进位循环左移带进位循环左移指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器位寄存器或存储器位寄存器或存储器位寄存器或存储器内容左移,移空的位由内容左移,移空的位由内容左移,移空的位由内容左移,移空的位由CFCFCFCF位补充。位补充。位补充。位补充。8 8 8 8)RCR RCR RCR RCR 带进位循环右移带进位循环右移带进位循环右移带进位循环右移 指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位
51、、位、16161616位寄存器或存储器内容位寄存器或存储器内容位寄存器或存储器内容位寄存器或存储器内容右移,移空的位由右移,移空的位由右移,移空的位由右移,移空的位由CFCFCFCF位补充。位补充。位补充。位补充。微机原理与接口技术48四、字符串处理指令四、字符串处理指令源操作数指针源操作数指针源操作数指针源操作数指针 DS DS DS DS:SISISISI目的操作数指针目的操作数指针目的操作数指针目的操作数指针 ES ES ES ES:DI DI DI DI 每操作一次每操作一次每操作一次每操作一次SI,DISI,DISI,DISI,DI修改一次,方向由修改一次,方向由修改一次,方向由修改
52、一次,方向由DFDFDFDF控制控制控制控制重复操作的退出重复操作的退出重复操作的退出重复操作的退出CXCXCXCX控制控制控制控制条件控制条件控制条件控制条件控制(ZF(ZF(ZF(ZF标志标志标志标志) ) ) )必须遵守的约定:必须遵守的约定:必须遵守的约定:必须遵守的约定:微机原理与接口技术491 1 1 1、串传送指令、串传送指令、串传送指令、串传送指令 MOVSB / MOVSW MOVSB / MOVSW MOVSB / MOVSW MOVSB / MOVSW2 2 2 2、串比较指令、串比较指令、串比较指令、串比较指令 CMPSB/CMPSW CMPSB/CMPSW CMPSB
53、/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/AX AL/AX AL/AX AL/AX)5 5 5 5、串存储指令、串存储指令、串存储指令、串存储指令 STOSB/ST
54、OSW(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五、控制转移指令五、控制转移指令转移指令转移指令循环控制循环控制过程调用过程调用中断控制中断控制微机原理与接口技术512 2 2 2)短转移指令)短转移指令)短转移指
55、令)短转移指令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 LABELJMP LABELJMP LABELIP+IP+IP+IP+位移量位移量位移量位移量IPIPIPIP位移量
56、位移量位移量位移量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 PTRJMP WORD PTR5 5 5 5)段间间接转移)段间间接转移)段间间接转移)段间间接转移 JMP
57、 OPRD; OPRD:MEM JMP OPRD; OPRD:MEM JMP OPRD; OPRD:MEM JMP OPRD; OPRD:MEMoffest OPRD offest OPRD offest OPRD offest OPRD IP IP IP IP seg OPRD seg OPRD seg OPRD seg OPRD cscscscsJMP DWORD PTR SIJMP DWORD PTR SIJMP DWORD PTR SIJMP DWORD PTR SI4 4 4 4)段间直接转移)段间直接转移)段间直接转移)段间直接转移 JMP far LABEL JMP far LA
58、BEL JMP far LABEL JMP far LABELoffest LABEL offest LABEL offest LABEL offest LABEL IP IP IP IP seg LABEL seg LABEL seg LABEL seg LABEL cscscscs微机原理与接口技术532 2 2 2、条件转移指令、条件转移指令、条件转移指令、条件转移指令( ( ( (段内短转移段内短转移段内短转移段内短转移) ) ) ) 1 1 1 1)单条件转移指令)单条件转移指令)单条件转移指令)单条件转移指令 JC JC JC JC ;CF;CF;CF;CF标标标标志志志志为为为为
59、1 1 1 1,则则则则转转转转移移移移 JNC JNC JNC JNC ;CF;CF;CF;CF标标标标志志志志为为为为0 0 0 0,则则则则转转转转移移移移 JE/JZ JE/JZ JE/JZ JE/JZ ;ZF;ZF;ZF;ZF标标标标志志志志为为为为1 1 1 1,则则则则转转转转移移移移 JNE/JNZ JNE/JNZ JNE/JNZ JNE/JNZ ;ZF;ZF;ZF;ZF标标标标志志志志为为为为0 0 0 0,则则则则转转转转移移移移 JS JS JS JS ;SF;SF;SF;SF标标标标志志志志为为为为1 1 1 1,则则则则转转转转移移移移 JNS JNS JNS JNS
60、 ;SF;SF;SF;SF标标标标志志志志为为为为0 0 0 0,则则则则转转转转移移移移 JO JO JO JO ;OF;OF;OF;OF标标标标志志志志为为为为1 1 1 1,则则则则转转转转移移移移 JNO JNO JNO JNO ;OF;OF;OF;OF标标标标志志志志为为为为0 0 0 0,则则则则转转转转移移移移 JP/JPE JP/JPE JP/JPE JP/JPE ;PF;PF;PF;PF标标标标志志志志为为为为1 1 1 1,则则则则转转转转移移移移 JNP/JPO JNP/JPO JNP/JPO JNP/JPO ;PF;PF;PF;PF标标标标志志志志为为为为0 0 0 0
61、,则则则则转转转转移移移移微机原理与接口技术54 例例3-87 3-87 求求ALAL和和BLBL寄存器中的两数之寄存器中的两数之 和,若有进位,则和,若有进位,则AHAH置置1,1,否则否则AHAH清清0 0微机原理与接口技术552 2 2 2)用于无符号数比较测试指令)用于无符号数比较测试指令)用于无符号数比较测试指令)用于无符号数比较测试指令 JA/JNBE JA/JNBE JA/JNBE JA/JNBE ;高于;高于;高于;高于/ / / /不低于等于转移,不低于等于转移,不低于等于转移,不低于等于转移,CFZFCFZFCFZFCFZF0 0 0 0 JNA/JBE JNA/JBE J
62、NA/JBE JNA/JBE ;不高于;不高于;不高于;不高于/ / / /低于等于转移,低于等于转移,低于等于转移,低于等于转移,CFZFCFZFCFZFCFZF1 1 1 1 JB/JNAE JB/JNAE JB/JNAE JB/JNAE ;低于;低于;低于;低于/ / / /不高于等于转移,不高于等于转移,不高于等于转移,不高于等于转移,CFCFCFCF1 1 1 1 JNB/JAE JNB/JAE JNB/JAE JNB/JAE ;不低于;不低于;不低于;不低于/ / / /高于等于转移,高于等于转移,高于等于转移,高于等于转移,CFCFCFCF0 0 0 0微机原理与接口技术56P1
63、11 P111 例例3-89 3-89 设某个学生的英语成绩已存放在设某个学生的英语成绩已存放在ALAL寄存寄存器中,若低于器中,若低于6060分,则打印分,则打印F(FAIL);F(FAIL);若高于或等于若高于或等于8585分,则打印分,则打印G G(GOODGOOD); ;当在当在6060分和分和8484分之间时,打印分之间时,打印P(PASS)P(PASS)。CMP AL,60CMP AL,60JB FAILJB FAILCMP AL,85CMP AL,85JAE GOODJAE GOODMOV AL,PMOV AL,PJMP PRINTJMP PRINTFAIL:FAIL: MOV
64、AL,FMOV AL,FJMP PRINTJMP PRINTGOOD:GOOD: MOV AL,GMOV AL,GPRINT:PRINT:微机原理与接口技术573 3 3 3)用于带符号数的比较测试指令)用于带符号数的比较测试指令)用于带符号数的比较测试指令)用于带符号数的比较测试指令 JG/JNLE JG/JNLE JG/JNLE JG/JNLE ; ; ; ;大于大于大于大于/ / / /不小于等于转移,(不小于等于转移,(不小于等于转移,(不小于等于转移,(SFOFSFOFSFOFSFOF)ZFZFZFZF0 0 0 0 JGE/JNL JGE/JNL JGE/JNL JGE/JNL ;
65、 ; ; ;大于等于大于等于大于等于大于等于/ / / /不小于转移,(不小于转移,(不小于转移,(不小于转移,(SFOFSFOFSFOFSFOF)0 0 0 0 JL/JNGE JL/JNGE JL/JNGE JL/JNGE ; ; ; ;小于小于小于小于/ / / /不大于等于转移,(不大于等于转移,(不大于等于转移,(不大于等于转移,(SFOFSFOFSFOFSFOF)1 1 1 1 JLE/JNG JLE/JNG JLE/JNG JLE/JNG ; ; ; ;小于等于小于等于小于等于小于等于/ / / /不大于转移,(不大于转移,(不大于转移,(不大于转移,(SFOFSFOFSFOFS
66、FOF)ZFZFZFZF1 1 1 1 微机原理与接口技术583 3 3 3、循环控制指令、循环控制指令、循环控制指令、循环控制指令2 2 2 2)另外还有:)另外还有:)另外还有:)另外还有:LOOPZ/LOOPELOOPZ/LOOPELOOPZ/LOOPELOOPZ/LOOPE指令、指令、指令、指令、LOOPNZ/LOOPNELOOPNZ/LOOPNELOOPNZ/LOOPNELOOPNZ/LOOPNE指令、指令、指令、指令、JCXZJCXZJCXZJCXZ指令。指令。指令。指令。 1 1 1 1)LOOPLOOPLOOPLOOP指令指令指令指令 指令格式:指令格式:指令格式:指令格式:
67、LOOP LOOP LOOP LOOP 目标地址目标地址目标地址目标地址执行该指令,执行该指令,执行该指令,执行该指令,CXCXCXCX1 1 1 1,若,若,若,若CX0CX0CX0CX0,转移到目标地址,转移到目标地址,转移到目标地址,转移到目标地址, 即:即:即:即: IPIP IPIP IPIP IPIP8 8 8 8位位移量(带符号扩展到位位移量(带符号扩展到位位移量(带符号扩展到位位移量(带符号扩展到16161616位)。由位)。由位)。由位)。由于指令自动对于指令自动对于指令自动对于指令自动对CXCXCXCX寄存器做减寄存器做减寄存器做减寄存器做减1 1 1 1操作,故使用操作,
68、故使用操作,故使用操作,故使用LOOPLOOPLOOPLOOP指令指令指令指令前,需将循环操作次数值赋给前,需将循环操作次数值赋给前,需将循环操作次数值赋给前,需将循环操作次数值赋给CXCXCXCX寄存器。寄存器。寄存器。寄存器。微机原理与接口技术594 4 4 4、子程序调用和返回指令、子程序调用和返回指令、子程序调用和返回指令、子程序调用和返回指令 1 1 1 1)CALLCALLCALLCALL指令指令指令指令 段内直接调用段内直接调用段内直接调用段内直接调用例:例:例:例:CALL LABLECALL LABLECALL LABLECALL LABLEa a a a、IPIPIPIP
69、栈栈栈栈 b b b b、 IP+IP+位移量位移量IPIP 段内间接调用段内间接调用段内间接调用段内间接调用例:例:例:例:CALL WORD PTR SI CALL WORD PTR SI CALL WORD PTR SI CALL WORD PTR SI 段间直接调用段间直接调用段间直接调用段间直接调用 例:例:例:例:CALL FAR CALL FAR CALL FAR CALL FAR 目标地址目标地址目标地址目标地址 段间间接调用段间间接调用段间间接调用段间间接调用 例:例:例:例:CALL DWORD PTR SICALL DWORD PTR SICALL DWORD PTR S
70、ICALL DWORD PTR SI微机原理与接口技术602 2 2 2)、)、)、)、RET RET RET RET 子程序返回指令子程序返回指令子程序返回指令子程序返回指令 和和和和调调调调用用用用指指指指令令令令CALL CALL CALL CALL 相相相相对对对对应应应应的的的的是是是是返返返返回回回回指指指指令令令令RETRETRETRET。返返返返回回回回指指指指令令令令通通通通常常常常作作作作为为为为一一一一个个个个子子子子程程程程序序序序或或或或过过过过程程程程的的的的最最最最后后后后一一一一条条条条指指指指令令令令,它它它它用用用用以以以以返返返返回回回回到到到到调调调调用
71、用用用这这这这个个个个子子子子程程程程序序序序的的的的断点处。断点处。断点处。断点处。关于关于关于关于RET n RET n RET n RET n 指令,这条指令称为带参数返回指令,这条指令称为带参数返回指令,这条指令称为带参数返回指令,这条指令称为带参数返回指令。指令。指令。指令。 微机原理与接口技术615 5 5 5、中断指令、中断指令、中断指令、中断指令(1)(1)中断相关概念中断相关概念什么是中断?什么是中断?中断源及其分类中断源及其分类中断向量及中断向量表中断向量及中断向量表(2)(2)中断指令中断指令INTnINTO溢出中断指令溢出中断指令IRET微机原理与接口技术62六、处理器
72、控制指令六、处理器控制指令1 1 1 1、标志控制指令、标志控制指令、标志控制指令、标志控制指令 STC STC STC STC ;使;使;使;使CF CF CF CF 置置置置1 1 1 1CLC CLC CLC CLC ;使;使;使;使CF CF CF CF 清清清清0 0 0 0CMC CMC CMC CMC ;使;使;使;使CF CF CF CF 取反取反取反取反STD STD STD STD ;使;使;使;使DF DF DF DF 置置置置1 1 1 1CLD CLD CLD CLD ;使;使;使;使DF DF DF DF 清清清清0 0 0 0STI STI STI STI ;使;
73、使;使;使IFIFIFIF置置置置1 1 1 1CLI CLI CLI CLI ;使;使;使;使IF IF IF IF 清清清清0 0 0 0 微机原理与接口技术632 2 2 2、外同步指令、外同步指令、外同步指令、外同步指令 HLT HLT HLT HLT 处理器暂停指令处理器暂停指令处理器暂停指令处理器暂停指令WAIT WAIT WAIT WAIT 等待指令等待指令等待指令等待指令ESC ESC ESC ESC 换码指令换码指令换码指令换码指令/ / / /交权指令交权指令交权指令交权指令LOCK LOCK LOCK LOCK 总线封锁指令总线封锁指令总线封锁指令总线封锁指令NOP NO
74、P NOP NOP 空操作指令空操作指令空操作指令空操作指令 微机原理与接口技术64七、指令的执行时间和软件延时七、指令的执行时间和软件延时微机原理与接口技术65本章小结本章小结在这一章中我们讨论了寻址方式和指令系统的概在这一章中我们讨论了寻址方式和指令系统的概念,详细介绍了念,详细介绍了80868086的各种寻址方式和指令系统中的的各种寻址方式和指令系统中的几大类指令。几大类指令。 重点掌握:重点掌握: 1. 1. 寻址方式的概念及各种寻址方式得到操作数寻址方式的概念及各种寻址方式得到操作数地址的过程;地址的过程; 2. 2. 常用常用80868086指令的形式及使用方法。指令的形式及使用方
75、法。微机原理与接口技术66本章作业本章作业(一一)1.已知:已知:DS=1000H,BX=0200H,SI=02H,内存内存10200H10205H单元的内容分单元的内容分别为别为10H,2AH,3CH,46H,59H,6BH。下列每条指令执行完后。下列每条指令执行完后AX的内容各是什的内容各是什么?么?(1)MOVAX,0200H(4)MOVAX,3BX(6)MOVAX,2BX+SI2.设设DS=1000H,ES=2000H,SS=3500H,SI=00A0H,DI=0024H,BX=0100H,BP=0200H,数据段中变量名为数据段中变量名为VAL的偏移地址值为的偏移地址值为0030H,
76、试说明下列源操试说明下列源操作数字段的寻址方式是什么?物理地址值是多少?作数字段的寻址方式是什么?物理地址值是多少?(2)MOVAX,VAL(4)MOVAX,ES:BX(8)MOVAX,VALBPSI3.写出下列指令的机器码写出下列指令的机器码(1)MOVAL,CL(2)MOVBX+100H,3150H微机原理与接口技术67本章作业本章作业(二二)1 1指出下列指令中哪些是错误的,错在何处?指出下列指令中哪些是错误的,错在何处?(1)MOVDL,AX(3)MOVDS,0200H(5)MOVIP,0FFH(7)MOVAX,BXBP(9)MOVDL,SIDI(11)MOVAL,OFFSETTABL
77、E(13)INBL,05H2 2 在数据段中有两个相邻的字节数据在数据段中有两个相邻的字节数据2BH2BH和和F5H,F5H,编程编程实现下列操作。实现下列操作。(1)把它们当成带符号数相加后,结果存到把它们当成带符号数相加后,结果存到RESULT单元中;单元中;(2)把它们当成无符号数相乘后,结果存到把它们当成无符号数相乘后,结果存到RESULT单元中。单元中。3 3 编程将编程将AXAX寄存器中的内容以相反的次序传送到寄存器中的内容以相反的次序传送到 DXDX寄存器中,并要求寄存器中,并要求AXAX中的内容不被破坏,然后统中的内容不被破坏,然后统计计DXDX寄存器中寄存器中1 1的个数。的个数。