《工学汇编语言》PPT课件.ppt

上传人:m**** 文档编号:574494790 上传时间:2024-08-16 格式:PPT 页数:33 大小:2.56MB
返回 下载 相关 举报
《工学汇编语言》PPT课件.ppt_第1页
第1页 / 共33页
《工学汇编语言》PPT课件.ppt_第2页
第2页 / 共33页
《工学汇编语言》PPT课件.ppt_第3页
第3页 / 共33页
《工学汇编语言》PPT课件.ppt_第4页
第4页 / 共33页
《工学汇编语言》PPT课件.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《《工学汇编语言》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《工学汇编语言》PPT课件.ppt(33页珍藏版)》请在金锄头文库上搜索。

1、第第4 4章章 操作数的寻址方式操作数的寻址方式第四讲第四讲第第4 4章章 操作数的寻址方式操作数的寻址方式第4章 操作数的寻址方式 指令的基本格式指令的基本格式 立即寻址立即寻址 寄存器寻址寄存器寻址 存储器寻址存储器寻址第第4 4章章 操作数的寻址方式操作数的寻址方式指令的组成指令的组成指令由操作码和操作数两部分组成指令由操作码和操作数两部分组成操作码操作码l说明计算机要执行哪种操作,如传送、移位等操作,它说明计算机要执行哪种操作,如传送、移位等操作,它是指令中不可缺少的组成部分是指令中不可缺少的组成部分l用一个唯一的助记符表示(指令功能的英文缩写)用一个唯一的助记符表示(指令功能的英文缩

2、写)l对应着机器指令的一个二进制编码对应着机器指令的一个二进制编码第第4 4章章 操作数的寻址方式操作数的寻址方式操作数操作数是指令执行的参与者,即各种操作的对象。是指令执行的参与者,即各种操作的对象。存放在指令代码段中;存放在指令代码段中;存放在寄存器中;存放在寄存器中;存放在存储器的数据段、堆栈段或附加段中。存放在存储器的数据段、堆栈段或附加段中。 操作数存放的位置:操作数存放的位置:- 立即操作数立即操作数- 寄存器操作数寄存器操作数-存储器操作数存储器操作数第第4 4章章 操作数的寻址方式操作数的寻址方式常量(立即数)常量(立即数)-立即操作数立即操作数寄存器名寄存器名寄存器操作数寄存

3、器操作数主存地址(段地址和偏移地址)主存地址(段地址和偏移地址)-内存操作数内存操作数 汇编语言中不同操作数的表达汇编语言中不同操作数的表达第第4 4章章 操作数的寻址方式操作数的寻址方式操作数的寻址方式操作数的寻址方式 立即寻址立即寻址 寄存器寻址寄存器寻址 存储器寻址存储器寻址第第4 4章章 操作数的寻址方式操作数的寻址方式立即寻址方式立即寻址方式指令中有立即数的寻址方式指令中有立即数的寻址方式特点:特点:指令中的操作数直接存放在机器代码中,紧跟在操作指令中的操作数直接存放在机器代码中,紧跟在操作码之后(作为指令的一部分存放在操作码之后的内存单元中)码之后(作为指令的一部分存放在操作码之后

4、的内存单元中)例例 MOV ALMOV AL,0FFH0FFH第第4 4章章 操作数的寻址方式操作数的寻址方式演示一下吧例: MOV AX , 1234H第第4 4章章 操作数的寻址方式操作数的寻址方式立即寻址方式立即寻址方式应用:应用:常用来给寄存器或某内存单元赋值常用来给寄存器或某内存单元赋值注意注意:1)立即寻址只能用于源操作数)立即寻址只能用于源操作数 2)立即数可以是)立即数可以是8位、位、16位位 3)立即数可以用符号表示)立即数可以用符号表示 4)立即数的类型必须与目的操作数类型一致)立即数的类型必须与目的操作数类型一致MOV ALMOV AL,1234H 1234H ()MOV

