(中职)计算机原理模块三教学课件.ppt
《(中职)计算机原理模块三教学课件.ppt》由会员分享,可在线阅读,更多相关《(中职)计算机原理模块三教学课件.ppt(202页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、YCF正版可修改PPT(中职)计算机原理模块三教学课件模块模块3 指令系统指令系统任务任务1 指令格式指令格式3.1.1 指令前缀指令前缀3.1.2 指令中各字段的意义指令中各字段的意义任务任务2 8086寻址方式寻址方式3.2.1 数据类型数据类型3.2.2 寻址方式寻址方式任务任务3 8086指令系统指令系统3.3.1 数据传送类指令数据传送类指令下一页下一页模块模块3 指令系统指令系统3.3.2 地址传送指令地址传送指令3.3.3 算术运算类指令算术运算类指令3.3.4 控制转移类指令控制转移类指令3.3.5 处理器控制类指令处理器控制类指令3.3.6 逻辑运算与移位类指令逻辑运算与移位
2、类指令任务任务4 汇编语言简述汇编语言简述3.4.1 汇编语言及语句格式汇编语言及语句格式3.4.2 汇编语言程序结构汇编语言程序结构下一页下一页上一页上一页模块模块3 指令系统指令系统3.4.3 常用伪指令常用伪指令3.4.4 宏指令宏指令3.4.5 条件汇编条件汇编3.4.6 保护方式编程指令保护方式编程指令3.4.7 与保护方式程序接口与保护方式程序接口3.4.8 汇编语言程序上机过程汇编语言程序上机过程3.4.9 顺序程序顺序程序3.4.10 循环程序循环程序3.4.11 分支程序设计分支程序设计下一页下一页上一页上一页模块模块3 指令系统指令系统3.4.12 子程序设计子程序设计3.
3、4.13 DOS调用程序设计调用程序设计上一页上一页模块模块3 指令系统指令系统从科学发展的角度,对从科学发展的角度,对Intel新增加的指令也进行了介绍。从新增加的指令也进行了介绍。从每一条指令的功能和操作,可以进一步领会微机硬件的操作每一条指令的功能和操作,可以进一步领会微机硬件的操作过程。过程。模块模块3将以将以Intel指令系统为背景对指令格式、指令功能进行指令系统为背景对指令格式、指令功能进行描述,对从描述,对从8086到到Pentium的指令系统中的常用的一些指的指令系统中的常用的一些指令有选择地、分门别类地进行了说明。令有选择地、分门别类地进行了说明。本模块的重点是指令格式和指令
4、的操作。本模块的重点是指令格式和指令的操作。返回返回任务任务1 指令格式指令格式指令由许多部分组成。在构成指令的这几部分中,只有操作指令由许多部分组成。在构成指令的这几部分中,只有操作码部分是必须存在的,其余各部分则要根据指令操作所涉及码部分是必须存在的,其余各部分则要根据指令操作所涉及的操作数类型以及操作数存放在何处等因素来决定取舍。的操作数类型以及操作数存放在何处等因素来决定取舍。任何一条机器指令都是由一组二进制代码构成的,通常又被任何一条机器指令都是由一组二进制代码构成的,通常又被进一步分成操作码部分和地址码部分,一般的指令格式如进一步分成操作码部分和地址码部分,一般的指令格式如图图3-
5、1所示。所示。Intel从从8086到到Pentium系列微处理器的指令都是由多字系列微处理器的指令都是由多字节组成的,一条指令可以由多个字节构成。指令的操作码表节组成的,一条指令可以由多个字节构成。指令的操作码表示指令所执行的操作,通常用指令的第一个字节表示。但由示指令所执行的操作,通常用指令的第一个字节表示。但由于一个字节所能表示的指令的条数有限,因此还会在指令的于一个字节所能表示的指令的条数有限,因此还会在指令的第二个字节中占用第二个字节中占用3位用作操作码。在一条指令中,除操作码位用作操作码。在一条指令中,除操作码之外的那些字节则被用来表示操作数的地址码。之外的那些字节则被用来表示操作
6、数的地址码。从从8086到到80286都是都是16位的微处理器,所以,它们的指位的微处理器,所以,它们的指令格式是令格式是16位的,如位的,如图图3-2所示。所示。下一页下一页返回返回任务任务1 指令格式指令格式Intel从从80386以后的各高档微处理器都是以后的各高档微处理器都是32位的微处理器,位的微处理器,它们所用的指令格式为如它们所用的指令格式为如图图3-3所示的所示的32位的指令格式。位的指令格式。初看起来,从初看起来,从8086到到Pentium的指令格式不尽相同,且比的指令格式不尽相同,且比较复杂。但这些指令却是很有规律的,而且较复杂。但这些指令却是很有规律的,而且16位的指令
7、格式位的指令格式与与32位的指令格式在位的指令格式在80386以上的高档微处理器上是兼容以上的高档微处理器上是兼容的。如果的。如果Intel的的32位微处理器运行的是位微处理器运行的是16位程序,则像位程序,则像32位的指令格式那样,必须带有指令前缀,且在实模式下进位的指令格式那样,必须带有指令前缀,且在实模式下进行操作,在行操作,在32位的微处理器上按位的微处理器上按16位的指令格式运行。位的指令格式运行。Pentium微处理器指令的一般格式如微处理器指令的一般格式如图图3-3所示,所示,Pentium微处理器的所有指令都是如微处理器的所有指令都是如图图3-3所示的指令格式所示的指令格式的子
8、集。由的子集。由图图3-3可知,一条指令由可任选的指令前缀可知,一条指令由可任选的指令前缀(可以可以是任何的次序是任何的次序),一个或两个原操作码字节,有可能要用的地,一个或两个原操作码字节,有可能要用的地址说明符址说明符(由由Mod R/M字节和按比例变址基地址字节和按比例变址基地址SIB字节构字节构成成),一个偏移量,一个偏移量(根据需要根据需要)和一个立即操作数数据字段和一个立即操作数数据字段(如如果需要果需要)等元素组成。等元素组成。下一页下一页返回返回上一页上一页任务任务1 指令格式指令格式3.1.1指令前缀指令前缀指令前缀是置于指令前面的一个或多个字节,它的作用是用指令前缀是置于指
9、令前面的一个或多个字节,它的作用是用来修改指令的操作。下面所列出的这来修改指令的操作。下面所列出的这4个指令前缀就是供应用个指令前缀就是供应用程序使用的。程序使用的。1.指令前缀指令前缀指令前缀并不经常出现,若出现,则由锁定前缀指令前缀并不经常出现,若出现,则由锁定前缀(LOCK)或一或一个重复前缀组成。个重复前缀组成。2.段的超前前缀段的超前前缀段的超前前缀用于显式地指定本条指令将使用段的超前前缀用于显式地指定本条指令将使用CS,SS,DS,ES,FS,GS这这6个段寄存器中的哪一个。用于代个段寄存器中的哪一个。用于代替替Pentium微处理器为本指令生成默认的段寄存器。微处理器为本指令生成
10、默认的段寄存器。3.操作数大小前缀操作数大小前缀指令默认的操作数大小是指令默认的操作数大小是16位或位或32位的,操作数大小前缀位的,操作数大小前缀用来在用来在32位和位和16位操作数之间进行切换。位操作数之间进行切换。下一页下一页返回返回上一页上一页任务任务1 指令格式指令格式4.地址大小前缀地址大小前缀在对存储器进行寻址操作时,微处理器既可以使用在对存储器进行寻址操作时,微处理器既可以使用16位地址,位地址,也可以使用犯位的地址。地址的大小决定了指令格式中偏移也可以使用犯位的地址。地址的大小决定了指令格式中偏移量的大小以及在计算有效地址时生成的偏移量的大小。量的大小以及在计算有效地址时生成
11、的偏移量的大小。3.1.2指令中各字段的意义指令中各字段的意义1.操作码字段操作码字段操作码字段占用操作码字段占用1个或个或2个字节。由操作码字段规定指令的操个字节。由操作码字段规定指令的操作性质,如操作数的类型作性质,如操作数的类型(是字节、字、还是双字是字节、字、还是双字)、操作数、操作数的传送方向的传送方向(是取自存储器,还是存入存储器是取自存储器,还是存入存储器)以及寄存器编以及寄存器编码或符号扩展等。码或符号扩展等。下一页下一页返回返回上一页上一页任务任务1 指令格式指令格式2.Mod R/M字段字段Mod R/M字段和字段和SIB字段是寻址方式说明字段。字段是寻址方式说明字段。Mo
12、d R/M是主寻址字节,由这个字节指定操作数是寄存器操作数是主寻址字节,由这个字节指定操作数是寄存器操作数还是存储器操作数。若是存储器操作数,则用这个字节中的还是存储器操作数。若是存储器操作数,则用这个字节中的一个字段来说明将要采用的寻址方式。其实,一个字段来说明将要采用的寻址方式。其实,ModR/M字字节由节由Mod字段字段(2位位)、Reg/OPcode字段字段(3位位)和和R/M字字段段(3位位)这样这样3个字段组成。个字段组成。Mod字段字段(2位位)和和R/M字段字段(3位位)这这5位可以构造成位可以构造成32个不个不同的值。具体地,它们可分别用于指示同的值。具体地,它们可分别用于指
13、示8个寄存器和个寄存器和24种变种变址方式址方式;Reg/OPcode字段字段(3位位)用来指定用来指定8个寄存器中的一个,个寄存器中的一个,或者用来作为操作码信息的或者用来作为操作码信息的3个补充位个补充位;R/M字段字段(3位位)用来指用来指定一个寄存器,指示出操作数的位置,或者用来作为寻址方定一个寄存器,指示出操作数的位置,或者用来作为寻址方式的一个组成部分,与式的一个组成部分,与Mod字段组合起来进行编码。字段组合起来进行编码。下一页下一页返回返回上一页上一页任务任务1 指令格式指令格式3.SIB字段字段SIB字段又被进一步分成字段又被进一步分成3个字段,分别是个字段,分别是SS字段字
14、段(2位位),Index字段字段(3位位)和和Base字段字段(3位位)。SS字段在进行按比例字段在进行按比例变址操作时用来当比例因子,变址操作时用来当比例因子,Index字段用来指示使用的是字段用来指示使用的是哪一个变址寄存器,而用哪一个变址寄存器,而用Base字段则指示基地址寄存器。字段则指示基地址寄存器。4.偏移量偏移量寻址方式一经确定,偏移量也就随之确定了,一个用寻址方式一经确定,偏移量也就随之确定了,一个用8位、位、16位或位或32位的带符号的整数表示的偏移量也就被放入了指位的带符号的整数表示的偏移量也就被放入了指令之中。令之中。5.立即数立即数立即数就是包括在指令中的一个立即数就是
15、包括在指令中的一个8位、位、16位或位或32位的操作数。位的操作数。返回返回上一页上一页任务任务2 8086寻址方式寻址方式在指令中,操作数或操作数的地址可用多种方式来表示,统在指令中,操作数或操作数的地址可用多种方式来表示,统称为寻址方式。同一条指令可有不同的寻址方式,以说明不称为寻址方式。同一条指令可有不同的寻址方式,以说明不同的操作对象。同的操作对象。3.2.1数据类型数据类型在计算机中,数据有多种类型。一种是指令处理的对象,称在计算机中,数据有多种类型。一种是指令处理的对象,称为操作数为操作数;另一种表示指令,称为指令字另一种表示指令,称为指令字;第三种是存储器单第三种是存储器单元的序
16、号,称为地址。其中,操作数又分为两种,一种是参元的序号,称为地址。其中,操作数又分为两种,一种是参加运算或由计算机处理的对象,称为数据操作数,简称为数加运算或由计算机处理的对象,称为数据操作数,简称为数据据;另一种用来表示转移指令的目标地址,称为转移地址操作另一种用来表示转移指令的目标地址,称为转移地址操作数,简称为转移地址。数,简称为转移地址。下一页下一页返回返回任务任务2 8086寻址方式寻址方式1.数据操作数数据操作数根据操作数存放的位置或者存放方式,常见的数据操作数有根据操作数存放的位置或者存放方式,常见的数据操作数有3种,一种是在指令中直接给出,称为立即数种,一种是在指令中直接给出,
17、称为立即数;另一种存放在寄另一种存放在寄存器中,称为寄存器数据存器中,称为寄存器数据;第三种存放在存储器中,称为存储第三种存放在存储器中,称为存储器数据。器数据。2.转移地址操作数转移地址操作数转移地址操作数用来表示转移指令的目标地址。其表示方式转移地址操作数用来表示转移指令的目标地址。其表示方式可以在转移指令中直接给出,也可以根据某一寻址方式经计可以在转移指令中直接给出,也可以根据某一寻址方式经计算后求得。算后求得。3.2.2寻址方式寻址方式根据操作数的两大类型根据操作数的两大类型,8086微处理器的寻址方式也可分为两微处理器的寻址方式也可分为两大类型,即数据寻址方式和转移地址寻址方式。大类
18、型,即数据寻址方式和转移地址寻址方式。下一页下一页返回返回上一页上一页任务任务2 8086寻址方式寻址方式1.数据寻址方式数据寻址方式数据寻址方式有以下数据寻址方式有以下7种类型。种类型。1)立即数寻址立即数寻址立即数是指令操作数域直接给出参加运算或者进行某种操作立即数是指令操作数域直接给出参加运算或者进行某种操作的数据,又称即时数。它跟在操作码之后作为指令的一部分的数据,又称即时数。它跟在操作码之后作为指令的一部分直接存放在代码段中,有直接存放在代码段中,有8位、位、16位等形式。对于位等形式。对于16位数据,位数据,低字节在先,高字节在后。举例如下。低字节在先,高字节在后。举例如下。MOV
19、 AL,5执行后执行后(AL)=O5H,其示意如,其示意如图图3-4(a)所示。所示。又如,指令又如,指令MOV AX,2790H执行后执行后(AX)=2790H,其示意如,其示意如图图3-4(b)所示。所示。下一页下一页返回返回上一页上一页任务任务2 8086寻址方式寻址方式立即数只能是源操作数,不能是目的操作数。这种寻址方式立即数只能是源操作数,不能是目的操作数。这种寻址方式执行速度快,但是灵活性差,主要用来对寄存器或存储器赋执行速度快,但是灵活性差,主要用来对寄存器或存储器赋值。值。2)寄存器寻址寄存器寻址寄存器寻址是指令操作数域给出存放操作数的寄存器。对于寄存器寻址是指令操作数域给出存
20、放操作数的寄存器。对于8位操作数,寄存器可以是位操作数,寄存器可以是AL,AH,BL,BH,CL,CH,DL,DH;对于对于16位操作数,寄存器可以是位操作数,寄存器可以是AX,BX,CX,DX,SI,DI,SP,BP。举例如下。举例如下。MOV BX,AX其示意如其示意如图图3-5所示。由于操作数在寄存器中,因此与存储所示。由于操作数在寄存器中,因此与存储器寻址相比,执行速度快。器寻址相比,执行速度快。下一页下一页返回返回上一页上一页任务任务2 8086寻址方式寻址方式3)直接寻址直接寻址直接寻址是指令操作数域给出存放操作数地址的偏移量,也直接寻址是指令操作数域给出存放操作数地址的偏移量,也
21、称为有效地址,常用称为有效地址,常用EA表示。如果操作数存放在数据段以外表示。如果操作数存放在数据段以外的其他段中,应在指令中指定段寄存器。直接寻址示意如的其他段中,应在指令中指定段寄存器。直接寻址示意如图图3-6所示。举例如下。所示。举例如下。MOV BX,2000 H设执行前设执行前(DS)=4000 H,EA=2000 H,(42000 H)=1 FH,(42001 H)=75 H,则执行后,则执行后(BX)=751FH,其示意如,其示意如图图3-7所示。所示。在汇编语言中,也可以使用符号地址代替数值地址。举例如在汇编语言中,也可以使用符号地址代替数值地址。举例如下。下。MOV AX,V
22、ALUE其中,其中,VALUE表示存放操作数单元的符号地址。符号地址出表示存放操作数单元的符号地址。符号地址出现在指令中时,可省略方括号,例如,现在指令中时,可省略方括号,例如,MOV AX,DATA。下一页下一页返回返回上一页上一页任务任务2 8086寻址方式寻址方式4)寄存器间接寻址寄存器间接寻址寄存器间接寻址是指令操作数域给出存放操作数地址偏移量寄存器间接寻址是指令操作数域给出存放操作数地址偏移量的寄存器。其寄存器主要有的寄存器。其寄存器主要有BX,BP,SI和和DI。如果没有特别。如果没有特别说明,使用寄存器说明,使用寄存器BX,SI,DI寻址时默认操作数在数据段中,寻址时默认操作数在
23、数据段中,即段寄存器即段寄存器DS。使用。使用BP寻址时,默认操作数在堆栈段中,寻址时,默认操作数在堆栈段中,即段寄存器即段寄存器SS。物理地址的生成如。物理地址的生成如图图3-8所示。举例如下。所示。举例如下。MOV AX,BX设执行前设执行前(DS)=3000H,(BX)=3000H,则执行后,则执行后(AX)=2C7DH,其示意如,其示意如图图3-9所示。所示。又如,指令又如,指令MOV AX,ES:SI,其段寄存器为,其段寄存器为ES,表示,表示数据在附加段中。数据在附加段中。下一页下一页返回返回上一页上一页任务任务2 8086寻址方式寻址方式5)寄存器相对寻址寄存器相对寻址寄存器相对
24、寻址是指令操作数域给出存放基地址的基址寄存寄存器相对寻址是指令操作数域给出存放基地址的基址寄存器和一个偏移量,基地址与偏移量相加,作为操作数地址的器和一个偏移量,基地址与偏移量相加,作为操作数地址的偏移地址,即有效地址偏移地址,即有效地址EA。段地址左移。段地址左移4位,与有效地址相位,与有效地址相加,生成加,生成20位的物理地址,如位的物理地址,如图图3-10所示。举例如下。所示。举例如下。MOV AX,DATADI设执行前设执行前(DS)=3000H,(DI)=2000H,DATA=300H,则,则执行后执行后(AX)=201AH,其意如,其意如图图3-11所示。所示。6)基址加变址寻址基
25、址加变址寻址基址加变址寻址是指令操作数域给出一个存放基地址的基址基址加变址寻址是指令操作数域给出一个存放基地址的基址寄存器和一个存放变址基值的变址寄存器,两个寄存器中的寄存器和一个存放变址基值的变址寄存器,两个寄存器中的数据相加,作为操作数的偏移地址,即有效地址数据相加,作为操作数的偏移地址,即有效地址EA。基址寄。基址寄存器主要有存器主要有BX,BP,变址寄存器主要有,变址寄存器主要有SI和和DI。其中,基。其中,基址寄存器址寄存器BX默认段寄存器默认段寄存器DS基址寄存器基址寄存器BP默认段寄存器默认段寄存器SS,允许使用段跨越,其示意如,允许使用段跨越,其示意如图图3-12所示。所示。下
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 原理 模块 三教 课件
限制150内