《指令系统课堂》PPT课件.ppt

上传人:wuy****n92 文档编号:71670311 上传时间:2023-02-04 格式:PPT 页数:180 大小:2.90MB
返回 下载 相关 举报
《指令系统课堂》PPT课件.ppt_第1页
第1页 / 共180页
《指令系统课堂》PPT课件.ppt_第2页
第2页 / 共180页
点击查看更多>>
资源描述

《《指令系统课堂》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《指令系统课堂》PPT课件.ppt(180页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、微机原理与接口技术微机原理与接口技术 王王 欣欣机电学部机电学部王王 欣欣 微机原理及接口技术微机原理及接口技术 Microcomputer Principle Microcomputer Principle and Interface Technology and Interface Technology微机原理与接口技术微机原理与接口技术 王王 欣欣1、8086指令的特点指令的特点2、8086寻址方式寻址方式3、8086指令格式及数据类型指令格式及数据类型第第3 3章章 80868086指令系统指令系统本节主要内容本节主要内容4、8086指令集指令集微机原理与接口技术微机原理与接口技术 王

2、王 欣欣了解了解8086指令的特点;指令的特点;掌握掌握8086寻址方式;寻址方式;掌握掌握8086指令集。指令集。本节教学要求本节教学要求微机原理与接口技术微机原理与接口技术 王王 欣欣计算机工作的基本原理:计算机工作的基本原理:是存储程序并执行程序是存储程序并执行程序要让计算机完成各项任务,就应设计各种程序。什么是程序?什么是程序?完成某项特定任务的指令的集合。计算机按程序一条一条地依次执行指令,从而完成指定任务。程序设计语言:程序设计语言:高级语言:汇编语言汇编语言:机器语言机器语言:用二进制代码表示指令和数据。用助记符表示指令操作功能,用标号表示操作对象独立于机器,面向过程,接近自然语

3、言和数学表达式.微机原理与接口技术微机原理与接口技术 王王 欣欣汇编语言程序的每一条语句都与计算机的某一条指令汇编语言程序的每一条语句都与计算机的某一条指令对应,所以必需熟悉指令系统。对应,所以必需熟悉指令系统。指令:指令:让计算机完成某种操作的命令称为指令。内让计算机完成某种操作的命令称为指令。内容包括完成什么操作,操作数的来源,结果的存放,以及容包括完成什么操作,操作数的来源,结果的存放,以及下一条指令的位置等等。下一条指令的位置等等。指令系统:指令系统:指令的集合即为指令系统。指令的集合即为指令系统。微机原理与接口技术微机原理与接口技术 王王 欣欣不同的计算机有不同的指令系统,汇编语言的

4、指令语句不同的计算机有不同的指令系统,汇编语言的指令语句都与机器指令一一对应,汇编语言通过汇编程序将其翻译成都与机器指令一一对应,汇编语言通过汇编程序将其翻译成机器指令代码(目标代码),让机器指令代码(目标代码),让CPUCPU执行某种操作。执行某种操作。微机原理与接口技术微机原理与接口技术 王王 欣欣灵活的指令格式灵活的指令格式指令格式的一对多形式指令格式的一对多形式较强的运算指令较强的运算指令指令有较强的寻址能力指令有较强的寻址能力指令有处理多种数据的能力指令有处理多种数据的能力3.18086指令的特点指令的特点微机原理与接口技术微机原理与接口技术 王王 欣欣指令指令 =操作码操作码+操作

5、数操作数操作码操作码表示了该指令所能执行的操作功能。表示了该指令所能执行的操作功能。操作数操作数表示参加操作的数的本身或操作数所在的地址。表示参加操作的数的本身或操作数所在的地址。8086指令格式:指令格式:任选项。任选项。标号:操作码助记符 第一操作数,第二操作数;注释微机原理与接口技术微机原理与接口技术 王王 欣欣 标号:标号:操作码操作码 操作数操作数1 1,操作数,操作数22;注释;注释 换行表示一条指令结束。换行表示一条指令结束。例:例:LOOPLOOP:MOV AX MOV AX,3E40H 3E40H;取参数取参数1.标号:标号:指令的符号地址指令的符号地址2.操作码:操作码:指

6、明指令功能指明指令功能3.操作数:操作数:指令操作对象指令操作对象数据、地址、寄存器名及约定符号数据、地址、寄存器名及约定符号4.注释行:注释行:说明指令在程序中的作用说明指令在程序中的作用操作码和操作数操作码和操作数是指令主体。是指令主体。MOV move传送传送CMP compare比较比较ANDand logic与逻辑运算与逻辑运算XORexclusive or异或运算异或运算MULMultiply乘法乘法RORrotate right右循环右循环JMP jump跳转跳转RETreturn 子程序返回子程序返回微机原理与接口技术微机原理与接口技术 王王 欣欣计算机的指令包括:操作码计算机

7、的指令包括:操作码 操作数操作数 操作的操作的性质性质操作的操作的对象对象 存放在存放在 寄存器寄存器、存储器存储器、I/OI/O端口地址端口地址、立即数立即数(由寻址方式决定)(由寻址方式决定)寻址方式:寻址方式:指令中说明操作数所在地址的方法。指令中说明操作数所在地址的方法。3.28086的寻址方式的寻址方式微机原理与接口技术微机原理与接口技术 王王 欣欣3.2.18086指令的寻址方式指令的寻址方式1立即寻址立即寻址(ImmediateAddressing)含义:含义:操作数是操作数是立即数立即数(即即8 8位或位或1616位的位的常数),直接包含在直接包含在指令中指令中。特点:特点:翻

8、译成机器码时,立即数是翻译成机器码时,立即数是指令的一部分指令的一部分,紧跟在操作码之后紧跟在操作码之后存存放在代码段内放在代码段内。在取出指令的同时也就取出了操作数,。在取出指令的同时也就取出了操作数,立即有操作数立即有操作数可用可用,所以称之为立即寻址。,所以称之为立即寻址。注:注:如果立即数是如果立即数是l6l6位数位数:高字节高字节代码段的代码段的高地址高地址单元,单元,低字节低字节低地址低地址单元;单元;作用:作用:常用于给寄存器常用于给寄存器赋初值赋初值。微机原理与接口技术微机原理与接口技术 王王 欣欣指令:指令:MOV AL,07H 指令:指令:MOV AX,1A2BHu立即数只

9、能做立即数只能做源源操作数。操作数。()MOV 3,AL u源、目的操作数的源、目的操作数的字长字长必须一致。必须一致。()MOV AH,3064H1AH2BHB8H操作码操作码立即数立即数低高微机原理与接口技术微机原理与接口技术 王王 欣欣2寄存器寻址寄存器寻址(RegisterAddressing)作用:作用:寄存器之间传递数据。寄存器之间传递数据。例例3.4 MOV DXMOV DX,AXAX 解:解:(AXAX)送到)送到DXDX寄存器中寄存器中。(AX内容不变内容不变)(又例:又例:MOV ALMOV AL,AH)AH)注意:注意:一条指令中,既可以对源操作数采用寄存器一条指令中,既

