微机原理3指令系统2寻址方式.ppt

上传人:牧羊曲112 文档编号:6572761 上传时间:2023-11-13 格式:PPT 页数:44 大小:953.50KB
返回 下载 相关 举报
微机原理3指令系统2寻址方式.ppt_第1页
第1页 / 共44页
微机原理3指令系统2寻址方式.ppt_第2页
第2页 / 共44页
微机原理3指令系统2寻址方式.ppt_第3页
第3页 / 共44页
微机原理3指令系统2寻址方式.ppt_第4页
第4页 / 共44页
微机原理3指令系统2寻址方式.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《微机原理3指令系统2寻址方式.ppt》由会员分享,可在线阅读,更多相关《微机原理3指令系统2寻址方式.ppt(44页珍藏版)》请在三一办公上搜索。

1、8088/8086的寻址方式,从8088/8086的指令格式入手,论述:立即数寻址方式寄存器寻址方式存储器寻址方式进而熟悉8088/8086汇编语言指令格式,尤其是其中操作数的表达方法为展开8088/8086指令系统做好准备,指令的组成,操作码说明计算机要执行哪种操作,如传送、运算、移位、跳转等操作,它是指令中不可缺少的组成部分操作数是指令执行的参与者,即各种操作的对象有些指令不需要操作数,通常的指令都有一个或两个操作数,也有个别指令有3个甚至4个操作数,指令由操作码和操作数两部分组成,指令的助记符格式,操作数2,称为源操作数src,它表示参与指令操作的一个对象操作数1,称为目的操作数dest

2、,它不仅可以作为指令操作的一个对象,还可以用来存放指令操作的结果分号后的内容是对指令的解释,操作码 操作数1,操作数2;注释,汇编语句格式,指令的操作码和操作数,每种指令的操作码:用一个助记符表示(指令功能的英文缩写)对应着机器指令的一个或多个二进制编码指令中的操作数:可以是一个具体的数值可以是存放数据的寄存器或指明数据在主存位置的存储器地址,MOV指令,操作数的寻址方式,指令系统设计了多种操作数的来源寻找操作数的过程就是操作数的寻址把寻找操作数的方式叫做(操作数)寻址方式理解操作数的寻址方式是理解指令功能的前提操作数采取哪一种寻址方式一方面,会影响处理器执行指令的速度和效率另一方面,对程序设

3、计也很重要,MOV指令,立即数寻址方式,指令中的操作数直接存放在机器代码中,紧跟在操作码之后(操作数作为指令的一部分存放在操作码之后的主存单元中)这种操作数被称为立即数imm可以是8位数值i8(00HFFH)也可以是16位数值i16(0000HFFFFH)立即数寻址方式常用来给寄存器和存储单元赋值,多以常量形式出现,演示,MOV AX,0102H;AX0102H,注意:立即数只能作双操作数指令的源操作数,不能作目的操作数。立即数不能作单操作数指令的操作数。如:MOV 100H,AX INC 50 立即数送入目的操作数中,注意溢出 如:MOV AL,100H,寄存器寻址方式,操作数存放在CPU的

4、内部寄存器reg中8位寄存器r8AH、AL、BH、BL、CH、CL、DH、DL16位寄存器r16AX、BX、CX、DX、SI、DI、BP、SP4个段寄存器seg:CS、DS、SS、ES寄存器名表示其内容(操作数),演示,MOV AX,BX;AXBX,例如:寄存器寻址方式 MOV AX,BX MOV AL,BH注意:源寄存器 和目的寄存器的字长必须一致 MOV AH,BX CS、IP不能用MOV指令改变 MOV CS,AX MOV IP,AX 段寄存器不能直接传送:MOV CS,DS,存储器寻址方式,如果操作码所需操作数存放在内存中,则指令中需要给出操作数的地址信息,用内存地址表示程序设计时,8

