《指令系统》课件.ppt

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

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

1、微机原理及应用微机原理及应用主讲教师主讲教师 陈玮陈玮2023/2/251第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮第三章第三章 8086/8088指令系统指令系统一、一、指令格式与寻址方式指令格式与寻址方式二、二、数据传送类指令数据传送类指令三、三、算术运算指令算术运算指令四、四、逻辑运算指令逻辑运算指令五、五、移位指令移位指令 作业作业六、六、串操作指令串操作指令七、七、控制转移指令控制转移指令八、八、处理器控制指令处理器控制指令 作业作业2023/2/252第三章第三章 8086/80

2、88 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮一、指令格式与寻址方式一、指令格式与寻址方式 指令指令(Instruction)是指示是指示CPU执行某种操作的执行某种操作的命令;命令;指令系统指令系统(Instruction Set)是某一是某一CPU所能执所能执行的全部指令的集合,也称为指令集;行的全部指令的集合,也称为指令集;8086/8088的指令系统完全相同。的指令系统完全相同。指令是构成指令是构成程序程序的基础,程序是指令的有序组合,的基础,程序是指令的有序组合,CPU执行程序就是执行一条条指令。执行程序就是执行

3、一条条指令。1、指令格式指令格式 2、寻址方式寻址方式 2023/2/253第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮二、数据传送类指令二、数据传送类指令1、通用数据传送指令通用数据传送指令2、地址传送指令地址传送指令3、状态标志传送指令状态标志传送指令2023/2/254第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮三、算术运算指令三、算术运算指令1、加法运算指令加法运算指令2、减法指令减法

4、指令3、乘法指令乘法指令4、除法指令除法指令 例题例题2023/2/255第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮四、逻辑运算指令四、逻辑运算指令1、“与与”运算指令运算指令AND2、“或或”运算指令运算指令OR3、“非非”运算指令运算指令NOT4、“异或异或”运算指令运算指令XOR5、测试指令测试指令TEST2023/2/256第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮五、移位指令五、

5、移位指令1、逻辑移位指令逻辑移位指令2、算术移位指令算术移位指令3、循环移位指令循环移位指令4、通过进位位循环移位指令通过进位位循环移位指令 例题例题 2023/2/257第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮七、控制转移指令七、控制转移指令1、控制转移指令的寻址方式控制转移指令的寻址方式2、无条件转移指令无条件转移指令3、条件转移指令条件转移指令4、循环控制指令循环控制指令5、过程调用和返回指令过程调用和返回指令2023/2/258第三章第三章 8086/8088 8086/8088指

6、令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮八、处理器控制指令八、处理器控制指令1、标志位操作指令标志位操作指令2、与外部事件协调同步的指令与外部事件协调同步的指令3、空操作指令空操作指令2023/2/259第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮1、指令格式、指令格式(1)操作码操作码指定指定CPU执行某种操作,如传送、运算执行某种操作,如传送、运算等;等;(2)操作数操作数为参与操作的数据,如寄存器中的数据为参与操作的数据,如寄存器中的数

7、据或内存单元中的数据等。或内存单元中的数据等。包含一个操作数的指令称为包含一个操作数的指令称为单操作数指令单操作数指令;包含两个操作数的指令称为包含两个操作数的指令称为双操作数指令双操作数指令;在指令执行过程中使用的操作数,保持原值不变的称为在指令执行过程中使用的操作数,保持原值不变的称为源操作数源操作数;不保留原值而将处理结果存入其中的称为不保留原值而将处理结果存入其中的称为目的操作数目的操作数。操作码操作码 操作数操作数 一条指令通常包括两部分:一条指令通常包括两部分:操作码操作码和和操作数操作数。格式:格式:2023/2/2510第三章第三章 8086/8088 8086/8088指令系