10、可以对源操作数采用寄存器寻址,也可以对目的操作数采用寄存器寻址,也可二寻址,也可以对目的操作数采用寄存器寻址,也可二者均采用寄存器寻址。者均采用寄存器寻址。源操作数的源操作数的长度长度必须与目的操作数必须与目的操作数致致。含义:含义:操作数存放在操作数存放在CPUCPU内部内部寄存器寄存器中,寄存器的名称由指令指定。中,寄存器的名称由指令指定。特点:特点:1616位操作数:寄存器可以是位操作数:寄存器可以是AXAX、BXBX、CXCX、DXDX、SISI、DIDI、SPSP和和BPBP等。等。8 8位操作数:寄存器位操作数:寄存器AHAH、ALAL、BHBH、BLBL、CHCH、CLCL、DH

11、DH和和DLDL。采用寄存器寻址时,操作就在采用寄存器寻址时,操作就在CPUCPU内部进行,不需要使用总线周期,速度快。内部进行,不需要使用总线周期,速度快。微机原理与接口技术微机原理与接口技术 王王 欣欣3直接寻址直接寻址(DirectAddressing)含义:含义:存储单元的存储单元的有效地址有效地址EAEA(即:操作数的偏移地址)直接由指令给出。(即:操作数的偏移地址)直接由指令给出。特点:特点:机器码中机器码中,有效地址有效地址存放在代码段中指令的操作码之后,而该地址单元中的存放在代码段中指令的操作码之后,而该地址单元中的数据数据总是存放总是存放在存储器中在存储器中。须。须先先求出操

12、作数的物理地址,求出操作数的物理地址,再再从存储器中取得操从存储器中取得操作数。作数。操作数的操作数的物理地址物理地址16DS 16DS EAEA 作用:作用:实现对存储单元的读实现对存储单元的读/写操作。写操作。接下来的几种寻址方式,用于在存储器中寻找操作数,即指令的操作数在接下来的几种寻址方式,用于在存储器中寻找操作数,即指令的操作数在存储器存储器中,中,要通过寻址方式要通过寻址方式求出物理地址求出物理地址才能获得操作数。才能获得操作数。微机原理与接口技术微机原理与接口技术 王王 欣欣例例3.6 MOVAX,2000H解:设解:设DS=3000H,由指令得:EA=2000H(16位逻辑地址

13、)物理地址=163000H2000H=32000H(20位,20根地址线);设32000H地址单元的内容为1234H,即(32000H)=1234H则:AX=1234H(注:如用AL替代AX,则AL=34H)微机原理与接口技术微机原理与接口技术 王王 欣欣1、MOVAX,2000HMOVAX,DS:2000H如果指令中没有指明操作数存放在哪一如果指令中没有指明操作数存放在哪一段,则系统段,则系统默认默认为数据段为数据段DSDS如果要对除如果要对除DSDS以外的其他段寄存器(代码段、堆栈段和附加段)所指以外的其他段寄存器(代码段、堆栈段和附加段)所指出的存储区进行直接寻址,应在指令中出的存储区进