5、088采用逻辑地址表示内存地址段地址在默认的或用段超越前缀指定的段寄存器中指令中只需给出操作数的偏移地址(有效地址EA)8086设计了多种存储器寻址方式1、直接寻址方式2、寄存器间接寻址方式3、寄存器相对寻址方式4、基址变址寻址方式5、相对基址变址寻址方式,1.存储器直接寻址方式,直接寻址方式的有效地址在指令中直接给出,中括号中包含有效地址,表达存储单元的内容默认的段地址在DS段寄存器,可使用段超越前缀改变其物理地址求法为:PA=(DS)*10H+EA,MOV AX,2000H;AXDS:2000H,演示,MOV AX,2000H;PA=(DS)*10H+2000H)设执行前(DS)=1492

6、H(16920H)=9078H 则执行后(AX)=2415H,注意:如果不是数据段,必须用段超越前缀特别指明:例:MOV AX,ES:2000H;段跨越符ES PA=(ES)*10H+2000H)MOV SS:1000H,BX;段跨越符 SS PA=(SS)*10H+1000H),1)若有效地址存放在基址寄存器BX或变址寄存器SI、DI中则默认的段地址在DS段寄存器。MOV AX,BX MOV AX,SI MOV AX,DI物理地址PA=10H*(DS)+(SI/DI/BX),2.寄存器间接寻址方式,例:MOV AX,BX;PA=(DS)*10H+(BX)若执行前(DS)=2000H,(BX)

7、=1000H,:MOV AX,BX DS BX:0A0H 21000H+50H 21001H:,数据段,2000H*10H,1000H,50H 0A0H,内存,AX,演示,MOV AX,BX;AXDS:BX,2)若BP作间址寄存器,则对象存放在当前堆栈段中。物理地址=10H*(SS)+(BP),如:MOV BX,BP;PA=(SS)*10H+(BP),3)若指定段跨越符,则不管BP,BX,SI,DI那个作变址器,都取相应段中数据。,如:MOV ES:BP,AX;PA=(ES)*10H+(BP)MOV AH,ES:BX;PA=(ES)*10H+(BX),注:间址器一定要是BP,BX,SI,DI之

8、一 如:MOV CX,AX 间接寻址方式表示对象的地址,并不能表示对 象的类型。,PA=DS*10H+X+(SI)DS*10H+X+(DI)DS*10H+X+(BX)SS*10H+X+(BP),MOV AX,XSI MOV AX,XDI MOV AX,XBX MOV AX,XBP 其中X为8、16位偏移量,3.寄存器相对寻址方式,有效地址是寄存器内容与有符号8位或16位位移量之和,寄存器可以是BX、BP或SI、DI段地址对应BX/SI/DI寄存器默认是DS,对应BP寄存器默认是SS;可用段超越前缀改变,例:MOV CX,-6BX;PA=(DS)*10H+(BX)-6X设执行前(BX)=16H,

9、(DS)=2000H,(20010H)=3789H 执行:,执行后(CX)=3789H,其他寄存器内容不变。,:MOV CX DS BX OFFH OFAH:89H 20010H 37H 20011H:,代码段,数据段,2000H,16H,6,例:MOV BX+7,BX,演示,MOV AX,SI+06H;AXDS:SI+06H,MOV AX,06HSI;AXDS:SI+06H,物理地址PA=(DS)*10H+(BX)+(SI)或DI(SS)*10H+(BP)+(SI)或DI,MOV AX,BXSI MOV AX,BXDI MOV AX,BPSI MOV AX,BPDI,4.基址变址寻址方式,有

10、效地址由基址寄存器(BX或BP)的内容加上变址寄存器(SI或DI)的内容构成:段地址对应BX基址寄存器默认是DS,对应BP基址寄存器默认是SS;可用段超越前缀改变,例:MOV AX,BX+BP MOV SI+DI,CX MOV BX+CX,AX,例:MOV AX,BX+DI MOV AX,BXDI 设执行前(DS)=2100H(BX)=158H(DI)=10A5H(221FDH)=1234H EA=158H+10A5H=11FDH 物理地址:(DS)*10H+EA=21000H+11FDH=221FDH,:DS BX DI 指令码:+34H 221FDH 12H 221FEH:,2100H,1

