中职计算机原理(主编瞿正刚等_北理工版)课件模块三_指令系统_3_第1页
中职计算机原理(主编瞿正刚等_北理工版)课件模块三_指令系统_3_第2页
中职计算机原理(主编瞿正刚等_北理工版)课件模块三_指令系统_3_第3页
中职计算机原理(主编瞿正刚等_北理工版)课件模块三_指令系统_3_第4页
中职计算机原理(主编瞿正刚等_北理工版)课件模块三_指令系统_3_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

任务2 8086寻址方式,2.转移地址寻址方式 这种寻址方式主要用来确定转移指令和子程序调用指令CALL的目标地址,其目标地址可能在当前代码段内,也可能在当前代码段外,故有4种方式。 1)段内相对寻址 段内相对寻址是指程序的转移地址由指令指针IP的当前值与指令中给出的8位或16位偏移量相加而生成。偏移量是一个带符号的数,用补码表示。其中8位偏移量称为段内短转移SHORT,转移范围为-128+127 ;16位偏移量称为段内近转移NEAR,转移范围为-32768+32767。其示意如图3-15所示。 段内相对寻址的特点是代码段寄存器CS的值保持不变,偏移量可以是8位或者16位。指令格式如下。 JMP SHORT OPR ;IP (IP)+8位偏移量 JMP NEAR PTR OPR ;IP (IP)+16位偏移量,下一页,返回,上一页,图3-15段内相对寻址示意图,返回,任务2 8086寻址方式,2)段内间接寻址 段内间接寻址是指转移指令的偏移地址存放在一个16位的寄存器或存储器单元中,用来取代IP中的当前值。这个寄存器或存储器单元可由数据寻址方式中除立即数之外的任何一种方式得到。其示意如图3-16所示。 段内间接寻址的特点仍是CS的值不变,IP的值由一个16位寄存器或存储器单元提供的数所取代。举例如下。 JMP BX ;把寄存器BX中的数送入指令指针IP中 JMP WORD PTRBXSI ;按照基址加变址的方式获取操作数,送入IP中,下一页,返回,上一页,图3-16段内间接寻址示意图,返回,任务2 8086寻址方式,3)段间直接寻址 段间直接寻址是在指令中直接给出转移的16位段地址和16位偏移地址,分别送入代码段寄存器CS和指令指针寄存器IP中。举例如下。 JMP FAR PTR NEXTSUB 段间寻址由FAR来说明,其中NEXTSUB是符号地址,在指令中直接给出,包括转移目标的偏移地址和段地址。 4)段间间接寻址 在段间间接寻址方式中,转移地址存放在存储器中的两个连续字单元中,其中第一个字是偏移地址,第二个字是段地址。存储器单元地址可用数据寻址方式中除立即数和寄存器直接寻址以外的任何一种寻址方式来确定,如图3-17所示。举例如下。,下一页,返回,上一页,图3-17段间间接寻址示意图,返回,任务2 8086寻址方式,JMP DWORD PTRBX ;由寄存器BX确定连续两个存储器单元,取出其中的数据分别送入IP和CS中 JMP DWORD PTRBP+SI+100 H;由BP+SI+100H确定连续两个存储器单元,取出其中的数据分别送入IP和CS中,返回,上一页,任务3 8086指令系统,8086指令系统是80X86/Pentium的基本指令集。指令的操作数可以是8位或16位操作数,偏移地址是16位地址。 8086指令系统按功能可分为如下6大类指令。 (1)数据传送类指令。 (2)算术运算类指令。 (3)逻辑运算与移位类指令。 (4)串操作类指令。 (5)控制转移类指令。 (6)处理器控制类指令。 学习指令时要注意掌握各类指令的书写格式、指令功能、寻址方式、指令对标志位的影响等方面。全面准确地理解每条指令的功能和用法是编写程序的关键。,下一页,返回,任务3 8086指令系统,3.3.1数据传送类指令 数据传送类指令是计算机中最基本、最重要,也是最常用的一种指令,其功能是把数据、地址或立即数传送到寄存器或存储单元。此类指令除了SAHF和POPF外均不影响标志寄存器的内容。按照传送的内容和功能的不同,可将数据传送指令分为3组,如表3-1所示。其中dst表示目的操作数,src表示源操作数。 1.MOV指令 MOV指令的源操作数可以是存储器、通用寄存器、段寄存器以及立即数,目的操作数可以是存储器、通用寄存器与段寄存器。图3-18描绘了MOV指令可以传送的路径。,下一页,返回,上一页,表3-1数据传送类指令,返回,表3-1数据传送类指令,返回,图3-18 MOV指令的数据传送示意图,返回,任务3 8086指令系统,表3-2列出了常用的MOV指令类型。表中使用了以下含义的通用符号。 (1)imm表示立即数。 (2)reg表示通用寄存器。 (3)r/m表示寄存器或者存储器。 (4)sreg表示段寄存器。 以上符号也适用于IA通用指令集中的其他指令。由图3-18和表3-2中可以看出必须注意以下几点问题。 存储器之间不能互相传送,即源与目的两个操作数不能同时为存储器。 段寄存器之间不能互相传送,即源与目的两个操作数不能同时为段寄存器。,下一页,返回,上一页,表3-2 MOV指令类型,返回,任务3 8086指令系统,立即数不能直接传送给段寄存器,必须借助通用寄存器实现。例如,将55 H装入DS段寄存器就应使用以下2条指令。 MOV AX,55H MOV DS,AX 在汇编语言编程的基本规则中必须保持源与目的两个操作数的类型一致,即两者都是16位,或者都是32位。 由于常数是不带类型的,因而当CPU已知目的操作数的类型时就会自动扩展常数的长度。例如,MOV AX,68是合法的,此时AH中装0。但当CPU不能确定目的操作数类型时就无法处理常数,例如,MOV BX , 68是非法的。此时的目的操作数只知是由BX指定了首地址的存储器数据,然而是字节还是字或者其他数据类型都未确定,因此必须在指令的目的操作数前加入类型前缀。举例如下。,下一页,返回,上一页,任务3 8086指令系统,MOV WORD PTRBX,68 ;(BX) 68,(BX+1) 00 MOV DWORD PTRBX,68 ;(BX) 68,(BX+1/2/3) 00 表3-2中的3条串操作指令:MOVSB是字节类型串操作;MOVSIV是字类型串操作;MOVSD是双字类型串操作。它们均是专门针对数据块的传送而设计的,执行该指令时CPU将自动发生以下一系列操作。 将由DS:SI指定的源存储器数据传送到由ES;DI指定的目的存储器中。 源地址指向下一个单元,对于MOVSB是SI 1SI,对于MOVSW是SI 2 SI,对于MOVSD是SI 4 SI,具体为加法还是减法则取决于标志寄存器中的方向标志位D。D =0时做加法,地址递增;D=1时做减法,地址递减。,下一页,返回,上一页,任务3 8086指令系统,目的地址指向下一个单元,对于MOVSB是DI 1 DI,对于MOVSW是DI 2 DI,对于MOVSD是DI 4 DI,具体为加法还是减法同上述源地址的方向同步。 为了达到对数据块重复操作的目的,应在该指令前加上重复前缀指令REP : REPMOVSB;字节类型重复串操作的指令如下。 REP MOVSW ;字类型重复串操作 RFP MOVSD ;双字类型重复串操作 执行该指令除发生上面已经介绍的3个自动操作外,还会使计数寄存器CX或ECX自动减1,并判断它的内容是否减到了零,若未到0则会重复执行该条指令,直到减为0时才退出重复转入下条指令。,下一页,返回,上一页,任务3 8086指令系统,例3-1假设LISTA与LISTB为两个字节类型数据存储器缓冲区,各有100个字节的空间,试编写将LISTA缓冲区数据复制到LISTB缓冲区的程序段。 CLD ;设D =0,选择地址递增方向 MOV SI , OFFSET LISTA;指向源块的首地址 MOV DI , OFFSET LISTB;指向目的块的首地址 MOV CX ,100;循环计数指针,100个字节 REP MOVSB;循环传送,直至CX =0 第2条指令在变量前加了前缀OFFSET,它表示将缓冲区LISTA的偏移量首地址传送到SI寄存器。同理,第3条指令表示将缓冲区LISTB的偏移量首地址传送到DI寄存器。从而使得CPU可顺利执行MOV SB指令,由DS ; SI指定的源地址向由ES;DI指定的目的地址传送数据。,下一页,返回,上一页,任务3 8086指令系统,3.3.2地址传送指令 地址传送指令有LDS , LES , LFS , LGS , LSS与LEA 6条指令,前5条用于装载一个逻辑地址,通用格式如下。 LDS reg,r/ m LES reg,r/ m LFS reg,r/ m LGS reg,r/ m LSS reg,r/ m 其中指令助记符中已经隐含了装载的段地址分别为DS ,ES ,FS,GS和SS寄存器,而目的操作数reg就是装载偏移量地址的寄存器,源操作数r/m则指定被装载地址存放位置的首地址。,下一页,返回,上一页,任务3 8086指令系统,表3 -3中列举了它们的指令例句,可见这5条指令都是将存储器中4个字节数据的低位字装入通用寄存器作地址偏移量,高位字装入相应的段寄存器。这是IA指令体系中的一个通用规则,即当存储器中的内容表示地址时则有以下规定。 (1)当存储器变量为2个字节时,仅表示地址偏移量。 (2)当存储器变量为4个字节时,则表示段地址和地址偏移量。 (3)存放的格式遵循数据存放的普遍规定,即高端地址放高位字节,低端地址放低位字节。设存储器变量的首地址为N,则可具体描述如下。,下一页,返回,上一页,表3-3地址传送指令综合举例,返回,任务

温馨提示

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

评论

0/150

提交评论