14、行直接寻址,应在指令中指定段寄存器指定段寄存器-段超越前缀段超越前缀。如:如:MOV AXMOV AX,2000H 2000H ;数据段(可省略;数据段(可省略DS DS)MOV BX MOV BX,ESES:3000H 3000H;操作数在附加段;操作数在附加段ES ES(不能省略(不能省略ES ES)2、注:与指令与指令与指令与指令MOV AXMOV AX,2000H2000H的区别?的区别?的区别?的区别?微机原理与接口技术微机原理与接口技术 王王 欣欣4寄存器间接寻址寄存器间接寻址(RegisterIndirectAddressing)特点:特点:可以使用的寄存器有可以使用的寄存器有:

15、基址寄存器基址寄存器BX、BP,变址寄存器变址寄存器SI、DI。如果使用如果使用BX、SI、DI寄存器,则默认操作数在寄存器,则默认操作数在数据段数据段中,中,如果使用如果使用BP寄存器,则默认操作数在寄存器,则默认操作数在堆栈段堆栈段中。中。含义:含义:操作数的操作数的有效地址放在寄存器有效地址放在寄存器中。中。有效地址有效地址有效地址有效地址EAEA由由由由寄存器(寄存器(寄存器(寄存器(BXBX,BPBP,SISI,DIDI)间间间间接接接接给给给给出。出。出。出。当当当当EAEA(BXBX)/(SISI)/(DIDI)时:)时:)时:)时:PAPA(物理地址)(物理地址)(DSDS)1

16、616EAEA 当当当当EAEA(BPBP)时:)时:)时:)时:PAPA(SSSS)1616EAEA作用:作用:将存储器单元的有效地址存放在寄存器中。将存储器单元的有效地址存放在寄存器中。微机原理与接口技术微机原理与接口技术 王王 欣欣注意:注意:关于关于默认段默认段:指定寄存器指定寄存器BX、SI或DI,默认操作数存放在数据段默认操作数存放在数据段DS中;中;(DSDS:BXBX,SISI,DIDI)指定寄存器指定寄存器BP,默认操作数存放在数据段,默认操作数存放在数据段SS中;中;(SSSS:BPBP)可以使用可以使用段超越前缀段超越前缀来从默认段以外的段中取得数据;来从默认段以外的段中

17、取得数据;例MOVBX,ES:SI微机原理与接口技术微机原理与接口技术 王王 欣欣MOV AX,BX;源操作数在数据段;源操作数在数据段,EABX,PADS16EA MOV AX,DI;源操作数在数据段;源操作数在数据段,EADI,PADS16EAMOV SI,AL;目的操作数在数据段;目的操作数在数据段,EASI,PADS16EA MOV BP,DI;目的操作数在堆栈段;目的操作数在堆栈段,EABP,PASS16EA不允不允许使用使用AX、CX、DX、SP存放存放EA:()MOV AX,CX源、目的操作数不能同源、目的操作数不能同时带方括号:方括号:()MOV BX,SI立即数和存立即数和存

18、储器器寻址方式同址方式同时使用使用时应明示明示数据数据类型:型:()MOV BX,20H寄存器间接寻址所用寄存器名称外必须加寄存器间接寻址所用寄存器名称外必须加方括号方括号,以区别寄存器寻,以区别寄存器寻址方式;址方式;微机原理与接口技术微机原理与接口技术 王王 欣欣例3.8MOVBX,SI解:设:DS1000H,SI2000H,(12000H)318BH则:物理地址16DSSI10000H2000H12000H指令执行后,BX318BH,指令执行过程如图所示。微机原理与接口技术微机原理与接口技术 王王 欣欣5基址基址/变址寻址(寄存器相对寻址)变址寻址(寄存器相对寻址)(RegisterRe

19、lativeAddressing)含义:含义:操作数的有效地址有效地址是基址或变址寄存器基址或变址寄存器的内容与8位或16位位移量位移量(Displacement)之和和。即BX/BP基址寻址EA=+8 位偏移量/16位偏移量SI/DI变址寻址微机原理与接口技术微机原理与接口技术 王王 欣欣基址寻址基址寻址基址寻址基址寻址有效地址有效地址有效地址有效地址EAEA为基址为基址为基址为基址寄存器(寄存器(寄存器(寄存器(BXBX,BPBP)的内容加偏移量。)的内容加偏移量。)的内容加偏移量。)的内容加偏移量。当当当当EAEA(BXBX)DISPDISP时:时:时:时:PAPA(DSDS)1616E