8、统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2、寻址方式(、寻址方式(Addressing Mode)(1)指令寻址方式)指令寻址方式 指令通常是顺序存放的,因此只要通过对指令指令通常是顺序存放的,因此只要通过对指令指针自动加指针自动加1,便形成下条指令地址;,便形成下条指令地址;只有当遇到转移指令或调用指令时,根据转移只有当遇到转移指令或调用指令时,根据转移目标去修改目标去修改IP或或CS。(2)操作数寻址方式)操作数寻址方式 所谓操作数寻址方式,就是寻找指令中所需操所谓操作数寻址方式,就是寻找指令中所需操作数的方法作数的方法。2023/2/251

9、1第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2、寻址方式(、寻址方式(Addressing Mode)操作数的来源操作数的来源 包含在指令中,紧跟在操作码之后,称为包含在指令中,紧跟在操作码之后,称为立即数;操作数在操作数在CPU的某个寄存器中;的某个寄存器中;操作数在内存的某单元中,这时指令中给出操作数在内存的某单元中,这时指令中给出的是操作数所在单元的地址,或者是产生该地址的的是操作数所在单元的地址,或者是产生该地址的计算方法;计算方法;操作数在某操作数在某I/O端口中。端口中。2023

10、/2/2512第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2、寻址方式(、寻址方式(Addressing Mode)由于操作数的不同来源,产生了三大类寻址方由于操作数的不同来源,产生了三大类寻址方式。式。(1)立即数寻址立即数寻址(2)寄存器寻址寄存器寻址(3)内存寻址内存寻址 例题例题2023/2/2513第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(1)立即(数)寻址立即(数)寻址 当操作

11、数就在指令中时,称为立即(数)寻址。当操作数就在指令中时,称为立即(数)寻址。这种操作数称为这种操作数称为立即数立即数,8位或位或16位均可。如:位均可。如:MOV AL,12H说明:这条指令的功能就是将立即数说明:这条指令的功能就是将立即数12H传送到寄存传送到寄存器器AL中。中。执行完该条指令后,执行完该条指令后,(AL)=12H或表示成或表示成:AL=12H2023/2/2514第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(1)立即(数)寻址)立即(数)寻址 MOV AX,1234H 说

12、明:这条指令的功能就是将立即数说明:这条指令的功能就是将立即数1234H传送传送到寄存器到寄存器AX中。中。执行完该条指令后,执行完该条指令后,(AX)=1234H或表示成:或表示成:AX=1234H2023/2/2515第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(1)立即(数)寻址)立即(数)寻址 MOV AL,12H 这是一条这是一条双操作数指令双操作数指令。其中:。其中:*MOV就是操作码,就是操作码,*立即数立即数12H称为称为源操作数源操作数;*寄存器寄存器AL称为称为目的操作数目

13、的操作数。特特 点点:*源操作数在执行指令后,它的值不会发生变化;源操作数在执行指令后,它的值不会发生变化;*立即数不能作为目的操作数。立即数不能作为目的操作数。2023/2/2516第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(2)寄存器寻址)寄存器寻址(Segment Addressing)当操作数在寄存器中时为当操作数在寄存器中时为寄存器寻址寄存器寻址(或称寄(或称寄存器直接寻址)。如存器直接寻址)。如:MOV AL,12H 说明:目的操作数说明:目的操作数AL即为寄存器寻址。即为寄存器

14、寻址。MOV AX,BX 说明:这条指令的功能就是将寄存器说明:这条指令的功能就是将寄存器BX的内容的内容传送到寄存器传送到寄存器AX中。中。执行完该条指令后,执行完该条指令后,AX的内容和的内容和BX的内容一样,的内容一样,表示成表示成AX=BX;2023/2/2517第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(3)内存寻址)内存寻址 (Memory Addressing)当操作数在内存中时为内存寻址,称其为内存当操作数在内存中时为内存寻址,称其为内存操作数。操作数。注意:一条指令中只允许

