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