20、AEA 当当当当EAEA(BPBP)DISPDISP时:时:时:时:PAPA(SSSS)1616EAEAMOV AX,BX+100H;源操作数在数据段;源操作数在数据段,EABX+100H,PADS16+EA MOV BP-08H,DI;目的操作数在堆栈段;目的操作数在堆栈段,EABP-08H,PASS16+EA DS10HAXBX+DISPSS10HBP+DISP微机原理与接口技术微机原理与接口技术 王王 欣欣变址寻址变址寻址变址寻址变址寻址有效地址有效地址有效地址有效地址EAEA为变址为变址为变址为变址寄存器(寄存器(寄存器(寄存器(SISI,DIDI)的内容加偏移量。)的内容加偏移量。)

21、的内容加偏移量。)的内容加偏移量。EA EA(SISI)/(DIDI)DISPDISP PA PA(DSDS)1616EAEAMOV AX,SI+1020H;源操作数在数据段;源操作数在数据段,EASI+1020H,PADS16+EA MOV DI-10H,CL;目的操作数在数据段;目的操作数在数据段,EADI-10H,PADS16+EADS10HAXSI+DISPDS10HDI+DISP微机原理与接口技术微机原理与接口技术 王王 欣欣例3.10MOVBX,COUNTSI;或:MOVBX,COUNTSI解:设:DS3000H,SI2000H,位移量COUNT4000H,(36000H)=318

22、BH则:物理地址16DSSICOUNT30000H2000H4000H36000H指令执行后,BX318BH403000微机原理与接口技术微机原理与接口技术 王王 欣欣注意:注意:寄存器名称外必须加方括号方括号,位移量可以在括号内,也可以在括号外;段超越前缀段超越前缀来从默认段以外的段中取得数据;例MOVDH,ES:ARRAYSI关于默认段默认段:指定寄存器BX、SI或DI,默认操作数存放在数据段DS中;(DSDS:BXBX,SISI,DIDI)指定寄存器BP,默认操作数存放在数据段SS中;(SSSS:BPBP)微机原理与接口技术微机原理与接口技术 王王 欣欣注意:注意:寄存器寄存器SISI和

23、和DIDI、BPBP和和BXBX不能同时出现在不能同时出现在 中。中。操作数的操作数的有效地址有效地址是一个是一个基址寄存器基址寄存器(BX、BP)和和一个一个变址寄存器变址寄存器(SI、DI)的内容,再加上的内容,再加上8位或位或16位位位移量位移量之和和。即。即BXSIEA=+位移量位移量 BPDI6基址基址+变址寻址变址寻址(RelativeBasedIndexedAddressing)使用的使用的寄存器寄存器:基址寄存器基址寄存器BX、BP,变址寄存器,变址寄存器SI、DI。PAPA(DSDS)1616EAEA,当基址寄存器为,当基址寄存器为,当基址寄存器为,当基址寄存器为BXBX时时

24、时时PAPA(SSSS)1616EAEA,当基址寄存器为,当基址寄存器为,当基址寄存器为,当基址寄存器为BPBP时时时时微机原理与接口技术微机原理与接口技术 王王 欣欣MOV BPDI,BX;目的操作数在堆栈段;目的操作数在堆栈段EA(BP)()(DI),),PA(SS)16EAMOV CX,BP+SI;源操作数在堆栈段;源操作数在堆栈段EA(BP)()(SI),),PA(SS)16EAMOV BX+DI,AX;目的操作数在数据段;目的操作数在数据段EA(BX)()(DI),),PA(DS)16EAMOV DX,BXSI;源操作数在数据段;源操作数在数据段EA(BX)()(SI),),PA(D

25、S)16EA相对基址变址寻址的表示形式:相对基址变址寻址的表示形式:6BXSI 6BXSI 或或BX+6SI BX+6SI 或或BX+6+SI BX+6+SI 其中:方括号其中:方括号 有相加的含义有相加的含义微机原理与接口技术微机原理与接口技术 王王 欣欣例3.12MOVAX,MASKBXSI;或:MOVBX,MASKBXSI解:设:DS2000H,SI0300H,BX1500H,MASK=0200H,(21A00H)=26BFH则:物理地址16DSSIBX+MASK20000H0300H1500H+0200H21A00H指令执行后,AX26BFH微机原理与接口技术微机原理与接口技术 王王