15、有一个内存操作数!注意:一条指令中只允许有一个内存操作数!*内存寻址时,指令中给出的是操作数的内存寻址时,指令中给出的是操作数的有效地址有效地址EA或产生或产生EA的计算方式。的计算方式。*EA即是逻辑地址中的偏移地址即是逻辑地址中的偏移地址。2023/2/2518第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(3)内存寻址)内存寻址 (Memory Addressing)直接寻址直接寻址寄存器间接寻址寄存器间接寻址相对基址相对基址/变址寻址变址寻址基址变址寻址基址变址寻址相对基址变址寻址相对基

16、址变址寻址2023/2/2519第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮直接寻址直接寻址 EA由指令中直接给出的由指令中直接给出的16位偏移量单独构成时位偏移量单独构成时称为内存寻址中的直接寻址。称为内存寻址中的直接寻址。*16位偏移量应带有方括号。如:位偏移量应带有方括号。如:(1)MOV AL,1234H 说明:说明:根据指令根据指令EA=1234H,段地址即取当前数据段段地址即取当前数据段DS(设设DS=2000H),20位物理地址位物理地址=DS10H+1234H=21234H,该

17、指令的功能就是将内存单元该指令的功能就是将内存单元(21234H)的的字节内容字节内容传送到传送到寄存器寄存器AL中,中,或表示为或表示为:(2000H:1234H)=A1H也即将也即将A1H送送AL,当执行完该指令后,当执行完该指令后,AL=A1H21234H20000H当前数据段A1H21235H66HFFH内存单元地址内存单元地址 内存单元内容内存单元内容2023/2/2520第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮直接寻址直接寻址(2)MOV AX,1234H 说明:说明:根据指令

18、根据指令EA=1234H,段地址即取当前数据段段地址即取当前数据段DS,设设DS=2000H,则则 20位物理地址位物理地址=DS10H+1234H=21234H,该指令的功能就是将内存单元该指令的功能就是将内存单元(21234H)的的字内容字内容传送到传送到寄存器寄存器AX中,也可表示为中,也可表示为:(2000H:1234H)=66A1H,也就是将也就是将66A1H送送AX,因此,当执行完该指令后因此,当执行完该指令后,AX=66A1H21234H20000H当前数据段A1H21235H66HFFH内存单元地址内存单元地址 内存单元内容内存单元内容2023/2/2521第三章第三章 808

19、6/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮寄存器间接寻址寄存器间接寻址 有效地址有效地址EA的内容由寄存器内容给出,称为内的内容由寄存器内容给出,称为内存寻址中的寄存器间接寻址。存寻址中的寄存器间接寻址。*寄存器应带有方括号。如寄存器应带有方括号。如 MOV AL,BX;EA=BX MOV AX,SI;EA=SI MOV AX,DI;EA=DI *求物理地址的方法与内存寻址中的直接寻址方求物理地址的方法与内存寻址中的直接寻址方法一样。法一样。2023/2/2522第三章第三章 8086/8088 8086/80

20、88指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮相对基址相对基址/变址寻址变址寻址EA由指令中给出的基址由指令中给出的基址/变址寄存器和位移量组成。变址寄存器和位移量组成。如:如:MOV AL,BX+0120H ;EA=BX+0120H通式(其中通式(其中D为位移量):为位移量):注意:求物理地址的方法与内存寻址中的直接注意:求物理地址的方法与内存寻址中的直接寻址方法一样。注意对应的段!寻址方法一样。注意对应的段!EA=+DBPDISIBX2023/2/2523第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东

21、工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮基址变址寻址基址变址寻址有效地址有效地址EA由由基址寄存器和和变址寄存器组成。如:组成。如:MOV AL,BX+SI;EA=BX+SI或或 MOV AL,BXSI ;EA=BX+SI通式:通式:EA=DISI+BPBX 注意:求物理地址的方法与内存寻址中的直接注意:求物理地址的方法与内存寻址中的直接寻址方法一样。注意对应的段!寻址方法一样。注意对应的段!2023/2/2524第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮相对基址变址寻

