第3章 指令系统与汇编语言程序设计 本章主要教学内容 >指令格式及寻址的有关概念 >8086CPU指令系统的寻址方式及其应用 >8086CPU各类指令的表示、功能、特点及其应用 > Pentium微处理器新增指令和寻址方式介绍 汇编语言的基本表达方式和内容 汇编语言程序设计的基本步骤和基本方法 >顺序、分支、循环、子程序基本结构和设计方法 常用的DOS和BIOS中断调用简介
1 本章主要教学内容 ➢指令格式及寻址的有关概念 ➢8086CPU指令系统的寻址方式及其应用 ➢8086CPU各类指令的表示、功能、特点及其应用 ➢Pentium微处理器新增指令和寻址方式介绍 ➢汇编语言的基本表达方式和内容 ➢汇编语言程序设计的基本步骤和基本方法 ➢顺序、分支、循环、子程序基本结构和设计方法 ➢常用的DOS和BIOS中断调用简介 第3章 指令系统与汇编语言程序设计
第3章 指令系统与汇编语言程序设计 本章教学目的及要求 通过学习,使学生掌握指令的寻址方式、 指令系统及其应用;学会程序设计的基本方 法;掌握程序设计的技巧,保证程序设计的 质量
2 本章教学目的及要求 通过学习,使学生掌握指令的寻址方式、 指令系统及其应用;学会程序设计的基本方 法;掌握程序设计的技巧,保证程序设计的 质量。 第3章 指令系统与汇编语言程序设计
第3章 指令系统与汇编语言程序设计 31指令格式及寻址 指令系统与指令格式 在计算机中要执行的各种操作命令称为指令。计算机所能执 行的全部命令的集合即为该计算机的指令系统。 计算机指令以二进制编码的形式存放在存储器中,用二进 制编码形式表示的指令称为机器指令,CPU可以直接识别机器 指令。人们采用一些助记符——通常是指令功能的英文单词的 缩写,如数据传送指令用助记符MOV(MOVE的缩写),这样表 示的指令称为符号指令,也称为汇编指令。汇编指令具有直观、 易理解、好记忆的特点
3 第3章 3.1 指令格式及寻址 1. 指令系统与指令格式 在计算机中要执行的各种操作命令称为指令。计算机所能执 行的全部命令的集合即为该计算机的指令系统。 计算机指令以二进制编码的形式存放在存储器中,用二进 制编码形式表示的指令称为机器指令,CPU可以直接识别机器 指令。人们采用一些助记符——通常是指令功能的英文单词的 缩写,如数据传送指令用助记符MOV(MOVE的缩写),这样表 示的指令称为符号指令,也称为汇编指令。汇编指令具有直观、 易理解、好记忆的特点。 指令系统与汇编语言程序设计
第3章 指令系统与汇编语言程序设计 计算机中的汇编指令由操作码字段和操作数字段两部分组 成。 (1)操作码字段:操作码表示计算机要执行的某种指令功 能,由它来规定指令的操作类型,说明计算机要执行的具体 操作,例如传送、运算、移位、跳转等操作。同时还指出操 作数的类型、操作数的传送方向、寄存器编码或符号扩展等, 是指令中必不可少的组成部分。 (2)操作数字段:操作数表示计算机在操作中所需要的数 据,或者所需数据的存放位置(也称为地址码),还可以是 指向操作数的地址指针或其它有关操作数据的信息
4 第3章 指令系统与汇编语言程序设计 计算机中的汇编指令由操作码字段和操作数字段两部分组 成。 (1)操作码字段:操作码表示计算机要执行的某种指令功 能,由它来规定指令的操作类型,说明计算机要执行的具体 操作,例如传送、运算、移位、跳转等操作。同时还指出操 作数的类型、操作数的传送方向、寄存器编码或符号扩展等, 是指令中必不可少的组成部分。 (2)操作数字段:操作数表示计算机在操作中所需要的数 据,或者所需数据的存放位置(也称为地址码),还可以是 指向操作数的地址指针或其它有关操作数据的信息
第3章 指令系统与汇编语言程序设计 8086的指令格式如图3-1所示,指令的长度范围是1~6个字 节。其中,操作码字段为1~2个字节(B1、B,),操作数字段 为0~4个字节(B3~B6)。每条具体指令的长度将根据指令的 操作功能和操作数的形式而定 图3-18086的指令格式 B B2 B3 B4 B5 oP code op code low disp high disp 或data或data low data high data
5 8086的指令格式如图3-1所示,指令的长度范围是1~6个字 节。其中,操作码字段为1~2个字节(B1、B2),操作数字段 为0~4个字节(B3 ~B6)。每条具体指令的长度将根据指令的 操作功能和操作数的形式而定。 图3-1 8086的指令格式 OP code low disp 或data high disp 或data low data high data B1 B2 B3 B4 B5 B6 OP code 第3章 指令系统与汇编语言程序设计
第3章 指令系统与汇编语言程序设计 2.寻址及寻址方式的概念 计算机的指令中通常要指定操作数的位置,即 给出操作数的地址信息,在执行时需要根据这个地 址信息找到需要的操作数,这种寻找操作数的过程 称为寻址。寻址方式就是寻找操作数或操作数地址 的方式 不同机器的指令系统都规定了一些寻址方式以 供编程时选择使用,根据给定的寻址方式,就可以 方便地访问各类操作数
6 第3章 指令系统与汇编语言程序设计 2. 寻址及寻址方式的概念 计算机的指令中通常要指定操作数的位置,即 给出操作数的地址信息,在执行时需要根据这个地 址信息找到需要的操作数,这种寻找操作数的过程 称为寻址。寻址方式就是寻找操作数或操作数地址 的方式。 不同机器的指令系统都规定了一些寻址方式以 供编程时选择使用,根据给定的寻址方式,就可以 方便地访问各类操作数
第3章 指令系统与汇编语言程序设计 8086指令中的操作数有三种可能的存放位置: (1)操作数直接在指令中,即跟随在指令操作码之 后,指令的操作数部分就是操作数本身,这种操作 数叫立即操作数 (2)操作数存放在CPU的某个内部寄存器中,这时 指令的操作数部分是CPU内部寄存器的一个编码,称 为寄存器操作数 (3)操作数存放在内存储器的数据区中,这时指 令的操作数部分包含此操作数所在的内存地址,称 为存储器操作数
7 第3章 指令系统与汇编语言程序设计 8086指令中的操作数有三种可能的存放位置: (1)操作数直接在指令中,即跟随在指令操作码之 后,指令的操作数部分就是操作数本身,这种操作 数叫立即操作数。 (2)操作数存放在CPU的某个内部寄存器中,这时 指令的操作数部分是CPU内部寄存器的一个编码,称 为寄存器操作数。 (3)操作数存放在内存储器的数据区中,这时指 令的操作数部分包含此操作数所在的内存地址,称 为存储器操作数
第3章 指令系统与汇编语言程序设计 328086CPU的寻址方式 321立即数寻址 立即数寻址方式是指操作数直接存放在给定的指令中,紧跟 在操作码之后。 立即数可以是8位或16位二进制数。例如,给定如下指令, 采用立即数寻址: MOV AL, 10 十进制数(D) MOV AL 00100101B 二进制数(B) MOV AX 263AH 十六进制数(H)
8 第3章 指令系统与汇编语言程序设计 3.2 8086 CPU的寻址方式 3.2.1 立即数寻址 立即数寻址方式是指操作数直接存放在给定的指令中,紧跟 在操作码之后。 立即数可以是8位或16位二进制数。例如,给定如下指令, 采用立即数寻址: MOV AL, 10 ; 十进制数(D) MOV AL, 00100101B ; 二进制数(B) MOV AX, 263AH ; 十六进制数(H)
第3章 指令系统与汇编语言程序设计 322寄存器寻址 寄存器寻址方式是在指令中直接给出寄存器名,寄存器 中的内容即为所需操作数。在寄存器寻址方式下,操作数存 在于指令规定的8位、16位寄存器中。寄存器可用来存放源 操作数,也可用来存放目的操作数 寄存器寻址方式是CPU内部的操作,不需要访问总线周期, 因此指令的执行速度比较快 对于16位操作数,寄存器可以是AX、BX、CX、DX、SI DI、SP、BP等。 对于8位操作数,寄存器可以是AH、AL、BH、BL、CH、CL 等
9 第3章 指令系统与汇编语言程序设计 3.2.2 寄存器寻址 寄存器寻址方式是在指令中直接给出寄存器名,寄存器 中的内容即为所需操作数。在寄存器寻址方式下,操作数存 在于指令规定的8位、16位寄存器中。寄存器可用来存放源 操作数,也可用来存放目的操作数。 寄存器寻址方式是CPU内部的操作,不需要访问总线周期, 因此指令的执行速度比较快。 对于16位操作数,寄存器可以是AX、BX、CX、DX、SI、 DI、SP、BP等。 对于8位操作数,寄存器可以是AH、AL、BH、BL、CH、CL、 DH、DL等
第3章 指令系统与汇编语言程序设计 323存储器寻址 计算机中访问内存的寻址方式有多种,不管哪 种寻址方式,最终都将得到存放操作数的物理地址。 采用存储器寻址时,指令中需要给出操作数的地址 信息。 存储器操作数的有效地址EA的计算方法和寻址方 式有着密切地联系,而操作数物理地址PA的计算则 和操作数的具体存放位置有关
10 第3章 指令系统与汇编语言程序设计 3.2.3 存储器寻址 计算机中访问内存的寻址方式有多种,不管哪一 种寻址方式,最终都将得到存放操作数的物理地址。 采用存储器寻址时,指令中需要给出操作数的地址 信息。 存储器操作数的有效地址EA的计算方法和寻址方 式有着密切地联系,而操作数物理地址PA的计算则 和操作数的具体存放位置有关