5、 ALMOV AL,PORT1PORT1MOV 1234HMOV 1234H,AX AX ()第第4 4章章 操作数的寻址方式操作数的寻址方式寄存器寻址方式寄存器寻址方式操作数存放在操作数存放在CPUCPU的内部寄存器中,可以是:的内部寄存器中,可以是:8 8位寄存器:位寄存器:AHAH、ALAL、BHBH、BLBL、CHCH、CLCL、DHDH、DLDL1616位寄存器:位寄存器:AXAX、BXBX、CXCX、DXDX、SISI、DIDI、BPBP、SPSP4 4个段寄存器:个段寄存器:CSCS、DSDS、SSSS、ESES例:例:MOV AX,BX ;两操作数都是寄存器寻址两操作数都是寄存

6、器寻址 MOV BX,1234h ;目的操作数是寄存器寻址目的操作数是寄存器寻址第第4 4章章 操作数的寻址方式操作数的寻址方式 汇汇编编时时,汇汇编编程程序序将将寄寄存存器器的的地地址址编编号号写写入入指令的地址码字段,如下图所示。指令的地址码字段,如下图所示。 寄存器寻址指令格式 第第4 4章章 操作数的寻址方式操作数的寻址方式寄存器寻址示意图 当当机机器器执执行行含含有有这这种种寻寻址址方方式式的的指指令令时时,根根据据地地址址码码字字段段的的编编号号访访问问到到寄寄存存器器,继继而而得到操作数,如下图所示。得到操作数,如下图所示。演示一下吧第第4 4章章 操作数的寻址方式操作数的寻址方

7、式存储器寻址方式存储器寻址方式 指令中给出操作数的偏移地址(有效地址指令中给出操作数的偏移地址(有效地址EAEA),而段地址在),而段地址在默认的段寄存器中或用段前缀指定的段寄存器中。默认的段寄存器中或用段前缀指定的段寄存器中。80868086设计了多种存储器寻址方式:设计了多种存储器寻址方式: 1 1、直接寻址方式、直接寻址方式 2 2、寄存器间接寻址方式、寄存器间接寻址方式 3 3、寄存器相对寻址方式、寄存器相对寻址方式 4 4、基址变址寻址方式、基址变址寻址方式 5 5、相对基址变址寻址方式、相对基址变址寻址方式第第4 4章章 操作数的寻址方式操作数的寻址方式直接寻址方式直接寻址方式 操

8、所数的有效地址在指令中直接给出,默认的段地址在操所数的有效地址在指令中直接给出,默认的段地址在DSDS段寄存器,可使用段前缀改变段寄存器,可使用段前缀改变 MOV AX,2000HMOV AX,2000H AXDS:2000H AXDS:2000H MOV ES:2000H,AX MOV ES:2000H,AX ES:2000H AX ES:2000H AX 表示一个内存单元,表示一个内存单元,数据为内存单元的数据为内存单元的偏移地址偏移地址通常直接寻址方式中的地址采用符号地址通常直接寻址方式中的地址采用符号地址MOV AX, DAT MOV AX, DAT 跨段前缀跨段前缀第第4 4章章 操

9、作数的寻址方式操作数的寻址方式直接寻址方式直接寻址方式例:设例:设 ( DS ) = 3000H( DS ) = 3000H MOV AX, 2000H MOV AX, 2000H要访问的存储单元要访问的存储单元物理地址物理地址为:为: 30000H+2000H=32000H30000H+2000H=32000H设设: (32000H)=1234H: (32000H)=1234H执行指令后执行指令后: (AX)=1234H: (AX)=1234H3412存储器存储器代码段代码段op0020数据段数据段30000H32000H 2000H指令指令 演示一下吧第第4 4章章 操作数的寻址方式操作数