22、址相对基址变址寻址EA由基址寄存器、变址寄存器和位移量组成。如:由基址寄存器、变址寄存器和位移量组成。如:MOV AL,BP+DI+20H;EA=BP+DI+20H或或MOV AL,20HBPDI ;EA=BP+DI+20H通式:通式:EA=DISIDBPBX+注意:求物理地址的方法与内存寻址中的直接注意:求物理地址的方法与内存寻址中的直接寻址方法一样。注意对应的段!寻址方法一样。注意对应的段!2023/2/2525第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮例题例题1、指出各指令中源操作数和

23、目的操作数的寻址方式、指出各指令中源操作数和目的操作数的寻址方式,并说明操作数的类型(字节或字数据)。,并说明操作数的类型(字节或字数据)。(1)MOV SI,1000H答:答:源操作数是立即数寻址;目的操作数是寄存器寻址;传送的是字数据。2023/2/2526第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮例题例题1、指出各指令中源操作数和目的操作数的寻址方式,、指出各指令中源操作数和目的操作数的寻址方式,并说明操作数的类型(字节或字数据)。并说明操作数的类型(字节或字数据)。(2)MOV BL

24、,1000H答:答:源操作数是内存寻址中的源操作数是内存寻址中的直接寻址直接寻址EA=1000H;目的操作数是目的操作数是寄存器寻址寄存器寻址;传送的是传送的是字节数据字节数据。2023/2/2527第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮例题例题1、指出各指令中源操作数和目的操作数的寻址方式,、指出各指令中源操作数和目的操作数的寻址方式,并说明操作数的类型(字节或字数据)。并说明操作数的类型(字节或字数据)。(3)MOV BX+0100H,CX答:答:源操作数是源操作数是寄存器寻址寄存器

25、寻址;目的操作数是内存寻址中的目的操作数是内存寻址中的相对基址寻址相对基址寻址,EA=BX+0100H;传送的是传送的是字数据字数据。2023/2/2528第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮例题例题1、指出各指令中源操作数和目的操作数的寻址方式,、指出各指令中源操作数和目的操作数的寻址方式,并说明操作数的类型(字节或字数据)。并说明操作数的类型(字节或字数据)。(4)MOV BYTE PTRBXSI,100答:答:源操作数是源操作数是立即数寻址立即数寻址,十进制数,十进制数100;目

26、的操作数是内存寻址中目的操作数是内存寻址中基址变址寻址基址变址寻址,EA=BX+SI;传送的是传送的是字节数据字节数据。说明:斜体字是伪指令,表示是字节说明:斜体字是伪指令,表示是字节2023/2/2529第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮例题例题1、指出各指令中源操作数和目的操作数的寻址方式,、指出各指令中源操作数和目的操作数的寻址方式,并说明操作数的类型(字节或字数据)。并说明操作数的类型(字节或字数据)。(5)MOV AX,BX+DI+0004H答:答:源操作数是内存寻址中的源

27、操作数是内存寻址中的相对基址变址寻址相对基址变址寻址,EA=BX+DI+0004H;目的操作数是目的操作数是寄存器寻址寄存器寻址;传送的是传送的是字数据字数据。2023/2/2530第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮例题例题1、指出各指令中源操作数和目的操作数的寻址方式,、指出各指令中源操作数和目的操作数的寻址方式,并说明操作数的类型(字节或字数据)。并说明操作数的类型(字节或字数据)。(6)MOV AX,BX答:答:源操作数是内存寻址中的源操作数是内存寻址中的寄存器间接寻址寄存器间

28、接寻址,EA=BX;目的操作数是目的操作数是寄存器寻址寄存器寻址;传送的是传送的是字数据字数据。2023/2/2531第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮1、通用数据传送指令、通用数据传送指令(1)MOV指令指令 注意点注意点(2)PUSH和和POP指令指令(3)交换指令)交换指令XCHG(4)换码指令)换码指令XLAT2023/2/2532第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮

