文档介绍:第三章 8088(8086)的寻址方式
一、 8088的指令格式
二、汇编语言
三、操作数存在方式
四、有效地址
五、寻址方式
一、指令格式:
指令的一般格式为:
操作码操作数, 操作数
操作码——告诉计算机要执行的操作是什么,如:加、减、逻辑与等。
操作数——执行操作过程所要操作的数,如加运算的两个加数。
二、汇编语言
汇编语言是一种符号语言,它用:
助记符——表示操作码;
符号或符号地址——表示操作数或操作数地址.
三、操作数存在方式
在微型计算机中,操作数可能以以下三种方式存在:
•操作数包含在指令中——即指令的操作数部分就包含着操作数本身。
MOV AX, 1234 ;
ADD AL, 2
•操作数包含在CPU的某一个内部寄存器中
——这时指令中的操作数是CPU内部的某一个寄存器
MOV DS, AX
•操作数在内存的数据区中——这时指令中的操作数包含着此操作数的地址
MOV AX,[2000] ;
MOV buffer[SI],AX
四、有效地址
8088的内存地址: 段地址+ 段内偏移量。
存放在 CS 存放在 BX、BP、SI、DI 中,
DS 或直接地址如[3000H]中,
ES 或上述形式的组合中。
SS 中
段内偏移量可以由几部分组成,组成后的地址称为有效地址 EA。
EA可以由以下各种情况构成:
•直接地址——包含在指令中的16位地址偏移量。
•间接地址——由CPU内部某个16位寄存器的内容决定,如 BX、BP、SI、DI。
•基址——基址寄存器BX或BP加上指令中包含的8位或16位位移量。
•变址——变址寄存器SI或DI加上指令中包含的8位或16位位移量。
•基址加变址——由一个基址寄存器BX或BP加上一个变址寄存器SI或DI,再加
上指令中包含的8位或16位位移量。
五、寻址方式
EA的组成不同,寻找其中的操作数的方式也随之不同。如何寻找操作数的有效地址,进而找到所需操作数的方式就是寻址方式
因为EA的组成方式都体现在指令中,故寻址方式也可以说是在指令中获得操作数所在地址的方法。
这种寻址方式所提供的操作数直接放在指令中,紧跟在操作码的后面,与操作码一起放在码段区域中。立即数可以是8位的,也可以是16位.
立即寻址主要是用来给寄存器赋初值.
操作数包含在CPU的内部寄存器中,例如寄存器AX、BX、SI、DI等, 虽然操作数可在CPU的内部通用寄存器的任一个中,且它们都能参与算术运算和逻辑运算并存放运算结果。但是,AX是累加器,若结果是存放在AX中,则通常指令要更短些,更紧凑些。
操作数的地址的16位偏移量直接包含在指令中,它与操作码一起在码段区域中,但操作数一般在数据段区域中,它的地址为数据段寄存器DS加上它的16位地址偏移量。
指令中的16位地址偏移量是低位字节在前,高位字节在后。
这种寻址方法,是以数据段寄存器的地址为基础,可在多达64K字节的范围内寻找操作数。