汇编语言PPT教学课件-第3章 寻址方式

上传人:QQ15****706 文档编号:98937809 上传时间:2019-09-16 格式:PPT 页数:18 大小:97KB
返回 下载 相关 举报
汇编语言PPT教学课件-第3章 寻址方式_第1页
第1页 / 共18页
汇编语言PPT教学课件-第3章 寻址方式_第2页
第2页 / 共18页
汇编语言PPT教学课件-第3章 寻址方式_第3页
第3页 / 共18页
汇编语言PPT教学课件-第3章 寻址方式_第4页
第4页 / 共18页
汇编语言PPT教学课件-第3章 寻址方式_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《汇编语言PPT教学课件-第3章 寻址方式》由会员分享,可在线阅读,更多相关《汇编语言PPT教学课件-第3章 寻址方式(18页珍藏版)》请在金锄头文库上搜索。

1、第3章 寻址方式,主讲:,3.1 Intel CPU的指令,3.1.1 指令与指令系统 3.1.2 指令的格式,3.1.1 指令与指令系统 指令是计算机的操作命令,通过指令去要求计算机完成某种指定的操作。它是CPU本身可以直接完成的操作。如传送、算术运算、串处理等,都是CPU本身可以直接完成的操作,不用借助于一段程序来实现,所以CPU有对应的传送、算术运算、串处理等指令。 CPU的指令种类虽然有限,但它们经过排列组合组成的指令序列却是无限的,每种指令序列理论上即是一种程序。所以运行在有限种类指令CPU上的程序几乎是无限的。,3.1.2 指令的格式 计算机中的指令一般由操作码字段和操作数字段两部

2、分组成,个别的指令没有操作数字段。操作码字段指示计算机所要完成的操作,而操作数字段则指出在指令执行过程中所需要的操作数。操作数字段比较灵活,可以是操作数本身、还可以是得到操作数方法的信息,即寻址方式。 指令的二进制代码格式为:,指令的种类 若没有操作数字段,称为无操作数指令;若操作数字段只有一个,称为单操作数指令;若操作数字段有两个,称为双操作数指令;若操作数字段是三个,称为三操作数指令。最常用的是双操作数指令和单操作数指令。,几种指令的书写格式。 1.双操作数指令的书写格式。 格式:标号: 操作码 dst,src ;注释 2.单操作数指令的书写格式。 格式:标号: 操作码 opr ;注释 o

3、pr项即该指令的惟一操作数。其它项与双操作数指令类似。 3.三操作数指令的书写格式。 格式:标号: 操作码 dst,src,imm;注释 4.无操作数指令的书写格式。 格式:标号: 操作码 ;注释,Intel 8086/8088 CPU的指令一般由操作码字段和操作数字段两部分组成,对于某条指令的操作数字段,如果直接给出全部操作数的具体值,则该条指令的操作结果就永远是单一的,没有变化。所以,Intel 8086/8088 CPU的指令的操作数字段都不直接给出所有操作数的具体值,而只是在操作数字段中给出如何得到这个操作数的信息,如在CPU中某个寄存器中得到这个操作数,或在内存的某个段中,以某种方式

4、求得这个操作数的偏移地址,进而求得该操作数的物理地址,根据该物理地址在内存中取得这个操作数。这些在操作数字段中,表示如何得到该操作数的信息,称为该操作数的寻址方式。,3.2 Intel 8086/8088 CPU的寻址方式,3.2.1立即寻址 3.2.2寄存器寻址 3.2.3直接寻址 3.2.4寄存器间接寻址 3.2.5寄存器相对寻址 3.2.6基址变址寻址 3.2.7相对基址变址寻址 3.2.8端口寻址方式,以MOV指令和ADD指令为例详细介绍所有寻址方式,3.2.1立即寻址 立即寻址是指操作数的具体值作为指令的一部分而直接写在指令中,这种操作数称为立即数,立即数紧跟在操作码之后,与操作码一

5、起存放在代码段中。 如果立即数为16位,则立即数的存放规则是高字节存放在高地址,低字节存放在低地址。如助记符表示的指令MOV BL,3AH,对应的二进制机器语言指令为B33AH,其中,B3H是操作码,3AH为立即数;助记符表示的指令MOV AX,1200H,对应的二进制机器语言指令为B80012H,其中,B8H是操作码,而0012H是立即数,存放规则是高字节存放在高地址,低字节存放在低地址。,3.2.2寄存器寻址 寄存器寻址方式的操作数直接存放在由指令指明的寄存器中。在汇编指令中直接书写寄存器名,如16位寄存器操作数可以是AX、BX、CX、DX、SI、DI、BP、SP等;8位寄存器操作数可以是