29、换码指令换码指令XLAT指令格式指令格式:XLAT 表首址表首址(表首址可省略)(表首址可省略)指令功能指令功能:将:将AL中的值转换为内存表格中某一值后,中的值转换为内存表格中某一值后,送回送回AL。这条指令完成一个字节的查表转换,指令隐含这条指令完成一个字节的查表转换,指令隐含规定用规定用BX和和AL,两者之和为访问的内存单元。两者之和为访问的内存单元。例题例题 2023/2/2533第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮换码指令换码指令XLAT 例题:设计一个例题:设计一个09的平

30、方表,通过换码指令求出对应的平方表,通过换码指令求出对应的的09的数的平方。的数的平方。解:解:SQUR_TAB DB 0,1,4,9,16,25,36,49,64,81 ;首先在内存中首先在内存中 ;设一个数据表;设一个数据表 ;开始使用开始使用 LEA BX,SQUR_TAB;将表首偏移地址装入将表首偏移地址装入BX MOV AL,05H ;求求5的平方的平方 XLAT ;换码,此时换码,此时AL内的值即为内的值即为252023/2/2534第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2、

31、地址传送指令、地址传送指令 地址传送指令主要用来将地址指针装入有关寄地址传送指令主要用来将地址指针装入有关寄存器。存器。(1)装入有效地址指令装入有效地址指令(2)装入数据段寄存器指令装入数据段寄存器指令(3)装入附加段寄存器装入附加段寄存器2023/2/2535第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(1)装入有效地址指令)装入有效地址指令(Load Effective Address)指令格式指令格式:LEA dst,src 指令功能指令功能:EASRCdst(通用寄存器)通用寄存器)

32、这条指令用来将源操作数(内存操作数)的有效地址这条指令用来将源操作数(内存操作数)的有效地址EA装入通用寄存器。装入通用寄存器。不影响标志位。不影响标志位。LEA AX,1000H 执行指令后,执行指令后,AX=1000H;LEA AX,BX 执行指令后,执行指令后,AX=BX;(注意区别:注意区别:MOV AX,BX)LEA BX,data ;data是一个变量,或称为符号地址是一个变量,或称为符号地址 执行指令后,执行指令后,BX等于变量等于变量data的偏移地址。的偏移地址。2023/2/2536第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学

33、 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(2)装入数据段寄存器指令)装入数据段寄存器指令(Load Data Segment Register)指令格式指令格式:LDS dst,src 指令功能指令功能:src给出的是有效地址,低字送给出的是有效地址,低字送dst,高字送,高字送DS。这条指令用来将内存中的双字数据(这条指令用来将内存中的双字数据(4个字节)个字节)装入通用寄存器和数据段寄存器装入通用寄存器和数据段寄存器DS。例:已知例:已知DS=1000H,(,(11500H)=2345H,(11502H)=ABCDH请问,执行指令请问,执行指令LDS SI,1500H,SI=

34、?DS=?答:答:SI=2345H,DS=ABCDH2023/2/2537第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(3)装入附加段寄存器)装入附加段寄存器(Load Extra Segment Register)指令格式指令格式:LES dst,src 指令功能指令功能:src给出的是有效地址,低字送给出的是有效地址,低字送dst,高字送,高字送ES。这条指令用来将内存中的双字数据装入通用寄这条指令用来将内存中的双字数据装入通用寄存器和附加段寄存器存器和附加段寄存器ES。2023/2/25

35、38第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(1)MOV指令指令 是基本传送类指令,实现字或字节数据的复制。是基本传送类指令,实现字或字节数据的复制。指令格式:指令格式:MOV dst,src指令功能:将源操作数指令功能:将源操作数src,传送到目的操作数传送到目的操作数dst中。中。如:如:MOV AL,12H 功能:执行指令就是将立即数功能:执行指令就是将立即数12H传送到传送到AL中,中,执行完指令后执行完指令后AL=12H。2023/2/2539第三章第三章 8086/8088 8

