计算机微机原理8066指令.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《计算机微机原理8066指令.ppt》由会员分享,可在线阅读,更多相关《计算机微机原理8066指令.ppt(159页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1本章内容本章内容3.1 基本数据类型基本数据类型3.2 8086的指令格式的指令格式3.3 8086指令的操作数寻址方式指令的操作数寻址方式3.4 8086的通用指令的通用指令总结总结23.1 基本数据类型基本数据类型字节字节字字双字双字四字四字双四字双四字 注意基本数据类型在内存中的字节顺序注意基本数据类型在内存中的字节顺序3字、双字、四字和双四字的对齐字、双字、四字和双四字的对齐当当数据数据对齐对齐时,对字来说,地址要被时,对字来说,地址要被2整除,对双整除,对双字、四字和双四字来说,地址要被字、四字和双四字来说,地址要被4、8和和16整除。整除。应该将数据的地址对齐,以取得较高的存取速
2、度应该将数据的地址对齐,以取得较高的存取速度80X86处理器能够访问任何有效地址的数据处理器能够访问任何有效地址的数据类型,而不需要对齐数据。但类型,而不需要对齐数据。但对于对于不对齐不对齐不对齐不对齐地地址的数据,处理器访问时,址的数据,处理器访问时,需要额外的访问需要额外的访问需要额外的访问需要额外的访问存储器时间。存储器时间。存储器时间。存储器时间。43.1.2 数字数据类型数字数据类型(1)无符号整数)无符号整数范围从范围从0到到2n 1,其中,其中,n为整数的位数。为整数的位数。(2)符号整数)符号整数用补码表示,范围从用补码表示,范围从-2n-1到到2n-1 1-1。其中,。其中,
3、n为整数为整数的位数。的位数。53.2 8086的指令格式的指令格式标号标号:助记符助记符 参数参数1,参数参数2 ;注释注释 各部分之间至少用各部分之间至少用一个空格作为间隔一个空格作为间隔带方括号部分表示任选项带方括号部分表示任选项助记符:说明计算机要执行哪种操作,用英文单词的缩助记符:说明计算机要执行哪种操作,用英文单词的缩写表示。写表示。参数:指令执行的参与者,即各种操作的对象。参数:指令执行的参与者,即各种操作的对象。参数参数1 1是目的操作数,参数是目的操作数,参数2 2是源操作数是源操作数BACK63.3 8086指令的操作数寻址方式指令的操作数寻址方式寻找寻找操作数操作数存放地
4、址的方式称为寻址方式。存放地址的方式称为寻址方式。注注意意操操作作数数的的表表达达方方法法,为为展展开开8086指指令令系系统统做好准备做好准备7操作数存放位置操作数存放位置 指令中指令中 寄存器寄存器 存储器存储器 I/O端口端口8传送指令传送指令MOV(move)的格式的格式MOV dest,src;destsrc MOV指令的功能是将源操作数指令的功能是将源操作数src传送至目的操作传送至目的操作数数dest,例如:,例如:MOV AL,05H;AL05HMOV BX,AX;BXAXMOV AX,SI;AXDS:SIMOV AX,BP+06H;AXSS:BP+06HMOV AX,BX+S
5、I;AXDS:BX+SI91 1、立即数寻址方式、立即数寻址方式操作数直接存放在指令中操作数直接存放在指令中。操作数称为立。操作数称为立即操作数。即操作数。MOV CL,5 MOV AX,3100H10立即寻址注意问题立即寻址注意问题*只能用于源操作数字段只能用于源操作数字段112 2、寄存器寻址方式、寄存器寻址方式操作数存放在寄存器中操作数存放在寄存器中,指令指定寄存器号。对,指令指定寄存器号。对16位操作数,寄存器可以是位操作数,寄存器可以是AX、BX、CX、DX、SI、DI、SP、BP、DS、CS、ES、SS等。对等。对8位位操作数,寄存器可以是操作数,寄存器可以是AL、AH、BL、BH
6、、CL、CH、DL和和DH等。等。如:如:MOV AX,BX123、直接寻址方式、直接寻址方式有效地址在指令中直接给出有效地址在指令中直接给出默认的段地址在默认的段地址在DS段寄存器,可使用段超越前段寄存器,可使用段超越前缀改变缀改变MOV AX,2000H;AXDS:2000HMOV AX,ES:2000H;AXES:2000H 表示其中表示其中为偏移地址为偏移地址段超越前缀段超越前缀即偏移地址即偏移地址直接寻址直接寻址直接寻址直接寻址13AX(AccumulatorAccumulator)累加器累加器BX(BaseBase)基址寄存器基址寄存器CX(CountCount)计数寄存器计数寄存
7、器DX(DataData)数据寄存器数据寄存器SI(Source IndexSource Index)是源变址寄存器是源变址寄存器DI(Destination IndexDestination Index)是目的变址寄存器是目的变址寄存器SP(Stack PointerStack Pointer)为堆栈指针寄存器为堆栈指针寄存器BP(Base PointerBase Pointer)为基址指针寄存器为基址指针寄存器通用寄存器的名称与符号通用寄存器的名称与符号数据寄存器数据寄存器指指针针寄寄存存器器144 4、寄存器间接寻址方式、寄存器间接寻址方式操作数存放在存储器中操作数存放在存储器中,而操作
8、数的地址的而操作数的地址的16位偏移量可在位偏移量可在BX、BP或或SI、DI寄存器中。寄存器中。1、选择、选择BX、SI、DI作为作为间址寄存器,则间址寄存器,则操作数在数据段中,所以用操作数在数据段中,所以用DS寄存器的寄存器的内容作为段地址。操作数的物理地址为:内容作为段地址。操作数的物理地址为:物理地址物理地址=(DS)左移左移4位位+(BX)(SI)(DI)例例 1 MOV AX,BX寄存器间接寻址寄存器间接寻址15寄存器间接寻址(续)寄存器间接寻址(续)2、选择、选择BP作为作为间址寄存器,则操作数在堆栈段中,间址寄存器,则操作数在堆栈段中,所以用所以用SS寄存器的内容作为段地址。
9、操作数的物寄存器的内容作为段地址。操作数的物理地址为:理地址为:物理地址物理地址=(SS)左移左移4位位 +(BP)例例2 MOV AX,BP 说明:指令中也可指定说明:指令中也可指定段超越前缀段超越前缀来取得其他段中的来取得其他段中的数据。如:数据。如:16 MOV AX,ES:BX 源操作数的物理地址为:(源操作数的物理地址为:(ES)左移左移4位位 +(BX)MOV AX,DS:BP源操作数的物理地址为:(源操作数的物理地址为:(DS)左移左移4位位+(BP)17以下情况不能段超越以下情况不能段超越程序的程序的指令序列指令序列必须安排在必须安排在代码段代码段程序使用的程序使用的堆栈堆栈一
10、定在一定在堆栈段堆栈段串操作的目的区必须是附加段串操作的目的区必须是附加段185 5、寄存器相对寻址方式、寄存器相对寻址方式有效地址是寄存器内容与有符号有效地址是寄存器内容与有符号8位或位或16位位移量位位移量(补码表示(补码表示)之和,寄存器可以是之和,寄存器可以是BX、BP或或SI、DI 有效地址有效地址BX/BP/SI/DI8/16位位移量位位移量段地址对应段地址对应BX/SI/DI寄存器默认是寄存器默认是DS,对应,对应BP寄寄存器默认是存器默认是SS;可用段超越前缀改变;可用段超越前缀改变19寄存器相对寄存器相对寻址指令寻址指令MOV AX,SI+06H;AXDS:SI+06HMOV
11、 AX,BP+06H;AXSS:BP+06H寄存器相对寄存器相对寻址寻址206、基址加变址寻址方式、基址加变址寻址方式有效地址由基址寄存器(有效地址由基址寄存器(BX或或BP)的内容加上变址寄)的内容加上变址寄存器(存器(SI或或DI)的内容构成:)的内容构成:有效地址有效地址BX/BPSI/DI段地址对应段地址对应BX基址寄存器默认是基址寄存器默认是DS,对应,对应BP基址寄存基址寄存器默认是器默认是SS;可用段超越前缀改变;可用段超越前缀改变注意:必须一个是基址寄存器,另一个是变注意:必须一个是基址寄存器,另一个是变址寄存器,不能两个都是基址寄存器,也不能址寄存器,不能两个都是基址寄存器,
12、也不能两个都是变址寄存器两个都是变址寄存器21基址加变址寻址指令基址加变址寻址指令MOV AX,BX+SI;AXDS:BX+SIMOV AX,BP+DI ;AXSS:BP+DIMOV AX,DS:BP+DI;AXDS:BP+DI基址加变址寻址基址加变址寻址227、相对基址变址寻址方式、相对基址变址寻址方式有效地址是基址寄存器(有效地址是基址寄存器(BX/BP)、变址寄存)、变址寄存器(器(SI/DI)与一个)与一个8位或位或16位位移量之和:位位移量之和:有效地址有效地址BX/BPSI/DI8/16位位移量位位移量段地址对应段地址对应BX基址寄存器默认是基址寄存器默认是DS,对应,对应BP基址
13、寄存器默认是基址寄存器默认是SS;可用段超越前缀改变;可用段超越前缀改变注意:必须一个是基址寄存器,另一个是变注意:必须一个是基址寄存器,另一个是变址寄存器,不能两个都是基址寄存器,也不能址寄存器,不能两个都是基址寄存器,也不能两个都是变址寄存器两个都是变址寄存器23相对基址变址寻址指令相对基址变址寻址指令MOV AX,BX+DI+06H;AXDS:BX+DI+06H相对基址加变址寻址相对基址加变址寻址24多种表达形式多种表达形式同一寻址方式可以写成不同的形式:同一寻址方式可以写成不同的形式:MOV AX,BXSI;等同于;等同于 MOV AX,BX+SIMOV AX,COUNTSI;等同于;
14、等同于 MOV AX,SI+COUNTMOV AX,WNUMBXSI;等同于;等同于 MOV AX,WNUMBX+SI;等同于;等同于 MOV AX,BX+SI+WNUM注意:位移量写在注意:位移量写在的左边的左边25寻址方式总结(寻址方式总结(1)7种寻址方式归纳为种寻址方式归纳为3大类:大类:立即方式:立即数立即方式:立即数寄存器方式:寄存器操作数寄存器方式:寄存器操作数存储器方式(直接寻址、寄存器间接寻址、存储器方式(直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址、相对寄存器相对寻址、基址加变址寻址、相对基基址加变址寻址):存储器操作数址加变址寻址):存储器操作数26寻址方式总
15、结(寻址方式总结(2)对于存储器方式,有效地址可以由以下三种成分组成:对于存储器方式,有效地址可以由以下三种成分组成:位移量(位移量(Displacement)是存放在指令中的一个)是存放在指令中的一个8位或位或16位数,但它不是立即数,而是一个地址。位数,但它不是立即数,而是一个地址。基址(基址(Base)是存放在基址寄存器()是存放在基址寄存器(BX或或BP)中的内容。中的内容。变址(变址(Index)是存放在变址寄存器()是存放在变址寄存器(SI或或DI)中的内容。中的内容。有效地址的计算可用下式表示:有效地址的计算可用下式表示:EA=基址基址+变址变址+位移量位移量它们任意组合使用,可
16、得到不同的寻址方式。它们任意组合使用,可得到不同的寻址方式。27寻址方式总结(寻址方式总结(3)没有指明时,一般的数据访问在没有指明时,一般的数据访问在DS段;使用段;使用BP访问主存,则在访问主存,则在SS段段默认的情况允许改变,需要使用段超越前缀指令;默认的情况允许改变,需要使用段超越前缀指令;8086指令系统中有指令系统中有4个:个:CS:;代码段超越,使用代码段的数据;代码段超越,使用代码段的数据SS:;堆栈段超越,使用堆栈段的数据;堆栈段超越,使用堆栈段的数据DS:;数据段超越,使用数据段的数据;数据段超越,使用数据段的数据ES:;附加段超越,使用附加段的数据;附加段超越,使用附加段
17、的数据BACK283.4 80863.4 8086的通用指令的通用指令16位位8086指令系统是指令系统是Intel 80 x86系列微系列微处理器指令系统的基础处理器指令系统的基础29学习指令的注意事项学习指令的注意事项指令的功能指令的功能该指令能够实现何种操作。通常指令该指令能够实现何种操作。通常指令助记符就是指令功能的英文单词或其缩写形式助记符就是指令功能的英文单词或其缩写形式指令支持的寻址方式指令支持的寻址方式该指令中的操作数可以采用该指令中的操作数可以采用何种寻址方式何种寻址方式指令对标志的影响指令对标志的影响该指令执行后是否对各个标志该指令执行后是否对各个标志位有影响,以及如何影响
18、位有影响,以及如何影响(参见参见P425)P425)其他方面其他方面该指令其他需要特别注意的地方,如指该指令其他需要特别注意的地方,如指令执行时的约定设置、必须预置的参数、隐含使用令执行时的约定设置、必须预置的参数、隐含使用的寄存器等的寄存器等30指令遵循的规则指令遵循的规则两个操作数的类型要一致两个操作数的类型要一致两个操作数不能都是存储器两个操作数不能都是存储器只有只有MOV、PUSH、POP指令允许以段寄存指令允许以段寄存器作为操作数器作为操作数目的操作数不能是立即数和目的操作数不能是立即数和CS单操作数指令中的操作数不能是立即数单操作数指令中的操作数不能是立即数31数据传送指令数据传送
19、指令数据传送是计算机中最基本、最重要数据传送是计算机中最基本、最重要的一种操作的一种操作传送指令把数据从一个位置传送到另传送指令把数据从一个位置传送到另一个位置一个位置只有这种通用传送指令只有这种通用传送指令(除了除了XCHG以以外外),才是,才是惟一惟一的允许以的允许以段寄存器段寄存器作为作为操作数的指令。操作数的指令。321、MOV(MOVE)指令指令执行操作:(执行操作:(OPRD1)(OPRD2)格式:格式:MOV OPRD1,OPRD2目的目的源源此指令不影响标志位此指令不影响标志位33MOV指令举例指令举例mov al,4 ;al4,字节传送,字节传送mov ax,bx;axbx,
20、字传送,字传送mov dx,bp;dxss:bp342、交换指令、交换指令XCHG(exchange)XCHG OPRD1,OPRD2执行操作:执行操作:OPRD1 OPRD2数据传送指令不影响标志位数据传送指令不影响标志位35XCHG指令数据交换方向指令数据交换方向寄存器与寄存器之间对换数据寄存器与寄存器之间对换数据寄存器与存储器之间对换数据寄存器与存储器之间对换数据不能在存储器与存储器之间对换数据不能在存储器与存储器之间对换数据不能在存储器与存储器之间对换数据不能在存储器与存储器之间对换数据段寄存器不能作为操作数段寄存器不能作为操作数段寄存器不能作为操作数段寄存器不能作为操作数 通用寄存器
21、通用寄存器AX,BX,CX,DXBP,SP,DI,SI存储器存储器数据交换方向如下:数据交换方向如下:也可以是也可以是8位寄存器位寄存器36xchg ax,bxxchg ax,bxxchg ah,alxchg ah,alxchg ax,2000hxchg ax,2000hxchg al,2000hxchg al,2000hXCHG指令举例指令举例这些都是错误指令!这些都是错误指令!373、堆栈操作指令、堆栈操作指令堆栈是以堆栈是以“后进先出后进先出”方式工作的一个存储区方式工作的一个存储区(内存区内存区),堆栈操作必须在堆栈段中进行,其段地址由堆栈段寄堆栈操作必须在堆栈段中进行,其段地址由堆栈
22、段寄存器存器SS确定。确定。它的一端固定,另一端浮动,固定的一端叫它的一端固定,另一端浮动,固定的一端叫栈底栈底,浮,浮动的一端叫动的一端叫栈顶栈顶。堆栈只有一个出入口,即当前栈顶;用堆栈只有一个出入口,即当前栈顶;用堆栈指针寄存堆栈指针寄存器器SP指定,指定,SP的内容是栈顶的偏移地址的内容是栈顶的偏移地址。进栈指令和出栈指令都必须根据当前进栈指令和出栈指令都必须根据当前SP的内容来确定的内容来确定进栈或出栈的单元,而且必须及时修改进栈或出栈的单元,而且必须及时修改SP的值,使的值,使SP的内容指向当前的栈顶。的内容指向当前的栈顶。栈顶是栈顶是地址较小地址较小的一端的一端38堆栈操作指令堆栈
23、操作指令堆栈只有两种基本操作:进栈和出栈,堆栈只有两种基本操作:进栈和出栈,对应两条指令对应两条指令PUSH和和POP堆栈操作的单位是堆栈操作的单位是字字指令不影响标志位指令不影响标志位39入栈指令入栈指令PUSH(Push word onto the stack)执行操作:(执行操作:(SP)(OPRD的高字节)的高字节)(SP)(SP)-1(SP)-1(SP)(OPRD的低字节)的低字节)(SP)指令执行后,(指令执行后,(SP)=(SP)-2说明说明:OPRD:OPRD可以使用除立即数以外的任何一种寻址可以使用除立即数以外的任何一种寻址方式方式.这是错误指令这是错误指令PUSH r16/
24、m16/segpush axpush 2000h40出栈指令出栈指令POP(Pop word from the stack)执行操作:(执行操作:(OPRD的低字节)的低字节)(SP)(SP)(SP)+1(OPRD的高字节)的高字节)(SP)(SP)(SP)+1 注注意意:POP指指令令不不允允许许使使用用立立即即数数和和CS寄存器寄存器这些都是错误指令这些都是错误指令POP r16/m16/segpop axpop 2000h41PUSH指令举例指令举例例例 PUSH AX已知指行指令前(已知指行指令前(SP)=0305H,(AX)=8057H指令的执行过程如下:指令的执行过程如下:偏移地址
25、偏移地址堆栈内容堆栈内容(1)入栈前的情况)入栈前的情况(SP)=0305H0305H(SP)0305H偏移地址偏移地址堆栈内容堆栈内容(2)PUSH AX后的情况后的情况80H57H(SP)0304H0303H(SP)(SP)(SP)=0303H42POP指令举例 例例 POP BX已知执行指令前,(已知执行指令前,(SP)=0303H,(BX)=1234H指令的执行过程如下:指令的执行过程如下:0305H偏移地址偏移地址 堆栈内容堆栈内容80H57H0304H0303H(SP)(1)POP BX前的情况前的情况 (SP)=0303H0305H80H57H0304H0303H偏移地址偏移地址
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 微机 原理 8066 指令
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内