6、AH、AL、BH、BL、CH、CL、DH、DL。此寻址方式由于存取操作数直接从CPU内部寄存器中获得,不需访问存储器,因而指令执行的速度快。,3.2.3直接寻址 采用直接寻址的操作数,其所在存储单元的偏移地址直接在指令中给出,其所在的段是默认的,即在数据段,当然,操作数也可以在非默认段,这种情况称为段跨越。在用助记符书写的汇编语言指令中,偏移地址如果是具体的数值,则必须加中括号;偏移地址如果是符号地址,则可以不加中括号;段跨越时,操作数前必须加“段寄存器名”:这样的段跨越前缀。直接寻址是最简单的存储器寻址,这种寻址,适合于处理存储器的单个存储单元。,3.2.4寄存器间接寻址 采用寄存器间接寻址

7、的操作数,其所在存储单元的偏移地址直接在指令中的基址或变址寄存器中给出,基址或变址寄存器是指8086/8088 CPU中的BX、SI、DI、BP四个寄存器。操作数所在的段是默认的,即是BX、SI、DI寄存器时,操作数默认在数据段;基址或变址寄存器是BP时,操作数默认在堆栈段;当然,操作数也可以段跨越。在用助记符书写的汇编语言指令中,基址或变址寄存器必须加中括号,若段跨越,则操作数前必须加段跨越前缀。寄存器间接寻址是常用的寻址方式,这种寻址方式,适合于处理存储器中的一个数组。,3.2.5寄存器相对寻址 采用寄存器相对寻址的操作数,其所在存储单元的偏移地址由指令中的基址或变址寄存器中的内容和指令提

8、供的位移量相加而成,位移量是个8位和16位的有符号数或者是个对应的符号地址,基址或变址寄存器是指8086/8088CPU中的BX、SI、DI、BP四个寄存器。基址或变址寄存器是BX、SI、DI寄存器时,操作数默认在数据段;基址或变址寄存器是BP时,操作数默认在堆栈段;另外,操作数也可以段跨越。在用助记符书写的汇编语言指令中,基址或变址寄存器与位移量相加后必须加中括号,位移量也可位于中括号外;若段跨越,则操作数前必须加段跨越前缀。寄存器相对寻址是常用的寻址方式,这种寻址方式,适合于存储器中表格处理。,3.2.6基址变址寻址 采用基址变址寻址的操作数,其所在存储单元的偏移地址由指令中的基址和变址寄

9、存器中的内容相加而成,基址寄存器是指8086/8088CPU中的BX、BP两个寄存器,变址寄存器是指8086/8088CPU中的SI、DI两个寄存器。操作数所在的段是默认的,即基址是BX寄存器时,操作数默认在数据段;基址寄存器是BP时,操作数默认在堆栈段;当然,操作数也可以段跨越。在用助记符书写的汇编语言指令中,基址和变址寄存器相加后必须加中括号或者分别加中括号后相加;若段跨越,则操作数前必须加段跨越前缀。基址变址寻址是常用的寻址方式,这种寻址方式,适合于存储器中表格处理。,3.2.7相对基址变址寻址 采用相对基址变址寻址的操作数,其所在存储单元的偏移地址由基址加变址寄存器中的内容再和指令提供

10、的位移量相加而成,位移量是个8位和16位的有符号数或者是个对应的符号地址。基址寄存器是指8086/8088CPU中的BX、BP两个寄存器,变址寄存器是指8086/8088CPU中的SI、DI两个寄存器。操作数所在的段是默认的,即基址是BX寄存器时,操作数默认在数据段;基址寄存器是BP时,操作数默认在堆栈段;当然,操作数也可以段跨越。在用助记符书写的汇编语言指令中,基址和变址寄存器与位移量相加后必须加中括号,位移量也可位于中括号之外;若段跨越,则操作数前必须加段跨越前缀。基址变址寻址是常用的寻址方式,这种寻址方式,适合于存储器中二维数组的处理。,3.2.8端口寻址方式 采用端口寻址方式的指令只有IN(输入)指令的源操作数和OUT(输出)指令的目的操作数,采用端口寻址方式的操作数,操作数位于接口的某个端口中,在助记符书写的汇编语言指令中,就是一个8位的端口地址(此时,端口地址位于0000H00FFH之间)或DX寄存器(此时,端口地址位于0100HFFFFH之间,从端口地址应提前用MOV指令传送到DX寄存器中)。,七种基本寻址方式总结如下,谢谢!,

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

当前位置:首页 > 办公文档 > 其它办公文档

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