《指令系统课堂》ppt课件

上传人:tian****1990 文档编号:75827653 上传时间:2019-02-01 格式:PPT 页数:180 大小:4.14MB
返回 下载 相关 举报
《指令系统课堂》ppt课件_第1页
第1页 / 共180页
《指令系统课堂》ppt课件_第2页
第2页 / 共180页
《指令系统课堂》ppt课件_第3页
第3页 / 共180页
《指令系统课堂》ppt课件_第4页
第4页 / 共180页
《指令系统课堂》ppt课件_第5页
第5页 / 共180页
点击查看更多>>
资源描述

《《指令系统课堂》ppt课件》由会员分享,可在线阅读,更多相关《《指令系统课堂》ppt课件(180页珍藏版)》请在金锄头文库上搜索。

1、机电学部,王 欣,微机原理及接口技术 Microcomputer Principle and Interface Technology,1、8086指令的特点,2、8086寻址方式,3、 8086指令格式及数据类型,第3章 8086指令系统,本节主要内容,4、8086指令集,了解8086指令的特点; 掌握8086寻址方式; 掌握8086指令集。,本节教学要求,计算机工作的基本原理:是存储程序并执行程序,要让计算机完成各项任务,就应设计各种程序。,什么是程序?,完成某项特定任务的指令的集合。,计算机按程序一条一条地依次执行指令,从而完成指定任务。,程序设计语言:,高级语言:,汇编语言:,机器语言

2、:,用二进制代码表示指令和数据。,用助记符表示指令操作功能,用标号表示操作对象,独立于机器,面向过程,接近自然语言和数学表达式.,汇编语言程序的每一条语句都与计算机的某一条指令对应,所以必需熟悉指令系统。,指令:让计算机完成某种操作的命令称为指令。内容包括完成什么操作,操作数的来源,结果的存放,以及下一条指令的位置等等。 指令系统:指令的集合即为指令系统。,不同的计算机有不同的指令系统,汇编语言的指令语句 都与机器指令一一对应,汇编语言通过汇编程序将其翻译成 机器指令代码(目标代码),让CPU执行某种操作。,灵活的指令格式 指令格式的一对多形式 较强的运算指令 指令有较强的寻址能力 指令有处理

3、多种数据的能力,指令 = 操作码 + 操作数 操作码表示了该指令所能执行的操作功能。 操作数表示参加操作的数的本身或操作数所在的地址。,8086指令格式: :任选项。,标号:,操作码助记符,第一操作数,,第二操作数,;注释,标号:操作码 操作数1,操作数2;注释 换行表示一条指令结束。 例: LOOP: MOV AX,3E40H ;取参数,1.标号:指令的符号地址 2.操作码:指明指令功能,3.操作数:指令操作对象 数据、地址、寄存器名及约定符号 4.注释行:说明指令在程序中的作用 操作码和操作数是指令主体。,MOV move传送 CMP compare比较 ANDand logic与逻辑运算

4、 XORexclusive or异或运算 MULMultiply乘法 RORrotate right右循环 JMP jump跳转 RETreturn 子程序返回,计算机的指令包括:操作码 操作数 操作的性质 操作的对象 存放在 寄存器、存储器、I/O端口地址、立即数(由寻址方式决定) 寻址方式:指令中说明操作数所在地址的方法。,1 立即寻址 (Immediate Addressing) 含义: 操作数是立即数(即8位或16位的常数),直接包含在指令中。 特点: 翻译成机器码时,立即数是指令的一部分,紧跟在操作码之后存 放在代码段内。在取出指令的同时也就取出了操作数,立即有操作数 可用,所以称之

5、为立即寻址。 注:如果立即数是l6位数:高字节代码段的高地址单元, 低字节低地址单元; 作用:常用于给寄存器赋初值。,指令:MOV AL,07H,指令:MOV AX,1A2BH,立即数只能做源操作数。 ()MOV 3,AL 源、目的操作数的字长必须一致。 ()MOV AH, 3064H,2 寄存器寻址 (Register Addressing),作用:寄存器之间传递数据。 例3.4 MOV DX,AX 解: (AX)送到DX寄存器中。(AX内容不变) (又例: MOV AL,AH) 注意:一条指令中,既可以对源操作数采用寄存器 寻址,也可以对目的操作数采用寄存器寻址,也可二 者均采用寄存器寻址

6、。 源操作数的长度必须与目的操作数致。,含义: 操作数存放在CPU内部寄存器中,寄存器的名称由指令指定。,特点: 16位操作数:寄存器可以是AX、BX、CX、DX、SI、DI、SP和BP等。 8位操作数:寄存器AH、AL、BH、BL、CH、CL、DH和DL。,采用寄存器寻址时,操作就在CPU内部进行,不需要使用总线周期,速度快。,3 直接寻址 (Direct Addressing),含义: 存储单元的有效地址EA(即:操作数的偏移地址)直接由指令给出。 特点: 机器码中,有效地址存放在代码段中指令的操作码之后,而该地址单元中的数据总是存放在存储器中。须先求出操作数的物理地址,再从存储器中取得操

7、作数。 操作数的物理地址16DS EA 作用:实现对存储单元的读/写操作。,接下来的几种寻址方式,用于在存储器中寻找操作数,即指令的操作数在存储器中,要通过寻址方式求出物理地址才能获得操作数。,例3.6 MOV AX,2000H 解:设DS = 3000H,由指令得:EA = 2000H (16位逻辑地址) 物理地址 = 163000H 2000H = 32000H (20位,20根地址线); 设32000H地址单元的内容为1234H,即(32000H)= 1234H 则: AX = 1234H (注:如用AL替代AX,则AL=34H),1、MOV AX,2000H,MOV AX,DS:200

