第二章 寻址方式与指令系统--寻址方式

上传人:野鹰 文档编号:2657683 上传时间:2017-07-26 格式:PPT 页数:67 大小:6.80MB
返回 下载 相关 举报
第二章 寻址方式与指令系统--寻址方式_第1页
第1页 / 共67页
第二章 寻址方式与指令系统--寻址方式_第2页
第2页 / 共67页
第二章 寻址方式与指令系统--寻址方式_第3页
第3页 / 共67页
第二章 寻址方式与指令系统--寻址方式_第4页
第4页 / 共67页
第二章 寻址方式与指令系统--寻址方式_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《第二章 寻址方式与指令系统--寻址方式》由会员分享,可在线阅读,更多相关《第二章 寻址方式与指令系统--寻址方式(67页珍藏版)》请在金锄头文库上搜索。

1、8086寻址方式与指令系统, 第二章,第二章 8086/8088的寻址方式与指令系统,本章要点,寻址方式,指令系统,包括立即寻址等7种方式,包括数据传送等6类指令,1,2,第二章 8086/8088的寻址方式与指令系统,指令系统 :,计算机提供给用户使用的指令集。,目的操作数,,源操作数,双操作数指令格式:,替代目的操作数,不影响源操作数,操作结果,操作码,第二章 8086/8088的寻址方式与指令系统,例如:,MOV AX,100,MOV AX,BX,MOV AX,BX,要访问操作数,首先必须确定如何形成操作数的地址。,寻址方式:确定获得操作数地址的方法,寻址方式选择得正确与否,直接影响程序

2、的执行效率。,注意:寻址方式是针对操作数的,而不是指令的。,2.1 寻址方式(找信方式),我的信在他那!找信去!,注:找信是寻找信的“地址”!,你能说出第二封信的“地址”吗?,第二章 8086/8088的寻址方式与指令系统,2.1 寻址方式,与数据有关的寻址方式 确定内存单元的地址,与转移地址有关的寻址方式 确定转移地址,寻址方式 分类,目的操作数,,源操作数,MOV,有 7 种 与数据有关的寻址方式,以MOV指令为例:,第二章 8086/8088的寻址方式与指令系统,对源操作数分别使用7 种寻址方式如下:,(1)立即寻址方式 (Immediate Addressing ),(2)寄存器寻址方

3、式(Register Addressing ),(3)直接寻址方式 (Direct Addressing ),(4)寄存器间接寻址方式(Register Indirect Addressing ),(5)变址寻址方式 ( Indexed Addressing ),(6)基址变址寻址方式( Based Index Addressing ),(7)相对基址变址寻址方式 ( Relative Based Index Addressing ),掌握寻址方式的要点: 特点(区别于其他寻址方式); 使用方法(语法形式); 用途(什么情况下使用)。,目的地,操作数,MOV AX, 100,ADD AX, 1

4、50,100,目的地,信,(1)立即寻址方式 (Immediate Addressing ),特点:操作数包含在指令中。,第二章 8086/8088的寻址方式与指令系统,(1)立即寻址方式 (Immediate Addressing ),特点:操作数包含在指令中。,操作数是指令的组成部分(可以是8位或16位),取出指令就立即获得操作数立即数,例1: MOV AL, 5,执行指令后: (AL) = 05H,05,例2: MOV AX, 3045H,执行指令后: (AX) = 3045H,用途:给变量或寄存器赋常量值,限制:只能用于源操作数,第二章 8086/8088的寻址方式与指令系统,AX,低

5、地址,高地址,45,30,注意:立即数不能作为指令中的目的操作数!类似于高级语言中不会出现“7ab” 的语句.,MOV AL , 300 正确吗?,位数不匹配,不正确!,第二章 8086/8088的寻址方式与指令系统,MOV 300 , AX 正确吗?,立即数不能作为指令中的目的操作数,不正确!,目的地,寄存器,目的地,操作数,XXH,MOV AX, BX,寄存器,你能说出为什么叫寄存器寻址吗?,(2)寄存器寻址方式(Register Addressing ),特点:操作数存在寄存器中。,第二章 8086/8088的寻址方式与指令系统,(2)寄存器寻址方式(Register Addressin

6、g ),特点:操作数存在寄存器中。,例: MOV AX, BX,执行指令前: (AX) = 3045H (BX) = 4000H,执行指令后: (AX) = 4000H (BX) = 4000H,用途:用寄存器提供操作数时存取速度快。,寄存器寻址方式举例,MOV AX , 1234HMOV BX , AX MOV X , AX源操作数、目的操作数寻址方式分别是?,MOV AX , 1234H,MOV BX , AX,MOV X , AX,源操作数是立即数寻址方式目的操作数是寄存器寻址方式。,源操作数及目的操作数均为寄存器寻址方式。,源操作数是寄存器寻址方式;目的操作数是直接寻址方式。,目的地,

7、内部RAM,操作数,XXH,MOV AX, 2000H,2000H,目的地,2000H,注:寻址是寻操作数的“地址”!,直接给出地址2000H直接寻址,(3)直接寻址方式 (Direct Addressing ),特点:操作数的偏移地址包含在指令中。,第二章 8086/8088的寻址方式与指令系统,(3)直接寻址方式 (Direct Addressing ),特点:操作数的偏移地址包含在指令中。,例:设 ( DS ) = 1492H MOV AX, 2000H,要访问的存储单元物理地址为:,14920H+2000H=16920H,设: (16920H)=9078H,执行指令后: (AX)=90