26、欣欣存储器操作数寻址方式总结:存储器操作数寻址方式总结:带方括号带方括号的地址表达式必须遵循下列的地址表达式必须遵循下列规则规则:1.1.立即数立即数可以出现在方括号内,表示直接地址,但要加上可以出现在方括号内,表示直接地址,但要加上DS:DS:如如DS:2000HDS:2000H,否则会出现警告。,否则会出现警告。2.2.只有只有BXBX、BPBP、SISI、DIDI这四个寄存器可以出现在这四个寄存器可以出现在 内,它们可以内,它们可以单独出现,也可以相加,或与常数相加,单独出现,也可以相加,或与常数相加,但:但:BXBX和和BPBP寄存器、寄存器、SISI和和DIDI寄存器寄存器不允许不允

27、许出现在出现在同一个同一个 内内。3.3.方括号方括号表示表示相加相加,下面几种写法等价:,下面几种写法等价:6BXSI6BXSI;BX+6SIBX+6SI;BX+SI+6BX+SI+6 微机原理与接口技术微机原理与接口技术 王王 欣欣4 4不同寄存器对应不同寄存器对应不同的隐含段基址不同的隐含段基址:SS:BP;DS:BX,SI,DI;物理地址物理地址16相应段基址相应段基址 EA EA BX/BP SI/DI DISP(注:(注:可以是单一寄存器、两个寄存器组合、和可以是单一寄存器、两个寄存器组合、和DISP组合;组合;DISP也可以为也可以为0)可用可用段超越前缀段超越前缀修改段基址。修

28、改段基址。微机原理与接口技术微机原理与接口技术 王王 欣欣7串寻址串寻址(80868086串指令中使用)串指令中使用)源操作数的逻辑地址为源操作数的逻辑地址为DS:SIDS:SI;目的操作数的逻辑地址为目的操作数的逻辑地址为ES:DIES:DI8隐含寻址隐含寻址 指令中指令中不指明操作数不指明操作数,但有,但有隐含规定的隐含规定的寻址方式。寻址方式。如:指令如:指令DAA ;对寄存器;对寄存器AL中的数据中的数据进行进行十进制数调整十进制数调整,结果仍保留在结果仍保留在AL中。中。微机原理与接口技术微机原理与接口技术 王王 欣欣9I/O端口寻址端口寻址 当操作数在外部设备时,使用当操作数在外部

29、设备时,使用I/O指令。微机系统采用地址来访问不指令。微机系统采用地址来访问不同的外部设备,为了与内存地址区别,该地址称为同的外部设备,为了与内存地址区别,该地址称为端口地址端口地址 8086有直接端口和间接端口有直接端口和间接端口两种寻址方式两种寻址方式。直接端口寻址方式直接端口寻址方式:指令直接提供端口地址:指令直接提供端口地址8位立即数位立即数。可。可访问访问端口端口00FFH,即,即256个端口。个端口。例如,例如,IN AL,63H ;表示将瑞口;表示将瑞口63H中的内容中的内容送进送进AL寄存器寄存器 间接端口寻址方式间接端口寻址方式:端口地址由寄存器:端口地址由寄存器DX提供,提

30、供,端口号为端口号为0000FFFFH。例如,例如,MOVDX,213H;DX=口地址号口地址号213H IN AL,DX ;AL端口端口213H中的内容中的内容微机原理与接口技术微机原理与接口技术 王王 欣欣课堂练习课堂练习(1)MOV AX,SI(2)MOV DI,100(3)MOV BX,AL(4)MOV BXSI,CX(5)ADD DX,106HSI(6)AND DS:BP,AX(7)OR AX,DX1 1 分别指出下列指令中的源操作数和目的操作数的寻址方式。分别指出下列指令中的源操作数和目的操作数的寻址方式。目的操作数源操作数(1)寄存器寄存器间接(2)寄存器立即(3)寄存器间接寄存

31、器(4)基址变址寄存器(5)寄存器变址(6)带段超越的寄存器间接寄存器(7)寄存器寄存器微机原理与接口技术微机原理与接口技术 王王 欣欣指令的寻址方式小结指令的寻址方式小结(1)寻址方式不需总线周期,执行速度快。(2)只能作为源数据寻址。(1)两个操作数都可用直接寻址方式。(2)是对存储器进行访问时最简单的方法。(3)前缀指明操作数在哪一段,缺省段为DS。(1)寻址方式不需总线周期,执行速度快。(2)两个操作数都可用寄存器寻址方式。(3)16为操作数采用16位寄存器,8位操作数采用8位寄存器。寻址方式寻址方式 特点特点微机原理与接口技术微机原理与接口技术 王王 欣欣指令的寻址方式小结指令的寻址