36、086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(1)MOV指令指令MOV传送类指令可以实现六种形式的传送:传送类指令可以实现六种形式的传送:立即数送寄存器;立即数送寄存器;如:如:MOV BX,1122H ;BX=1122H立即数送存储单元;立即数送存储单元;如:如:MOV BX,1122H ;将将1122H送到送到EA=BX ;的内存单元中的内存单元中2023/2/2540第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(1)MOV

37、指令指令通用寄存器之间的传送;通用寄存器之间的传送;如:如:MOV BX,AX ;BX=AX MOV AL,AH ;AL=AH通用寄存器和段寄存器之间的传送;通用寄存器和段寄存器之间的传送;如:如:MOV DS,AX ;DS=AX MOV AX,ES ;AX=ES2023/2/2541第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(1)MOV指令指令通用寄存器和存储单元之间的传送;通用寄存器和存储单元之间的传送;如:如:MOV AL,BX ;将将EA=BX的内存单元的内存单元 ;的内容送寄存器;

38、的内容送寄存器AL MOV 1400H,BX ;将将BX的内容送的内容送EA=1400 ;的内存单元;的内存单元段寄存器和存储单元之间的传送。段寄存器和存储单元之间的传送。如:如:MOV 1400H,CS ;将将CS的内容送的内容送EA=1400 ;的内存单元;的内存单元 MOV DS,BX ;将将EABX的内存单元内容的内存单元内容 ;送;送DS2023/2/2542第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮例题例题设设DS=1000H,SS=2000H,AX=1A2BH,BX=1200H

39、,CX=339AH,BP=1200H,SP=1352H,SI=1354H,(11350H)=0A5H,(11351H)3CH,(11352H)=0FFH,(11353H)=26H,(11354H)=52H,(11355H)=0E7H,(126A4H)=9DH,(126A5H)=16H,(21350H)=88H,(21351H)=51H,求以下各指令执行后的值。求以下各指令执行后的值。(1)MOV AX,1352H AX=?答:答:AX=1352H2023/2/2543第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自

40、动控制系 陈玮陈玮例题例题设设DS=1000H,SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1352H,SI=1354H,(11350H)=0A5H,(11351H)3CH,(11352H)=0FFH,(11353H)=26H,(11354H)=52H,(11355H)=0E7H,(126A4H)=9DH,(126A5H)=16H,(21350H)=88H,(21351H)=51H,求以下各指令执行后的值。求以下各指令执行后的值。(2)MOV AX,1352H AX=?答:答:EA=1352H,DS=1000H,内存单元地址内存单元地址=DS

41、10H+EA=11352H,所以,所以,AX=26FFH2023/2/2544第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮例题例题设设DS=1000H,SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1352H,SI=1354H,(11350H)=0A5H,(11351H)3CH,(11352H)=0FFH,(11353H)=26H,(11354H)=52H,(11355H)=0E7H,(126A4H)=9DH,(126A5H)=16H,(213

42、50H)=88H,(21351H)=51H,求以下各指令执行后的值。求以下各指令执行后的值。(3)MOV 0150HBX,CH (11350H)=?(?(11351H)=?答:答:因为因为 EA=BX+0150H=1350H,CH=33H,内存单元地址内存单元地址=DS10H+1350H=11350H,所以,(所以,(11350H)=33H,(11351H)=3CH2023/2/2545第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮例题例题设设DS=1000H,SS=2000H,AX=1A2BH

43、,BX=1200H,CX=339AH,BP=1200H,SP=1352H,SI=1354H,(11350H)=0A5H,(11351H)3CH,(11352H)=0FFH,(11353H)=26H,(11354H)=52H,(11355H)=0E7H,(126A4H)=9DH,(126A5H)=16H,(21350H)=88H,(21351H)=51H,求以下各指令执行后的值。求以下各指令执行后的值。(4)MOV AX,0150HBP AX=?答:答:因为因为 EA=BP+0150H=1350H,内存单元的地址内存单元的地址=SS10H+1350H=21350H所以,所以,AX=5188H20

44、23/2/2546第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮使用使用MOV的的注意点注意点(1)两个操作数的类型必须一致;)两个操作数的类型必须一致;(2)两个操作数不能同时为存储器操作数两个操作数不能同时为存储器操作数;(3)不能用)不能用CS做目的操作数;做目的操作数;(4)不允许用立即数做目的操作数;)不允许用立即数做目的操作数;(5)不允许用立即数直接向段寄存器传送数据;)不允许用立即数直接向段寄存器传送数据;(6)不允许在段寄存器之间直接传送数据;)不允许在段寄存器之间直接传送数据

