微机原理与接口技术PPT_第3章_1 寻址方式1.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:86 大小:1.5MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

微机原理与接口技术PPT_第3章_1 寻址方式1.ppt

微机原理与接口技术PPT_第3章_1寻址方式1.ppt

预览

免费试读已结束,剩余 76 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第3章指令系统和寻址方式1、指令、指令系统和程序指令是CPU能执行的一个基本操作。如:取数、加、减、乘、除、存数等指令系统是CPU所能执行的全部操作,即全部指令的集合。不同的CPU,其指令系统不同。程序是用户在使用计算机时,针对要解决的问题,用一条条指令编写的指令的序列。*一个CPU能执行什么操作,是工程人员设计和制造好的,是固定的,用户不能改变。构成程序的指令在存储器中一般都是顺序存放,要破坏这种顺序性,必须由转移指令操作。3、指令的一般格式:操作码字段:在机器里只需对某种操作指定确定的二进制代码。通常用指令的第一个字节表示,不够可以占第二个字节中的3位。操作数字段:操作数字段可以有一个,二个或三个。例:INCCXADDAX,BX4、操作数的存放操作数的存放不外乎三种情况:(1)操作数包含在指令中即指令的操作数字段包含操作数本身。这种操作数为立即数。——数在指令队列中,执行数度较快。例:MOVAL,08H(2)操作数包含在CPU的一个内部寄存器中例:INCCX指令中的操作数字段是CPU内部寄存器的一个编码。这种寻址方式称为寄存器寻址。——数在寄存器中,无需BIU去取,执行速度最快。(3)操作数在内存数据区操作数在内存数据区,操作数字段包含着此操作数地址。——存储容量大在8086中,任何内存地址是由两部分组成:段的基地址:存储单元所在段的基地址(大部分情况是数据段寄存器DS中);段内偏移量:此单元与段基地址的距离。有效地址EA(EffectiveAddress):段内偏移量为适应各种数据结构的需要,可以有几个部分组成,所以也把它称为有效地址EA。3.28088/8086CPU的寻址方式3.2.1立即寻址方式(Immediateaddressing)例:MOVAL,05H指令执行后:(AL)=05H3.2.2寄存器寻址方式(Registeraddressing)例:指令执行前:(AX)=3064H(SS)=1234HMOVSS,AX指令执行后:(SS)=3064H(AX)保持不变。3.2.3存储器寻址方式(Memoryaddressing)1、直接寻址(Directaddressing)例:MOVAX,[3100H](DS)=6000H,(63100H)=3050H则:(AX)=3050H例:用符号地址代替数值地址。MOVAX,VALUE或MOVAX,[VALUE]VALUE——变量名,代表有效操作数单元的符号地址。如VALUE在附加段中,则应指定段超越。MOVAX,ES:VALUE或MOVAX,ES:[VALUE]例:假设TABLE是在数据段定义的一个字节数组的首地址标号(变量名),其偏移地址为1000H,则指令MOVAL,TABLEMOVAL,[TABLE]MOVAL,[1000H]是等效的。指令MOVAL,TABLE+2MOVAL,[TABLE+2]MOVAL,[1000H+2]也是等效的,都是直接寻址方式。(1)直接寻址方式适用于处理单个变量。(2)直接寻址方式隐含的段寄存器是DS,8086/8088允许段超越,即允许使用CS、SS、ES作为段寄存器,这时必须在指令中特别标明。(3)IBMPC机中规定双操作数指令必须有一个操作数使用寄存器方式,这就是常常先要把一个变量送到寄存器中的原因。操作数在存储器中,操作数地址的16位偏移量(有效地址EA)包含在:BP、BX、SI、DI寄存器中。1)、若选择SI、DI、BX作为间接寻址操作数一般在现行数据段区域中,用(DS)作为段地址。即操作数物理地址为:物理地址PA=16d×(DS)+(BX)物理地址PA=16d×(DS)+(SI)物理地址PA=16d×(DS)+(DI)例:MOVBX,[DI](DS)=6000H(DI)=2000HPA=62000H(62000H)=50A0H(BX)=50A0H2)、若选择BP寄存器作为间接寻址操作数在堆栈段区域中,用SS寄存器的内容作为段地址。操作数物理地址:PA=16d×(SS)+(BP)例:MOV[BP],AX执行前:(SS)=1000H,(BP)=3000H,(AX)=1234H执行后:PA=13000H(13000H)=1234H3)、用SI、DI、BX、BP作为间接寻址允许段超越指令中可以指定段超越前缀来取得其他段中的数据。例:MOVES:[DI],AXMOVDX,DS:[BP]这种寻址方法可以用于表格处理,在循环结构程序设计中经常用到间址方式。操作数的有效地址(EA)是