4微机原理第四章:指令系统精品PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章 80X86 CPU的指令系统
基本概念
1.指令:控制计算机完成某种操作的命令。 2.指令系统:处理器所能识别的所有指令的集合。 3.指令的兼容性:同一系列机的指令都是兼容的,不同系列
计算机有不同的指令系统。 4.指令的符号:用规定的英文字母组成,称为助记符。 5.指令系统的特点:
★ 指令语言是面向机器的语言,与计算机硬件有对应关系; ★ 用指令进行编程能充分开发计算机硬件资源,它产生的
★ 掌握指令的助记符,操作数的正确书写法;
★ 了解指令执行后对标志的影响。
本 章 主 要 内 容:
1.了解:指令系统的一般概念 ★ 指令及指令系统 ★ 指令的格式 ★ 指令中的操作数类型
2.掌握:对操作数的寻址方式 3.掌握:六大类指令的操作原理
★ 操作码的含义 ★ 指令对操作数的要求 ★ 指令执行的结果
4.1.2 寄存器数的寻址方式
寄存器寻址特点:
1.因操作数在寄存器中,指令执行时的操作就在 CPU 的 内部进行,不需要通过访问存储器来获得操作数,因而 执行速度快。
2.寄存器代码符号比内存地址短,汇编后机器码长度最短。 3.dst 和 SRC 均可采用寄存器寻址方式,也可以同时采用
寄存器寻址方式。 4.当指令中的 dst 和 SRC 均为寄存器操作数时,必须采用
例如:MOV AX,[2000H] ; MOV [1200H],AX ; MOV ES:[0100H],AL ;
★ 根据指令中给出的有效地址 EA,得到存储单元的物理地址:
PA=DS×16+ EA
4.1.3 存储器数的寻址方式
直接寻址举例: MOV AX,[ 2000H ]
1.指令中给出:EA=2000H 假设:DS=4000H
▲ 本节着重讲解数据操作数寻址方式
4.1 8086 的寻址方式
二、地址操作数
地址操作数是与程序转移地址有关的操作数,即指令中 操作的对象不是数据,而是要转移的目标地址。 ★ 它也可以分为:
1.立即数操作数:即要转移的目标地址包含在指令中 2.寄存器操作数:转移的目标地址存放在寄存器中 3.存储器操作数:转移的目标地址存放在存储单元之中
6.基址变址寻址
7.相对基址变址寻址
8.I /O 操作数寻址:操作数在I/O端口中 →I/O 端口操作数
★ 3 ~ 7 种寻址方式属于存储器寻址,需通过计算的方法
来确定操作数所在存储单元的有效地址EA
ቤተ መጻሕፍቲ ባይዱ
★ I /O 操作数寻址将在输入输出指令部分介绍
4.1.1 立即数的寻址方式
★ 立即寻址:即指令中直接给出操作数。操作数与指令代码 一起放在码段中。
第四章 80X86 CPU的指令系统
内容提要:
★ 从指令寻址方式出发,介绍数据操作数、地址操作数的类 型和寻址方式、8086的指令格式和指令机器码的概念;
★ 重点讲述8086中指令的功能和对标志位的影响等; ★ 简单程序的编制。
学习要点:
★ 掌握8086 指令中操作数的类型、指令格式、寻址方式; ★ 掌握常用指令的功能和使用方法 ;
★ 对于地址操作数
指令中只有一个操作数,它是一个供程序转移的目标地址。
4.1 8086 的寻址方式
四、数据操作数寻址的方式:八种基本的寻址方式
1.立即寻址:操作数在指令中 → 立即操作数
2.寄存器寻址:操作数在寄存器中 → 寄存器操作数
3.直接寻址
4.寄存器间接寻址
5.寄存器相对寻址
操作数在存储器中→存储器操作数
程序目标代码短、运行速度快; ★ 在运动控制、智能仪器仪表、监测等领域应用非常广泛。
4.1 8086 的寻址方式
有关寻址的基本概念:
1.寻址方式:指令中用于说明求出操作数有效地址的方法; 2.寻址操作:根据寻址方式 求出操作数有效地址的过程; 3.为满足程序设计需要,程序设计中可采用多种寻址方式:
物理地址:PA=42000H 2.字在内存中占两个单元:
★ 在调用指令或转移指令中,这类操作数指出是:程序要 转移的目的地址。
★ 地址操作数的寻址方式将在转移指令中介绍。
4.1 8086 的寻址方式
三、指令中操作数的个数
★ 对于数据操作数
▲ 一些指令只有一个操作数,或没有(或隐含)操作数 ▲ 有些指令具有两个操作数:
一个称为源操作数,在操作过程中其值不改变; 另一个称为目的操作数,操作后一般被操作结果代替。
例如:MOV AX,1234H; AX 1234H 源操作数的寻址方式为立即寻址。执行过程如下图所示:
★ 立即寻址通常用于二地址指令中,且只能是源操作数。 ★ 数据传送应理解为复制传送,源操作数不会因为传送而丢失。
4.1.2 寄存器数的寻址方式
★ 寄存器寻址:操作数在寄存器中,指令中给出寄存器名。
★ 指令中可直接写出操作数本身 ★ 指令中可给出操作数的地址 ★ 指令中可给出操作数所在地址的地址 4.8086 指令系统中,按操作数的类型大致分为三类: ★ 数据操作数 ★ (转移)地址操作数 ★ I/O 操作数
4.1 8086 的寻址方式
一、数据操作数
指与数据有关的操作数,即指令中操作的对象是数据。 根据数据操作数在计算机中的不同位置可分为: 1.立即数操作数:指令中要操作的数据包含在指令中 2.寄存器操作数:指令中要操作的数据在指定的寄存器中 3.存储器操作数:指令中要操作的数据在指定的存储单元中 4.I/O操作数:指令中要操作的数据来自或送到I/O端口。
同样长度(字或字节)的寄存器; 5.两个操作数不能同时为段寄存器; 6.目的操作数不能是代码段寄存器 CS。
4.1.3 存储器数的寻址方式
★ 当操作数在存储器中时,有下面 5 种寻址方式,统称为: 存储器寻址方式。
★ 双操作数指令中的两个操作数不能同时为存储器操作数。
一、直接寻址
★ 指令中给出操作数所在存储单元的有效地址,默认为数据段。 ★ 为了区别于立即数,有效地址 EA 用方括号“[ ]”括起。
例如:MOV AX,1234H; 目的操作数采用寄存器寻址 MOV DX,AX; 目的和源操作数均采用寄存器寻址
★ 对 16 位操作数,寄存器可用: AX、BX、CX、DX、SI、DI、SP、BP、CS、DS、ES、SS;
★ 对 8 位操作数,寄存器可用: AH、AL、BH、BL、CH、CL、DH、DL;