汇编语言PPT教学课件-第3章 寻址方式.ppt_第1页
汇编语言PPT教学课件-第3章 寻址方式.ppt_第2页
汇编语言PPT教学课件-第3章 寻址方式.ppt_第3页
汇编语言PPT教学课件-第3章 寻址方式.ppt_第4页
汇编语言PPT教学课件-第3章 寻址方式.ppt_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章寻址方式,主讲:,3.1IntelCPU的指令,3.1.1指令与指令系统3.1.2指令的格式,3.1.1指令与指令系统指令是计算机的操作命令,通过指令去要求计算机完成某种指定的操作。它是CPU本身可以直接完成的操作。如传送、算术运算、串处理等,都是CPU本身可以直接完成的操作,不用借助于一段程序来实现,所以CPU有对应的传送、算术运算、串处理等指令。CPU的指令种类虽然有限,但它们经过排列组合组成的指令序列却是无限的,每种指令序列理论上即是一种程序。所以运行在有限种类指令CPU上的程序几乎是无限的。,3.1.2指令的格式计算机中的指令一般由操作码字段和操作数字段两部分组成,个别的指令没有操作数字段。操作码字段指示计算机所要完成的操作,而操作数字段则指出在指令执行过程中所需要的操作数。操作数字段比较灵活,可以是操作数本身、还可以是得到操作数方法的信息,即寻址方式。指令的二进制代码格式为:,指令的种类若没有操作数字段,称为无操作数指令;若操作数字段只有一个,称为单操作数指令;若操作数字段有两个,称为双操作数指令;若操作数字段是三个,称为三操作数指令。最常用的是双操作数指令和单操作数指令。,几种指令的书写格式。1.双操作数指令的书写格式。格式:标号:操作码dst,src;注释2.单操作数指令的书写格式。格式:标号:操作码opr;注释opr项即该指令的惟一操作数。其它项与双操作数指令类似。3.三操作数指令的书写格式。格式:标号:操作码dst,src,imm;注释4.无操作数指令的书写格式。格式:标号:操作码;注释,Intel8086/8088CPU的指令一般由操作码字段和操作数字段两部分组成,对于某条指令的操作数字段,如果直接给出全部操作数的具体值,则该条指令的操作结果就永远是单一的,没有变化。所以,Intel8086/8088CPU的指令的操作数字段都不直接给出所有操作数的具体值,而只是在操作数字段中给出如何得到这个操作数的信息,如在CPU中某个寄存器中得到这个操作数,或在内存的某个段中,以某种方式求得这个操作数的偏移地址,进而求得该操作数的物理地址,根据该物理地址在内存中取得这个操作数。这些在操作数字段中,表示如何得到该操作数的信息,称为该操作数的寻址方式。,3.2Intel8086/8088CPU的寻址方式,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立即寻址立即寻址是指操作数的具体值作为指令的一部分而直接写在指令中,这种操作数称为立即数,立即数紧跟在操作码之后,与操作码一起存放在代码段中。如果立即数为16位,则立即数的存放规则是高字节存放在高地址,低字节存放在低地址。如助记符表示的指令MOVBL,3AH,对应的二进制机器语言指令为B33AH,其中,B3H是操作码,3AH为立即数;助记符表示的指令MOVAX,1200H,对应的二进制机器语言指令为B80012H,其中,B8H是操作码,而0012H是立即数,存放规则是高字节存放在高地址,低字节存放在低地址。,3.2.2寄存器寻址寄存器寻址方式的操作数直接存放在由指令指明的寄存器中。在汇编指令中直接书写寄存器名,如16位寄存器操作数可以是AX、BX、CX、DX、SI、DI、BP、SP等;8位寄存器操作数可以是AH、AL、BH、BL、CH、CL、DH、DL。此寻址方式由于存取操作数直接从CPU内部寄存器中获得,不需访问存储器,因而指令执行的速度快。,3.2.3直接寻址采用直接寻址的操作数,其所在存储单元的偏移地址直接在指令中给出,其所在的段是默认的,即在数据段,当然,操作数也可以在非默认段,这种情况称为段跨越。在用助记符书写的汇编语言指令中,偏移地址如果是具体的数值,则必须加中括号;偏移地址如果是符号地址,则可以不加中括号;段跨越时,操作数前必须加“段寄存器名”:这样的段跨越前缀。直接寻址是最简单的存储器寻址,这种寻址,适合于处理存储器的单个存储单元。,3.2.4寄存器间接寻址采用寄存器间接寻址的操作数,其所在存储单元的偏移地址直接在指令中的基址或变址寄存器中给出,基址或变址寄存器是指8086/8088CPU中的BX、SI、DI、BP四个寄存器。操作数所在的段是默认的,即是BX、SI、DI寄存器时,操作数默认在数据段;基址或变址寄存器是BP时,操作数默认在堆栈段;当然,操作数也可以段跨越。在用助记符书写的汇编语言指令中,基址或变址寄存器必须加中括号,若段跨越,则操作数前必须加段跨越前缀。寄存器间接寻址是常用的寻址方式,这种寻址方式,适合于处理存储器中的一个数组。,3.2.5寄存器相对寻址采用寄存器相对寻址的操作数,其所在存储单元的偏移地址由指令中的基址或变址寄存器中的内容和指令提供的位移量相加而成,位移量是个8位和16位的有符号数或者是个对应的符号地址,基址或变址寄存器是指8086/8088CPU中的BX、SI、DI、BP四个寄存器。基址或变址寄存器是BX、SI、DI寄存器时,操作数默认在数据段;基址或变址寄存器是BP时,操作数默认在堆栈段;另外,操作数也可以段跨越。在用助记符书写的汇编语言指令中,基址或变址寄存器与位移量相加后必须加中括号,位移量也可位于中括号外;若段跨越,则操作数前必须加段跨越前缀。寄存器相对寻址是常用的寻址方式,这种寻址方式,适合于存储器中表格处理。,3.2.6基址变址寻址采用基址变址寻址的操作数,其所在存储单元的偏移地址由指令中的基址和变址寄存器中的内容相加而成,基址寄存器是指8086/8088CPU中的BX、BP两个寄存器,变址寄存器是指8086/8088CPU中的SI、DI两个寄存器。操作数所在的段是默认的,即基址是BX寄存器时,操作数默认在数据段;基址寄存器是BP时,操作数默认在堆栈段;当然,操作数也可以段跨越。在用助记符书写的汇编语言指令中,基址和变址寄存器相加后必须加中括号或者分别加中括号后相加;若段跨越,则操作数前必须加段跨越前缀。基址变址寻址是常用的寻址方式,这种寻址方式,适合于存储器中表格处理。,3.2.7相对基址变址寻址采用相对基址变址寻址的操作数,其所在存储单元的偏移地址由基址加变址寄存器中的内容再和指令提供的位移量相加而成,位移量是个8位和16位的有符号数或者是个对应的符号地址。基址寄存器是指8086/8088CPU中的BX、BP两个寄存器,变址寄存器是指8086/8088CPU中的SI、DI两个寄存器。操作数所在的段是默认的,即基址是BX寄存器时,操作数默认在数据段;基址寄存器是BP时,操作数默认在堆栈段;当然,操作数也可以段跨越。在用助记符书写的汇编语言指令中,基址和变址寄存器与位移量相加后必须加中括号,位移量也可位于中括号之外;若段跨越,则操作数前必须加段跨越前缀。基址变址寻址是常用的寻址方式,这种寻址方式,适合于存储器中二维数组的处理。,3.2.8端口寻址方式采用端口寻址方式的指令只有IN(输入)指令的源操作数和OUT(输出)指

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论