45、;传送指令不影响标志位!传送指令不影响标志位!2023/2/2547第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮两个操作数不能同时都是存储器操作数两个操作数不能同时都是存储器操作数 如图所示,如果想将(如图所示,如果想将(21233H)的内容)的内容传送到(传送到(21235H),必须通过寄存器中转。),必须通过寄存器中转。通过两条指令实现:通过两条指令实现:MOV AH,123321233H20000H当前数据段当前数据段A1H21235HFFH内存单元地址内存单元地址 内存单元内容内存单元

46、内容21234HAHFFHFFHMOV 1235,AH2023/2/2548第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(2)PUSH和和POP指令(堆栈操作指令)指令(堆栈操作指令)堆栈段是用来保存数据和地址的一个存储区。堆栈段是用来保存数据和地址的一个存储区。堆栈堆栈段寄存器用段寄存器用SS表示,堆栈段栈顶指针是表示,堆栈段栈顶指针是SP(隐隐含)。含)。由于堆栈段只有一个出入口,堆栈操作按由于堆栈段只有一个出入口,堆栈操作按先入先入后出后出的方式工作。的方式工作。入栈指令入栈指令PUSH

47、 出栈指令出栈指令POP不影响标志位!不影响标志位!2023/2/2549第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮入栈指令入栈指令PUSH指令格式指令格式:PUSH src指令功能指令功能:SP2SP(隐含操作)隐含操作);将将字数据字数据src送到送到EA=SP的堆栈段内的堆栈段内;如:如:PUSH AX2023/2/2550第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮入栈指令入栈指令P

48、USH指令指令PUSH AX的执行情况的执行情况2023/2/2551第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮出栈指令出栈指令POP指令格式指令格式:POP dst指令功能指令功能:将:将EA=SP的的字字送到目的操作数送到目的操作数dst中,中,SP+2SP(隐含操作)。隐含操作)。如:如:POP BX例题例题2023/2/2552第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮例题例题设设

49、DS=1000H,SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1352H,SI=1354H,(11350H)=0A5H,(11351H)=3CH,(11352H)=0FFH,(11353H)=26H,(11354H)=52H,(11355H)=0E7H,(126A4H)=9DH,(126A5H)=16H,(21352H)=88H,(21353H)=51H,求以下各指令执行后的值。求以下各指令执行后的值。(1)POP AX AX=?SP=?答:答:出栈指令先传送字数据,出栈指令先传送字数据,因为因为SP=1352H,SS=2000H,字地址字地

50、址=SS10H+SP=21352H,所以,所以,AX=5188H,再修改再修改SP=SP+2=1354H2023/2/2553第三章第三章 8086/8088 8086/8088指令系统指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(3)XCHG指令指令指令格式指令格式:XCHG dst,src指令功能指令功能:dst src,8位、位、16位均可位均可如:如:XCHG AX,BX XCHG CL,BX+DI不影响标志位!不影响标志位!注意注意:不能使用段寄存器和立即数;不能使用段寄存器和立即数;不能在两个存储单元之间进行。不能在两个存储单元之间进行。2

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

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

本站为文档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