文档介绍:第三章 80X86的指令系统和寻址方式
任课教师:陶雪丽
xueli_xl@
11/12/2017
1
河南师范大学计算机与信息技术学院
本章内容提要
80X86的寻址方式
程序占有的空间和执行时间
80X86的指令系统
11/12/2017
2
河南师范大学计算机与信息技术学院
预备知识
指令由操作码和操作数两部分组成。
操作码说明计算机要执行哪种操作,如传送、运算、移位、跳转等操作,它是指令中不可缺少的组成部分。
操作数是指令执行的参与者,也就是各种操作的对象。
操作码
操作数
用助记符表达的指令的一般格式:
操作码操作数1,……,操作数n ;注释
11/12/2017
3
河南师范大学计算机与信息技术学院
预备知识
操作码:
用一个唯一的助记符表示(指令功能的英文缩写)
对应着机器指令的一个二进制编码
操作数:
可以是操作数本身(一个具体的数值)
也可以是存放数据的寄存器
或指明数据在主存位置的存储器地址
11/12/2017
4
河南师范大学计算机与信息技术学院
预备知识
操作数字段可以是一个、二个或三个,通常称为一地址、二地址或三地址指令。
单操作数指令就是一地址指令它只需要指定一个操作数。
双操作数指令就是二地址指令。
操作数2称为源操作数scr,操作数1称为目的操作数dest,它不仅作为指令操作的一个对象,还用来存放指令操作的结果。
操作码操作数
操作码操作数1,操作数2
11/12/2017
5
河南师范大学计算机与信息技术学院
预备知识
大多数运算指令可使用三地址指令:
除给出参加运算的两个操作数(操作数2,操作数3)外,还指出运算结果的存放地址(操作数1)。
分号后的内容是对指令的解释。
操作码操作数1,操作数2,操作数3
11/12/2017
6
河南师范大学计算机与信息技术学院
预备知识
而操作数的给出方式比较复杂,指令系统设计了多种操作数的来源。
寻找操作数的方式叫做操作数的寻址方式。
操作数采取哪一种寻址方式,会影响机器运行的速度和效率。
这种符号指令系统中,操作码的给出方式比较简单。
如何寻址一个操作数对程序的设计来讲也是很重要的。
11/12/2017
7
河南师范大学计算机与信息技术学院
80X86的寻址方式
2
与转移地址有关的寻址方式
1
与数据有关的寻址方式
11/12/2017
8
河南师范大学计算机与信息技术学院
与数据有关的寻址方式
8086、80286的机器字长位16位,一般情况下只处理8、16位数,只在乘、除指令中才会有32位数。
80386及其后继机型字长位32位,它可处理8、16、32位操作数,在乘除指令中还可产生64位数。
这种寻址方式用来确定操作数地址从而找到操作数。
本节对数据寻址方式的讨论,均以MOV指令为例。
11/12/2017
9
河南师范大学计算机与信息技术学院
与数据有关的寻址方式
立即寻址方式
寄存器寻址方式
直接寻址方式
寄存器间接寻址方式
寄存器相对寻址方式
基址变址寻址方式
相对基址变址寻址方式
比例变址寻址方式
基址比例变址寻址方式
相对基址比例变址寻址方式
知识要点
11/12/2017
10
河南师范大学计算机与信息技术学院