32、方式小结(1)只能使用BX、BP、SI、DI。(2)前缀指明操作数在哪一段。使用BX时,缺省段为DS;使用BP时,缺省段为SS。(1)在寄存器间接寻址基础上,增加了位移量。(2)位移量可为8位,也可为16位。(3)指令书写时,位移量也可以写在寄存器之前。如:MOV AX,6BX寻址方式寻址方式 特点特点(e e)基址)基址/变址寻址变址寻址微机原理与接口技术微机原理与接口技术 王王 欣欣指令的寻址方式小结指令的寻址方式小结前缀指明操作数在哪一段。使用BX时,缺省段为DS;使用BP时,缺省段为SS。(1)在基址加变址寻址基础上,增加了位移量。(2)位移量可为8位,也可为16位。(3)前缀指明操作

33、数在哪一段。使用BX时,缺省段为DS;使用BP时,缺省段为SS。寻址方式特点寻址方式特点微机原理与接口技术微机原理与接口技术 王王 欣欣课后作业课后作业熟记寻址方式及其特点;熟记寻址方式及其特点;已知:(已知:(DS)=3000H,(,(BX)=0100H,(,(SS)=3100H,(SI)=0002H,(30100H)=12H,(,(30101H)=34H(30102H)=5678H,(,(31200H)=2CH,(,(31201H)=9AH(31202H)=0B4H,(,(31203H)=65H,问下列指令中,源操,问下列指令中,源操作数属于哪种寻址方式?指令执行完后作数属于哪种寻址方式?

34、指令执行完后AX寄存器的内容各是什么?寄存器的内容各是什么?1)MOV AX,BX2)MOV AX,1200H3)MOV AX,1100HBX4)MOV AX,1100HBXSI5)MOV AX,SS:BX+SI+100H6)MOV AX,2500H 微机原理与接口技术微机原理与接口技术 王王 欣欣8086的指令的指令长度是可变长度是可变的,一条指令一般由的,一条指令一般由16个字节组个字节组成(加上前缀字节,最长可为成(加上前缀字节,最长可为7字节)。字节)。8086指令中通常使用一个或两个操作数,在少数指令中有指令中通常使用一个或两个操作数,在少数指令中有隐含的第三个操作数。隐含的第三个操

35、作数。操作码(Opcode)操作数3.38086的指令格式及数据类型的指令格式及数据类型微机原理与接口技术微机原理与接口技术 王王 欣欣操作码操作码 操作数操作数1 1 操作数操作数22在在80868086指令系统中,指令系统中,有单字节、双字节和三字节指令。有单字节、双字节和三字节指令。指令长度不同,指令长度不同,指令的格式也就不同:指令的格式也就不同:(1 1)单字节指令:)单字节指令:操作码、操作数操作码、操作数 同在同在一个字节中一个字节中。(2 2)双字节指令:操作码)双字节指令:操作码+操作数。操作数。举例:举例:汇编语言:汇编语言:机器语言:机器语言:INC AX 40HMOV