10、的寻址方式寄存器间接寻址方式寄存器间接寻址方式 有效地址存放在有效地址存放在寄存器寄存器中:基址寄存器中:基址寄存器BXBX、BPBP或变址寄或变址寄存器存器SISI、DIDI中,中,BPBP的默认段地址在的默认段地址在SSSS段寄存器,段寄存器,BXBX、SISI、DIDI的默认段地址在的默认段地址在DSDS段寄存器,可使用段前缀改变段寄存器,可使用段前缀改变MOV AX,SIMOV AX,SIMOV AX,SS:BXMOV AX,SS:BX计算操作数物理地址的公式计算操作数物理地址的公式:1) 操作数物理地址操作数物理地址=(DS) 16+2) 操操 作作 数数 物物 理理 地地 址址 =

11、(SS) 16+(BP)(BX)(SI)(DI)第第4 4章章 操作数的寻址方式操作数的寻址方式寄存器间接寻址方式寄存器间接寻址方式例:设例:设 ( DS ) = 3000H ( DS ) = 3000H ( BX ) = 2000H ( BX ) = 2000H MOV AX, BX MOV AX, BX 要访问的存储单元要访问的存储单元物理地址物理地址为:为:设设: (32000H)=50A0H: (32000H)=50A0H执行指令后执行指令后: (AX)=50A0H: (AX)=50A0H30000H+2000H = 32000H 演示一下吧演示一下吧A050存储器存储器代码段代码段o

12、p寄存器号寄存器号数据段数据段30000H32000H 2000H第第4 4章章 操作数的寻址方式操作数的寻址方式寄存器相对寻址方式寄存器相对寻址方式 有效地址是有效地址是寄存器内容与有符号寄存器内容与有符号8 8位或位或1616位位移量之和位位移量之和, ,寄存器可以是寄存器可以是BXBX、BPBP或或SISI、DIDI; ;段地址对应于段地址对应于BX/SI/DIBX/SI/DI寄存寄存器默认是器默认是DSDS,对应于,对应于BPBP寄存器默认是寄存器默认是SSSS;可用段前缀改变。;可用段前缀改变。有效地址有效地址BX/BP/SI/DIBX/BP/SI/DI8/168/16位位移量位位移

13、量计算操作数物理地址的公式计算操作数物理地址的公式:1) 操作数物理地址操作数物理地址=(DS) 16+2) 操操作作数数物物理理地地址址=( SS) 16+ (BP) +8位位位移量位移量16位位移量位位移量+(SI)(DI)(BX)8位位位移量位移量16位位移量位位移量第第4 4章章 操作数的寻址方式操作数的寻址方式寄存器相对寻址方式寄存器相对寻址方式MOV AX,DI+96MOV AX,DI+96AXDS:DI+96AXDS:DI+96MOV BP+06H,AXMOV BP+06H,AXSS:BP+06HAXSS:BP+06HAXMOV AX, 96+DIMOV AX, 96+DIMOV

14、 AX,96DIMOV AX,96DIMOV AX,DI.96MOV AX,DI.96 第第4 4章章 操作数的寻址方式操作数的寻址方式寄存器相对寻址方式寄存器相对寻址方式例:设例:设 ( DS ) = 3000H( DS ) = 3000H ARRAY= 4000H ARRAY= 4000H ( SI ) = 2000H ( SI ) = 2000H MOV AX, ARRAY SI MOV AX, ARRAY SI 30000H+4000H+2000H= 36000H 30000H+4000H+2000H= 36000H 要访问的存储单元要访问的存储单元物理地址物理地址为:为:设设: (3

15、6000H)=1234H: (36000H)=1234H执行指令后执行指令后: (AX)=1234H: (AX)=1234H 34 12存储器存储器代码段代码段 op 00 40数据段数据段36000H op指令指令 4000H30000H 2000H演示一下吧演示一下吧第第4 4章章 操作数的寻址方式操作数的寻址方式基址变址寻址方式基址变址寻址方式 有效地址由有效地址由基址寄存器(基址寄存器(BXBX或或BPBP)的内容加上变址)的内容加上变址寄存器(寄存器(SISI或或DIDI)的内容构成。段地址对应于的内容构成。段地址对应于BXBX基址寄存基址寄存器默认是器默认是DSDS,对应于,对应于

16、BPBP基址寄存器默认是基址寄存器默认是SSSS;可用段前缀;可用段前缀改变。改变。 特点:特点:( (基址寄存器基址寄存器) ) + + ( (变址寄存器变址寄存器) ) = = 操作数的偏移地址操作数的偏移地址计算操作数物理地址的公式计算操作数物理地址的公式:1) 1) 操作数物理地址操作数物理地址= =(DS)(DS) 16+16+2) 2) 操作数物理地址操作数物理地址= =(SS)(SS) 16+(BP)+16+(BP)+(BX)+(BX)+(SI(SI) )(DI(DI) )(SI(SI) )(DI(DI) )第第4 4章章 操作数的寻址方式操作数的寻址方式基址变址寻址方式基址变址

