




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、什么是指令系统u计算机的指令系统就是指该计算机能够计算机的指令系统就是指该计算机能够执行的全部指令的集合。执行的全部指令的集合。u每种计算机都有它支持的指令集合。每种计算机都有它支持的指令集合。 u16位位8086指令系统是整个指令系统是整个Intel 80 x86 系列微处理器指令系统的基础系列微处理器指令系统的基础。u本章内容是本课程的一个关键内容。本章内容是本课程的一个关键内容。u本章的重点是理解本章的重点是理解80868086常用指令的功能常用指令的功能u本章的关键是熟悉本章的关键是熟悉80868086的寄存器组的寄存器组u本章的难点是本章的难点是80868086的各种寻址方式的各种寻
2、址方式4.1 汇编语言指令格式由四部分组成:由四部分组成:标号:标号:表示该指令在主存中的逻辑地址,后面必须表示该指令在主存中的逻辑地址,后面必须 跟冒号,是由字母开头后跟字母或数字的字跟冒号,是由字母开头后跟字母或数字的字 符串,取名不允许出现指令助记符符串,取名不允许出现指令助记符指令助记符:指令助记符:表示要执行何种操作表示要执行何种操作操作数:操作数:规定参与操作的数或数所在地址规定参与操作的数或数所在地址注释:注释:通常是对该指令或这段程序功能的说明通常是对该指令或这段程序功能的说明标号标号: : 指令助记符指令助记符 操作数操作数 ; ;注释注释u实际指令由操作码和操作数两部分构成
3、实际指令由操作码和操作数两部分构成 操作码说明计算机要执行哪种操作,如传送、运算、移位、操作码说明计算机要执行哪种操作,如传送、运算、移位、跳转等操作,它是指令中不可缺少的组成部分。跳转等操作,它是指令中不可缺少的组成部分。 操作数是指令执行的参与者,即各种操作的对象。有些指令操作数是指令执行的参与者,即各种操作的对象。有些指令不需要操作数,通常的指令都有一个或两个操作数,也有个不需要操作数,通常的指令都有一个或两个操作数,也有个别指令有别指令有3 3个甚至个甚至4 4个操作数。有多个操作数时,中间由逗号个操作数。有多个操作数时,中间由逗号分开。分开。 操作数操作数1, 称为目的操作数称为目的
4、操作数 dest,它不仅可以作为指令操,它不仅可以作为指令操 作的一作的一 个源对象,还用来存放指令操作的结果;个源对象,还用来存放指令操作的结果; 操作数操作数2,称为源操作数,称为源操作数 src,它表示参与指令操作的一个,它表示参与指令操作的一个 源对象。源对象。 指令中的操作码和操作数操作码操作码 操作数操作数1, 操作数操作数2u每种指令的每种指令的操作码操作码: 用一个唯一的助记符表示(英文缩写),用一个唯一的助记符表示(英文缩写), 对应着一个二进制编码的机器指令。对应着一个二进制编码的机器指令。u指令中的指令中的操作数操作数: 可以是一个具体的数值(立即数);可以是一个具体的数
5、值(立即数); 可以是存放数据的寄存器;可以是存放数据的寄存器; 可以用多种方式指明寻址单元在存储器中的地址。可以用多种方式指明寻址单元在存储器中的地址。指令中的操作码和操作数指令中的操作码和操作数(指令示例)u MOV指令的功能是将源操作数指令的功能是将源操作数src传送至传送至目的操作数目的操作数dest MOV dest , src ;destsrc MOV AL, 05H ;AL05HMOV BX, AX;BXAXMOV AX, SI;AXDS:SIMOV AX, BP+06H ;AXSS:BP+06HMOV AX, BX+SI ;AXDS:BX+SI给出立即寻址方式需要的数值本身给出
6、立即寻址方式需要的数值本身给出某些寻址方式需要的对基地址的偏移量给出某些寻址方式需要的对基地址的偏移量表明采用的寻址方式(表表明采用的寻址方式(表4-1)1/2字节0/1字节0/1/2字节0/1/2字节操作码mod reg r/m2 3 3位移量立即数操作数操作数8086指令的机器代码(Machine Code)格式D7D6D5D4D3D2D1D0OPCODEdw (操作码字节)操作码字节)d=0d=0,REGREG域指定寄存器为源操作数;域指定寄存器为源操作数;d=1d=1,REGREG域指定寄存器为目的操作数。域指定寄存器为目的操作数。w=0w=0,操作数为操作数为8 8位二进制数,字节操
7、作;位二进制数,字节操作;w=1w=1,操作数为操作数为1616位二进制数,字操作。位二进制数,字操作。MODMOD:方式域方式域REGREG:寄存器域寄存器域R/MR/M:寄存器寄存器/ /存储器域存储器域D7D6D5D4D3D2D1D0MODREGR/M(寻址方式字节)(寻址方式字节)1/2字节0/1字节0/1/2字节0/1/2字节操作码mod reg r/m2 3 3位移量立即数8086指令的机器代码(Machine Code)格式标准机器代码示例mov ax,BP+0 mov ax,BP+0 ;机器代码是;机器代码是 8B 46 008B 46 00u前一个字节 8B (100010
8、11 1)是操作码(含d=1表示寄存器为目的操作数,w1表示字操作)u中间一个字节46(01 000 110)是 “mod reg r/m”字节ureg000表示目的操作数为AXumod01和r/m110表示源操作数为BP+D8u 最后一个字节就是8位位移量D8001/2字节0/1字节0/1/2字节0/1/2字节操作码mod reg r/m位移量立即数标准机器代码示例例例: : 将指令将指令“ MOV MOV BX+DI-6BX+DI-6,CL CL ”写成机器码格式写成机器码格式。解 :这是一条寄存器送存储器的指令。由附录A可知该指令的格式如下,是一条3字节指令: 100010 d w MO
9、D REG R/M disp8u因为(REG域指出的)寄存器是源操作数,所以d0;因为是字节操作,所以w0。u由CL寄存器的编码知REG001。u因为目的操作数是存储器且带有8位位移量,所以MOD01。u寻址方式BX+DI+disp8的R/M=001。u位移量为(-6),其补码是11111010。 该指令的机器码是:10001000 01 001 001 11111010u指令系统设计了多种操作数的来源,寻找操作数的过程就是操作数的寻址方式。u操作数采取哪一种寻址方式,会影响机器运行的速度和效率。如何寻址一个操作数对程序的设计来讲很重要。 一、立即数寻址方式一、立即数寻址方式 二、寄存器寻址方
10、式二、寄存器寻址方式 三、存储器寻址方式三、存储器寻址方式 四、四、I/OI/O端口寻址方式端口寻址方式4.2 8086的寻址方式8086指令中操作数的类型(以操作数存放地点 分类)可以有以下几种: 一、立即数寻址方式u指令中的操作数直接存放在机器代码中,紧指令中的操作数直接存放在机器代码中,紧跟在操作码之后(操作数作为指令的一部分跟在操作码之后(操作数作为指令的一部分存放在操作码之后的主存单元中)。存放在操作码之后的主存单元中)。u这种操作数被称为立即数这种操作数被称为立即数imm它可以是它可以是8位数值位数值i8(00HFFH),),也可以是也可以是16位数值位数值i16(0000HFFF
11、FH)。)。u立即数寻址方式常用来给寄存器赋值。立即数寻址方式常用来给寄存器赋值。MOV AL,05H;AL05HMOV AX,3064H;AX3064H.操作码操作码05H05H代代码码段段05H05H.ALAL指指令令一、立即数寻址方式二、寄存器寻址方式u操作数存放在操作数存放在CPU的内部寄存器中,指令中的内部寄存器中,指令中给出了寄存器名称,寄存器可以是:给出了寄存器名称,寄存器可以是:u8位寄存器位寄存器reg8:AH/AL/BH/BL/CH/CL/DH/DL;u16位寄存器位寄存器reg16:AX/BX/CX/DX/SI/DI/BP/SP;u4个段寄存器个段寄存器seg:CS/DS
12、/SS/ES。MOV AL, BL ;ALBLMOV SS,AX;SSAXSSSSAXAX3064H3064H3064H3064H1234H1234H3064H3064H二、寄存器寻址方式三、存储器寻址方式u指令中给出操作数的主存地址信息(偏移地址,称指令中给出操作数的主存地址信息(偏移地址,称之为有效地址之为有效地址EA),而段地址在默认的或用段超),而段地址在默认的或用段超越前缀指定的段寄存器中。越前缀指定的段寄存器中。u8086设计了多种存储器寻址方式设计了多种存储器寻址方式 1、直接寻址、直接寻址 2、寄存器间接寻址、寄存器间接寻址 3、基址寻址和变址寻址、基址寻址和变址寻址 4、基址
13、加变址寻址、基址加变址寻址 5、相对基址变址寻址、相对基址变址寻址 6、固定寻址(隐含寻址)、固定寻址(隐含寻址)1 1、直接寻址方式、直接寻址方式u有效地址在指令中直接给出有效地址在指令中直接给出 有效地址有效地址16d或(或(10H) (DS)+EAu默认的段地址在默认的段地址在DS段寄存器,可使用段超越前缀段寄存器,可使用段超越前缀改变。此时应在指令中改变。此时应在指令中指定段超越(可以是指定段超越(可以是CS,SS,ES)。)。MOVAX,3100H ;AXDS:3100HMOVAX,ES:3100H;AXES:3100H 1 1、直接寻址方式、直接寻址方式2 2、寄存器间接寻址方式、
14、寄存器间接寻址方式u有效地址存放在基址寄存器有效地址存放在基址寄存器BX、BP或变址寄存或变址寄存器器SI、DI中,此时中,此时寄存器必须加方括号寄存器必须加方括号。u使用使用BX、SI、DI时默认的段地址在时默认的段地址在DS段寄存器,段寄存器,使用使用BP时默认的段地址在时默认的段地址在SS段寄存器,可使用段段寄存器,可使用段超越前缀超越前缀 有效地址有效地址=16d (DS)+(BX/SI/DI) 有效地址有效地址=16d (SS)+(BP)MOV AX, SI ;AXDS:SIMOV AX, BP;AXSS:BP MOV BX, AX;区别;区别 MOV BX,AX2 2、寄存器间接寻
15、址方式、寄存器间接寻址方式3 3、基址寻址、变址寻址、基址寻址、变址寻址u有效地址是寄存器内容与有符号有效地址是寄存器内容与有符号8位或位或16位位移量之和,寄存器可以是位位移量之和,寄存器可以是BX、BP或或SI、DI。 有效地址有效地址BX/BP/SI/DI8/16位位移量位位移量u段地址对应段地址对应BX/SI/DI寄存器默认是寄存器默认是DS,对,对应应BP寄存器默认是寄存器默认是SS;可用段超越前缀;可用段超越前缀改变。改变。MOV AX,DI+06H ;AXDS:DI+06HMOV AX,BP+06H ;AXSS:BP+06H3 3、基址寻址、变址寻址、基址寻址、变址寻址4 4、基
16、址加变址寻址方式、基址加变址寻址方式u有效地址由基址寄存器(有效地址由基址寄存器(BX或或BP)的内容)的内容加上变址寄存器(加上变址寄存器(SI或或DI)的内容构成:)的内容构成:有效地址有效地址BX/BPSI/DIu段地址对应段地址对应BX基址寄存器默认是基址寄存器默认是DS,对应,对应BP基址寄存器默认是基址寄存器默认是SS;可用段超越前缀;可用段超越前缀改变。改变。MOV AX,BX+SI;AXDS:BX+SIMOV AX,BP+DI;AXSS:BP+DIMOV AX,DS:BP+DI;AXDS:BP+DI4 4、基址变址寻址方式、基址变址寻址方式5 5、相对基址变址寻址方式、相对基址
17、变址寻址方式u有效地址是基址寄存器(有效地址是基址寄存器(BX/BP)、变址寄存器)、变址寄存器(SI/DI)与一个)与一个8位或位或16位位移量之和:位位移量之和:有效地址有效地址EABX/BPSI/DI8/16位位移量位位移量u段地址对应段地址对应BX基址寄存器默认是基址寄存器默认是DS,对应,对应BP基址基址寄存器默认是寄存器默认是SS;可用段超越前缀改变。;可用段超越前缀改变。MOV AX, BX+SI+06H ;AXDS:BX+SI+06H注意:(注意:(1)位移量可用符号表示)位移量可用符号表示 (2)同一寻址方式有多种表达方式)同一寻址方式有多种表达方式5 5、相对基址变址寻址方
18、式、相对基址变址寻址方式6 6、u8086的单操作数指令,器操作是规定在的单操作数指令,器操作是规定在CPU中某个中某个固定的寄存器中进行,这个寄存器又被隐含在操作固定的寄存器中进行,这个寄存器又被隐含在操作码中,因此,这种寻址方式的指令大多为单字节指码中,因此,这种寻址方式的指令大多为单字节指令。令。u例:加减法的十进制调整指令例:加减法的十进制调整指令DAA,其操作总是固,其操作总是固定在定在寄存器中进行;寄存器中进行;u例:乘除法指令虽然不是单字节指令,但被乘数、例:乘除法指令虽然不是单字节指令,但被乘数、被除数总是放在被除数总是放在或或中中四、I/O端口寻址方式u专用指令专用指令 IN
19、 IN 、OUTOUTu直接端口寻址直接端口寻址:端口地址直接由指令给出,:端口地址直接由指令给出,端口地址范围端口地址范围0 00FFH (256)0FFH (256)u例:例: IN AL, 27HIN AL, 27H OUT 65H, AH OUT 65H, AHu间接端口寻址间接端口寻址:端口地址由寄存器端口地址由寄存器DXDX给出,给出,端口地址范围端口地址范围0 00FFFFH 0FFFFH u例:例: IN AL, DXIN AL, DX OUT DX, AH OUT DX, AH位移量可用符号表示:位移量可用符号表示:u在寄存器相对寻址或相对基址变址寻址在寄存器相对寻址或相对基址变址寻址方式中,位移量可用符号表示:方式中,位移量可用符号表示:MOV AX,SI+COUNT ;COUNT事先定义有数值事先定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗决策支持系统在药物研发中的应用
- 医疗设备维修中的质量风险控制
- 2025年高一政治老师工作总结模版
- 商户调研分析和总结模版
- 代销合同范例版本
- 中夫妻拆迁合同范例
- 小儿惊厥的临床护理
- 医疗级汽车安全系统教育普及
- 医疗技术进步与人才培养的互动关系
- 走进丽江第二课时教学设计
- T-WSJD 21-2022 内镜储存干燥柜卫生要求
- 煤矿井下辅助运输设计规范
- 2025-2030中国聚丙烯三元共聚物行业市场发展趋势与前景展望战略研究报告
- 2025年上半年苏州太仓临港投资发展集团限公司公开招聘工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 工业自动化控制系统调试与维护题库
- 2025届广东省佛山市高三语文二模高分范文12篇:“成长最大的悲哀是失去了想象力”
- 2025年合肥高新美城物业有限公司招聘30人笔试参考题库附带答案详解
- 2025届陕西省高考适应性检测(三)物理试题+答案
- 西安职业技术学院招聘笔试真题2024
- 2025年动车组机械师(高级)职业技能鉴定参考试题库(含答案)
- 23G409先张法预应力混凝土管桩
评论
0/150
提交评论