11、58H,10A5H,数据段,执行后:(AX)=1234H当 MOV AL,BX+DI;(221FDH)字节=34H AL 即(AL)=34H,MOV AX,BX+SI;AXDS:BX+SI,演示,MOV AX,BXSI;AXDS:BX+SI,5.相对基址变址寻址方式,MOVAX,XBXSI MOVAX,XBXDI MOVAX,XBPSI MOV AX,XBPDI,PA=(DS)*10H+(BX)+(SI)或(DI)+X(SS)*10H+(BP)+(SI)或(DI)+X,有效地址是基址寄存器(BX/BP)、变址寄存器(SI/DI)与一个8位或16位位移量之和:有效地址BX/BPSI/DI8/16

12、位位移量段地址对应BX基址寄存器默认是DS,对应BP基址寄存器默认是SS;可用段超越前缀改变,例:MOV AX,BX+DI MOV AX,BXDI 设执行前(DS)=2100H(BX)=158H(DI)=10A5H(221FDH)=1234H EA=158H+10A5H=11FDH 物理地址:(DS)*10H+EA=21000H+11FDH=221FDH,:DS BX DI 指令码:+34H 221FDH 12H 221FEH:,2100H,158H,10A5H,数据段,执行后:(AX)=1234H当 MOV AL,BX+DI;(221FDH)字节=34H AL 即(AL)=34H,演示,MO

13、V AX,BX+DI+6;AXDS:BX+DI+6,MOV AX,6BX+DI,MOV AX,6BXDI,存储器寻址方式中的变量,变量指示内存中的数据,变量名具有地址属性。存储器寻找方式中经常采用变量形式变量的定义WVAR DW 1234H;定义16位变量WVAR,具有初值1234H;假设其偏移地址为0010H单独引用变量名是直接寻址方式MOV AX,WVAR;指令功能:AX1234H;等同于 MOV AX,0010H相对寻址方式中,变量名表示其偏移地址,相当于位移量MOV AX,DI+WVAR;MOV AX,WVARDI;等同于 MOV AX,DI+0010H,课堂练习:1.分别指出下列指令

14、中源操作数和目的操作数的寻址方式 MOV SI,C ADD CX,0010H MOV BX+3,AX MOV DL,BP+DI SUB BXSI,AL MOV BX,AX2.指出下列各寻址中的错误,并说明原因 MOV 100H,AX MOV BX+BP,SI MOV CS,AX ADD AX,DI+SI ADD AX,BL MOV AH,1000 3.已(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=0ADH,(BX)=100H,(BP)=10H,试指出下列源操作数的寻址方式是什么?其物理地址值是什么?(1)MOV AX,100H(2)MOV BX,SI(3)MOV

15、 CX,BX+10H(4)MOV AX,BXSI(5)MOV CL,BP+4(6)MOV CH,ES:BP+SI,操作数的表达符号(1),操作数的表达符号(2),掌握操作数的寻址方式后,进入指令学习,汇编语言的两种语句格式,执行性语句执行性语句用于表达处理器指令(也称为硬指令),汇编后对应一条指令代码。由处理器指令组成的代码序列是程序设计的主体标号:硬指令助记符 操作数,操作数;注释说明性语句说明性语句用于表达伪指令,指示源程序如何汇编、变量怎样定义、过程怎么设置等名字 伪指令助记符 参数,参数,;注释,MOV指令的功能,立即数寻址方式,寄存器寻址方式,直接寻址方式,间接寻址方式,相对寻址方式,基址变址寻址方式,相对基址变址寻址方式,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号