8、0H,如果指令中没有指明操作数存放在哪一段,则系统默认为数据段DS,如果要对除DS以外的其他段寄存器(代码段、堆栈段和附加段)所指 出的存储区进行直接寻址,应在指令中指定段寄存器-段超越前缀。 如:MOV AX,2000H ;数据段(可省略DS ) MOV BX,ES:3000H ;操作数在附加段ES (不能省略ES ),2、,注:,与指令MOV AX,2000H的区别?,4 寄存器间接寻址 (Register Indirect Addressing),特点: 可以使用的寄存器有:基址寄存器BX、 BP,变址寄存器SI、DI 。 如果使用BX、SI、DI寄存器,则默认操作数在数据段中, 如果使

9、用BP寄存器,则默认操作数在堆栈段中。,含义:操作数的有效地址放在寄存器中。,有效地址EA由寄存器(BX,BP,SI,DI)间接给出。 当EA(BX)/(SI)/(DI)时:PA(物理地址) (DS)16EA 当EA(BP)时:PA(SS)16EA,作用:将存储器单元的有效地址存放在寄存器中。,注意: 关于默认段: 指定寄存器BX、SI或DI,默认操作数存放在数据段DS中; (DS:BX,SI,DI) 指定寄存器BP,默认操作数存放在数据段SS中; (SS:BP) 可以使用段超越前缀来从默认段以外的段中取得数据; 例 MOV BX,ES:SI,MOV AX, BX ;源操作数在数据段,EABX

10、,PADS16EA MOV AX, DI ;源操作数在数据段,EADI,PADS16EA MOV SI,AL ;目的操作数在数据段,EASI,PADS16EA MOV BP,DI ;目的操作数在堆栈段,EABP,PASS16EA,不允许使用AX、CX、DX、SP存放EA:()MOV AX, CX 源、目的操作数不能同时带方括号:()MOV BX, SI 立即数和存储器寻址方式同时使用时应明示数据类型:()MOV BX,20H, 寄存器间接寻址所用寄存器名称外必须加方括号,以区别寄存器寻址方式;,例3.8 MOV BX,SI 解:设:DS1000H,SI2000H,(12000H)318BH 则

11、:物理地址 16DS SI 10000H 2000H 12000H 指令执行后,BX318BH,指令执行过程如图所示。,5 基址/变址寻址(寄存器相对寻址)(Register Relative Addressing),含义: 操作数的有效地址是基址或变址寄存器的内容与8位或16位位移量(Displacement)之和。即 BX / BP 基址寻址 EA = + 8位偏移量/16位偏移量 SI / DI 变址寻址,基址寻址,有效地址EA为基址寄存器(BX,BP)的内容加偏移量。 当EA(BX)DISP时:PA(DS)16EA 当EA(BP)DISP时:PA(SS)16EA,MOV AX, BX+

12、100H ;源操作数在数据段,EABX+100H,PADS16+EA MOV BP-08H,DI ;目的操作数在堆栈段,EABP-08H,PASS16+EA,DS10H,AX,BX+DISP,SS10H,BP+DISP,变址寻址,有效地址EA为变址寄存器(SI,DI)的内容加偏移量。 EA(SI)/(DI)DISP PA(DS)16EA,MOV AX, SI+1020H;源操作数在数据段,EASI+1020H,PADS16+EA MOV DI-10H,CL ;目的操作数在数据段,EADI-10H,PADS16+EA,DS10H,AX,SI+DISP,DS10H,DI+DISP,例3.10 MO

13、V BX,COUNT SI ;或:MOV BX,COUNTSI 解:设:DS3000H,SI2000H,位移量COUNT4000H, (36000H)=318BH 则:物理地址 16DS SI COUNT 30000H 2000H 4000H 36000H,指令执行后, BX318BH,注意: 寄存器名称外必须加方括号,位移量可以在括号内,也可以在括号外; 段超越前缀来从默认段以外的段中取得数据; 例 MOV DH,ES:ARRAYSI 关于默认段: 指定寄存器BX、SI或DI,默认操作数存放在数据段DS中; (DS:BX,SI,DI) 指定寄存器BP,默认操作数存放在数据段SS中; (SS:

14、BP),注意: 寄存器SI和DI、BP和BX不能同时出现在 中。,操作数的有效地址是一个基址寄存器(BX、BP)和一个变址寄存器 (SI、DI)的内容,再加上8位或16位位移量之和。即 BX SI EA= + +位移量 BP DI,6 基址+变址寻址(Relative Based Indexed Addressing),使用的寄存器:基址寄存器BX、BP,变址寄存器SI、DI 。,PA(DS)16EA,当基址寄存器为BX时 PA(SS)16EA,当基址寄存器为BP时,MOV BPDI,BX ;目的操作数在堆栈段 EA(BP)(DI),PA(SS)16EA,MOV CX,BP+SI ;源操作数在

15、堆栈段 EA(BP)(SI),PA(SS)16EA,MOV BX+DI,AX ;目的操作数在数据段 EA(BX)(DI),PA(DS)16EA,MOV DX,BXSI ;源操作数在数据段 EA(BX)(SI),PA(DS)16EA,相对基址变址寻址的表示形式: 6BXSI 或BX+6SI 或BX+6+SI 其中:方括号 有相加的含义,例3.12 MOV AX, MASKBX SI ;或:MOV BX,MASKBXSI 解:设:DS2000H,SI0300H,BX1500H,MASK=0200H, (21A00H)=26BFH 则:物理地址 16DS SI BX + MASK 20000H 0300H 1500H + 0200H 21A00H,指令执行后, AX26BFH,存储器操作数寻址方式总结: 带方括号的地址表达式必须遵循下列规则: 1.立即数可以出现在方括号内,表示直接地址,但要

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号