36、AL,04 B0 04H010000001011000000000100 8086 8086指令系统中,指令系统中,少数指令中有少数指令中有3个操作数,个操作数,不过有一操作数不过有一操作数隐含隐含在在操作码中操作码中ADCAX,BX;(AX)=(AX)+(BX)+(CF)微机原理与接口技术微机原理与接口技术 王王 欣欣指令中的数据类型指令中的数据类型无符号数无符号数无符号无符号8位数位数00HFFH(0255);无符号无符号16位数位数0000HFFFFH(065535)带符号数带符号数带符号带符号8位数位数80H7FH(-128+127);带符号带符号16位数位数8000H7FFFH(32

37、76832767)ASCII码码从键盘输入的数据或符号,在机器中得到的是对应的从键盘输入的数据或符号,在机器中得到的是对应的ASCII码;码;将数据或字符在屏幕上显示,必须先将其转换为将数据或字符在屏幕上显示,必须先将其转换为ASCII码后再码后再输出;程序设计中,输出;程序设计中,ASCII码用单引号括起来。码用单引号括起来。BCD数(压缩数(压缩BCD和非压缩和非压缩BCD)微机原理与接口技术微机原理与接口技术 王王 欣欣8086的指令可以分为五大类的指令可以分为五大类3.4.1数据传送指令数据传送指令3.4.2算术运算指令算术运算指令3.4.3.逻辑运算和移位指令逻辑运算和移位指令3.4

38、.4字符串处理指令字符串处理指令3.4.5控制转移指令控制转移指令3.48086指令集指令集微机原理与接口技术微机原理与接口技术 王王 欣欣介绍具体指令之前,首先介绍一下指令系统中操作数的种类和含义介绍具体指令之前,首先介绍一下指令系统中操作数的种类和含义REG:通用寄存器(或寄存器);:通用寄存器(或寄存器);SREG:段寄存器:段寄存器Memory:存储器;:存储器;immediate:立即数:立即数微机原理与接口技术微机原理与接口技术 王王 欣欣注:注:数据传送指令共数据传送指令共14条;条;除除SAHF和和POPF指令指令外,对标志位均没有外,对标志位均没有 影响。影响。通用数据传送指

39、令通用数据传送指令MOVPUSHPOPXCHGXLAT字节或字的传送入栈指令出栈指令交换字或字节表转换输入输出指令输入输出指令INOUT输入输出地址目标传送指令地址目标传送指令LEALDSLES装入有效地址装入数据段寄存器装入堆栈段寄存器标志传送指令标志传送指令LAHFSAHFPUSHFPOPF标志寄存器低字节装入AHAH内容装入标志寄存器低字节标志寄存器入栈指令出栈,并送入标志寄存器3.4.1数据传送指令数据传送指令微机原理与接口技术微机原理与接口技术 王王 欣欣1通用数据传送指令通用数据传送指令(GeneralPurposeDataTranfer)MOV MOV传送指令传送指令(Move)

40、(Move)指令格式:指令格式:MOV MOV 目的目的操作数操作数,源源操作数操作数 指令功能:实现指令功能:实现CPUCPU的的内部寄存器间内部寄存器间或或寄存器与存储器间寄存器与存储器间的数据传送。的数据传送。MOV REG,immediate;REG immediate MOV REG,SREG ;REG SREG MOV REG,Memory;REG Memory MOV REG,REG;REG REG MOV CL,4;CL 4 MOV AX,ES;AX(ES)MOV AX,1000H;AX 1000H MOV CX,BX;CX(BX)指指 令令功功 能能微机原理与接口技术微机原理

41、与接口技术 王王 欣欣 MOV MOV传送指令传送指令(Move)(Move)指令格式:指令格式:MOV MOV 目的目的操作数,操作数,源源操作数操作数 指令功能:实现指令功能:实现CPUCPU的的内部寄存器间内部寄存器间或或寄存器与存储器间寄存器与存储器间的数据传送。的数据传送。MOV Memory,immediate;Memory immediate MOV Memory,REG ;Memory REG MOV Memory,SREG;Memory SREG MOV BX,12H;BX 12H MOV DI,CX;DI(CX)MOV DESTBP+DI,ES;DESTBP+DI ES 指

42、指 令令功功 能能微机原理与接口技术微机原理与接口技术 王王 欣欣 MOV MOV传送指令传送指令(Move)(Move)指令格式:指令格式:MOV MOV 目的目的操作数,源源操作数 指令功能:指令功能:实现CPU的内部寄存器间或寄存器与存储器间的数据传送。MOV SREG,REG ;REG SREG MOV SREG,Memory;REG Memory MOV DS,BX;DS(BX)MOV DS,DATASI+BX;DS DATASI+BX 指指 令令功功 能能微机原理与接口技术微机原理与接口技术 王王 欣欣微机原理与接口技术微机原理与接口技术 王王 欣欣 1 1)立即数不能作为)立即数

43、不能作为目的操作数目的操作数,只能作为只能作为源操作数源操作数 MOV1000H,AL;()2 2)CS CS、IPIP不能作为目的操作数不能作为目的操作数 MOVCS,AX;()MOVIP,AX;()3 3)不允许在两个)不允许在两个存储器单元存储器单元之间直接传送数据。之间直接传送数据。MOV2000H,1000H;()注意:注意:MOVAX,1000H;MOV2000H,AX微机原理与接口技术微机原理与接口技术 王王 欣欣4 4)不允许在两个)不允许在两个段寄存器段寄存器之间直接传送数据。之间直接传送数据。MOVDS,ES;()5 5)不允许通过)不允许通过MOVMOV指令指令直接以立即

44、数方式给段寄存器赋值直接以立即数方式给段寄存器赋值。可以通过可以通过AXAX为桥梁来完成这样的传送:为桥梁来完成这样的传送:MOVDS,0;()改:改:MOVAX,0MOVDS,AX6 6)MOVMOV指令不影响标志位。指令不影响标志位。微机原理与接口技术微机原理与接口技术 王王 欣欣例:把内存中首地址为例:把内存中首地址为MEM1MEM1的的200200个字节送到首地址为个字节送到首地址为MEM2MEM2的区域中,的区域中,编程。编程。微机原理与接口技术微机原理与接口技术 王王 欣欣(2 2)堆栈指令)堆栈指令 堆栈:堆栈:在存储器中开辟一段区域,用于存储一些暂时需要保护而以后在存储器中开辟