8、78H,第二章 8086/8088的寻址方式与指令系统,指令 MOV AX, 2000H,2000H,AX,90,78,如果2000H单元在附加段MOV AX, ES:2000H,段跨越前缀: “ 段寄存器名: ”用于改变默认使用的段寄存器,用途: 用于存取单变量中的操作数。,直接寻址方式举例,执行指令MOV BX , ES:1234H时,(ES)=2000H,存储单元21234H的值为5213H,问执行该指令后BX的值是什么?,该指令源操作数的寻址方式为直接寻址方式;有效地址EA = 1234H,指定段跨越前缀ES段;物理地址PA = 2000H 16 + 1234H = 21234H所以,

9、该指令执行后 (BX)=5213H,21234H21235H,MOV AX,2000HMOV AX,2000HMOV AX,2000,右边所示的三条指令有何不同?,源操作数的寻址方式不同:第一条指令为直接寻址方式;后两条指令为立即数寻址方式;数据数制不同:前两条为十六进制;第三条为十进制。,MOV AX,X 和 MOV AX,X 效果一样吗?,一样。符号地址加不加括号指的都是之前定义的单元。,高级语言的 y=x; 用汇编指令如何实现?,需要使用两条指令完成赋值。,MOV AX,XMOV Y ,AX,回答问题,(4)寄存器间接寻址方式(Register Indirect Addressing )

10、,MOV AX, BX,目的地,寄存器,操作数,3AH,内部RAM,3AH,65H,3AH,目的地,2号,信在2号箱子里,1号,你能说出1号箱子和2号箱子分别对应哪一部分吗?,特点: (寄存器) = 操作数的偏移地址,第二章 8086/8088的寻址方式与指令系统,(4)寄存器间接寻址方式(Register Indirect Addressing ),特点: (寄存器) = 操作数的偏移地址,例:设 ( DS ) = 1492H ( BX ) = 2000H 指令为: MOV AX, BX ,14920H+2000H = 16920H,计算操作数物理地址的公式:,(BX)(SI)(DI), 操

11、作数物理地址=(DS)16+ 操作数物理地址=(SS)16+(BP),要访问的存储单元物理地址为:,第二章 8086/8088的寻址方式与指令系统,2000H,AX,90,78,数组起始地址,用途:适于数组、字符串、表格的处理,相当于指针,设: (16920H)=9078H,执行指令后: (AX)=9078H,例:设字变量MYDATA定义在数据段(DS ),其偏移地址为0002H ,字偏移地址0002H的内容为6655H,试编程取出偏移的字内容到AX中,MOV AX, MYDATA,MOV BX, OFFSET MYDATA ;(BX)=0002HMOV AX, BX,直接地址,寄存器间接地址

12、,源操作数寻址方式判断正误,MOV AX , SP,错误!间址寄存器错误。,MOV AX , SP,正确!寄存器寻址。,MOV AX , SI,正确!寄存器间接寻址。,MOV AX , SI,正确!寄存器寻址。,源操作数寻址方式判断正误,MOV AX , DS,错误!间址寄存器错误。,MOV AX , DS,正确!寄存器寻址。,MOV AX , BP,正确!寄存器寻址。,MOV AX , BP,正确!寄存器间接寻址。,源操作数寻址方式判断正误,MOV AX , BX,正确!寄存器间接寻址。,MOV AX , BX,正确!寄存器寻址。,MOV AX , DS,正确!寄存器寻址。,MOV AX ,

13、 DS,错误!间址寄存器错误。,第二章 8086/8088的寻址方式与指令系统,(5)变址寻址方式 ( Indexed Addressing ),(寄存器相对寻址方式),特点: (变址或基址寄存器) +指令中的位移量 = 操作数的偏移地址,+,例:设 ( DS ) = 2000H, ARRAY=0006H, ( SI ) = 2000H,指令为: MOV AX, ARRAY SI ,计算操作数物理地址的公式:,(SI)(DI) +(BX), 操作数物理地址=(DS)16+ 操作数物理地址=(SS)16+(BP)+,8位位移量16位位移量,8位位移量16位位移量,第二章 8086/8088的寻址

14、方式与指令系统,指令 MOV AX, ARRAY SI ,0006H,14920H,AX,90,78,2000H,数组起始地址 ARRAY,用途:,14920H+0006H +2000H= 16926H,要访问的存储单元物理地址为:,设: (16926H)=9078H,执行指令后: (AX)=9078H,可用于处理数组,寄存器相对寻址方式举例,设数据M存放某人的有关信息,其中名字占3个字节,年龄、工资各占1个字节,试编程取出该同志年龄、工资数据的程序?,MOV BX, OFFSET MMOV AH, BX+3MOV AL, 4BX,M,3字节,1字节,1字节,寄存器相对寻址方式判断正误,MOV AX, DI+06H,正确!AXDS:DI+06H,MOV AX, BP+06H,正确!AXSS:BP+06H,MOV AX , SP+10H,错误!间址寄存器使用不正确!,第二章 8086/8088的寻址方式与指令系统,(6)基址变址寻址方式 ( Based Index Addressing ),特点:(基址寄存器) + (变址寄存器) = 操作数的偏移地址,例:设 ( DS ) = 2100H, ( BX ) = 0158H, ( DI ) = 1000H 指令为: MOV AX, BXDI,+,计算操作数物理地址的公式:,(SI)(DI),

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号