17、寻址方式MOV AX,BX+SI AXDS:BX+SIMOV AX,BP+DI AXSS:BP+DIMOV AX,DS:BP+DI AXDS:BP+DImov AX,BXSI第第4 4章章 操作数的寻址方式操作数的寻址方式基址变址寻址方式基址变址寻址方式例:设例:设( DS ) = 2100H( DS ) = 2100H( BX ) = 0158H( BX ) = 0158H( DI ) = 1000H( DI ) = 1000H指令为:指令为:MOV AX, BX+DIMOV AX, BX+DI21000H+0158H +1000H= 22158H 21000H+0158H +1000H=

18、22158H 要访问的存储单元要访问的存储单元物理地址物理地址为:为:设设: (22158H)=1234H: (22158H)=1234H执行指令后执行指令后: (AX)=1234H: (AX)=1234H 0158H 34 12存储器存储器数据段数据段21000H22158H 1000H演示一下吧演示一下吧第第4 4章章 操作数的寻址方式操作数的寻址方式相对基址变址寻址方式相对基址变址寻址方式 有效地址是有效地址是基址寄存器(基址寄存器(BX/BPBX/BP)、变址寄存器)、变址寄存器(SI/DISI/DI)与一个)与一个8 8位或位或1616位位移量之和位位移量之和;段地址对应于;段地址对

19、应于BXBX基基址寄存器默认是址寄存器默认是DSDS,对应于,对应于BPBP基址寄存器默认是基址寄存器默认是SSSS;可用段;可用段前缀改变。前缀改变。 MOV AX,BX+SI+96 AXDS:BX+SI+96 MOV AX,96+BX+SIMOV AX,96BXSI MOV AX,BX.96SI MOV AX,BXSI.96特点:特点:( (基址寄存器基址寄存器) )+ +( (变址寄存器变址寄存器)+)+位移量位移量 = = 操作数的偏移地址操作数的偏移地址第第4 4章章 操作数的寻址方式操作数的寻址方式相对基址变址寻址方式相对基址变址寻址方式例:设例:设( SS ) = 3000H(

20、SS ) = 3000H ( BP ) = 2000H( BP ) = 2000H ARRAY = 0250H ARRAY = 0250H ( SI ) = 1000H( SI ) = 1000H MOV AX, ARRAYBPSI MOV AX, ARRAYBPSI30000H+2000H +0250+1000H30000H+2000H +0250+1000H = 33250H = 33250H 要访问的存储单元要访问的存储单元物理地物理地址址为:为:30000H30000H 3434 1212存储器存储器代码段代码段 op op 5050 0202堆栈段堆栈段33250H33250H op op 2000H 1000H 0250H演示一下吧演示一下吧第第4 4章章 操作数的寻址方式操作数的寻址方式位移量可用符号表示位移量可用符号表示 在寄存器相对寻址或相对基址变址寻址方式中,位移量可在寄存器相对寻址或相对基址变址寻址方式中,位移量可用符号表示:用符号表示:MOV AX,SI+MOV AX,SI+COUNTCOUNT ;COUNTCOUNT是事先定义的变量或常量(就是数值)是事先定义的变量或常量(就是数值)MOV AX,BX+SI+MOV AX,BX+SI+WNUMWNUM ;WNUMWNUM也是变量或常量也是变量或常量

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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