45、一段区域,用于存储一些暂时需要保护而以后还要用到数据(如中断现场的保护与恢复、子程序现场的保护与恢复等)还要用到数据(如中断现场的保护与恢复、子程序现场的保护与恢复等),这个区域称为堆栈。,这个区域称为堆栈。堆栈的特点:堆栈的特点:堆栈存储数据的原则为堆栈存储数据的原则为后进先出后进先出。堆栈在存储器中的位置由堆栈在存储器中的位置由SS、SP确定。确定。SP指令可由指令可由MOV指令设置。指令设置。堆栈指针堆栈指针SP在在8086系统中始终指向栈的系统中始终指向栈的顶部顶部,即:始终指向最后压入,即:始终指向最后压入栈中的数据的地址。栈中的数据的地址。8086系统中栈的操作是以字为单位的。执行

46、一次入栈操作,系统中栈的操作是以字为单位的。执行一次入栈操作,SP-2,直至直至SP=0(SS)栈满为止。执行一次出栈操作,)栈满为止。执行一次出栈操作,SP+2。微机原理与接口技术微机原理与接口技术 王王 欣欣包括入栈(包括入栈(PUSH)和出栈()和出栈(POP)指令两类。仅能进行字运算)指令两类。仅能进行字运算1)入栈指令)入栈指令格式:格式:PUSH源操作数源操作数功能:功能:将数据将数据压入压入堆栈堆栈源操作数要求:可以是源操作数要求:可以是16位通用寄存器、段寄存器、存储器中的数据字位通用寄存器、段寄存器、存储器中的数据字,但,但不能是立即数。执行步骤为:执行步骤为:先修改堆栈指针

47、先修改堆栈指针SP,然后将数据压入堆栈。,然后将数据压入堆栈。SP=SP-2;SP=操作数低操作数低8位;位;SP+1=操作数高操作数高8位。位。例如:例如:PUSHBX执行过程为:执行过程为:SP=SP-1,SP=BH;SP=SP-1,SP=BL,如图。,如图。微机原理与接口技术微机原理与接口技术 王王 欣欣2)出栈指令出栈指令格式:格式:POP目的操作数目的操作数功能:功能:将数据将数据弹出弹出堆栈。堆栈。目的操作数要求:可以是目的操作数要求:可以是16位通用寄存器、段寄存器、存储单元,位通用寄存器、段寄存器、存储单元,但但CS不能作目的操作数。执行步骤:执行步骤:先将数据弹出堆栈,然后修

48、改堆栈指针先将数据弹出堆栈,然后修改堆栈指针SP。SP=操作数低操作数低8位,位,SP=SP+1;SP=操作数高操作数高8位,位,SP=SP+1。微机原理与接口技术微机原理与接口技术 王王 欣欣规定:规定:(1)堆栈段)堆栈段SS、栈指针、栈指针SP,堆栈只有一个入,堆栈只有一个入/出口。出口。(2)堆栈指针)堆栈指针SP在初始化中需要设置。在入、出栈操作中,栈指针在初始化中需要设置。在入、出栈操作中,栈指针SP是是自动修改的,以保证自动修改的,以保证SP始终指向栈顶。始终指向栈顶。(3)操作数()操作数(OPRD)可以是)可以是CPU内部的内部的16位通用寄存器、段寄存器(位通用寄存器、段寄

49、存器(CS除外)和内存单元,也可以用除立即寻址外的所有寻址方式,但不能除外)和内存单元,也可以用除立即寻址外的所有寻址方式,但不能使立即数。入、出栈操作对象必须是使立即数。入、出栈操作对象必须是16位数。位数。(4)PUSH、POP指令必须成对使用,在一个程序中不能出现非成对的指令必须成对使用,在一个程序中不能出现非成对的PUSH、POP指令。指令。微机原理与接口技术微机原理与接口技术 王王 欣欣例例3.29 3.29 设设SSSS2000H2000H,SPSP40H40H,BXBX3120H3120H,AXAX25FEH25FEH,依次,依次执行下列指令:执行下列指令:PUSH BXPUSH

50、 BX PUSH AX PUSH AX POP BX POP BX微机原理与接口技术微机原理与接口技术 王王 欣欣(3 3)XCHG XCHG 交换指令交换指令(Exchange)(Exchange)指令格式:指令格式:XCHG XCHG 目的,目的,源源 指令功能:源操作数、目的操作数数据交换。指令功能:源操作数、目的操作数数据交换。操作数要求:交换操作数要求:交换可以可以在寄存器之间、寄存器与存储器之间进行;在寄存器之间、寄存器与存储器之间进行;段寄存器和立即数段寄存器和立即数不能不能作为操作数;作为操作数;不能不能直接交换两个存储单元中的内容;直接交换两个存储单元中的内容;交换指令交换指

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com