微机原理第四章.ppt_第1页
微机原理第四章.ppt_第2页
微机原理第四章.ppt_第3页
微机原理第四章.ppt_第4页
微机原理第四章.ppt_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

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

文档简介

1、第4章:8086/8088,1的一般说明。IBM个人计算机(8086/8088)指令系统,2。数据传输);指令3。算术运算指令,4。逻辑运算指令,5。串行操作说明,6。控制转移指令,7。处理器控制指令,1。IBM个人计算机(8086/)算术指令(算术);逻辑指令(逻辑);字符串操作);说明;控制权转移);说明;处理器控制指令,2。数据传输指令,通用数据传输指令,地址传输指令,累加器专用指令,标志寄存器传输指令,1。通用数据传输指令(1)基本传输指令MOV DST,由SRC执行的操作(第52页)源操作数寄存器、存储器、立即操作数寄存器和存储器:DST SRC中央处理器内部寄存器(CS和IP除外)

2、moval、blmovds、bxmovdx、dimmoax、dxmovsi、BP之间的数据传输,向中央处理器内部通用寄存器组(ax、bx、CX、dx、BP、sp、di、si) movcl、4hmovdx、03ffhmovdi、04bfh数据传输块BP movax,siMOV DS,datsibx立即编号分配存储单元movword ptr 2000h,10h movbyte ptrbxdi,30h,注释:1。 立即数不能直接发送到段寄存器movds,3000H 2。目标操作数不允许使用立即数MOV 2000H,AL 3。不允许在两个存储单元4之间传输数据移动2000小时和3000小时。不允许在两

3、个段寄存器之间传输数据MOVDS和ES5。MOV指令不影响标志位。6.目标操作数不能是CS,源操作数和目标操作数都不能是IP 7。源操作数和目标操作数必须是相同的数据类型。示例1:将地址为AREA1(段内偏移量)的存储位置的内容转移到同一段内地址为AREA2的存储位置。MOV A1,区域1 MOV A1,区域2,示例2:如果您想传输一个数据块而不是一个字节(例如,其中有100个字节),如何实现?mov si,偏移区域1 mov di,偏移区域2 mov cx,100再次: mov al,si;Movdi,al Inc si Inc di dec cxjnz再int 3,(2)由堆栈操作指令PU

4、SH OPRD(第53页)POP OPRD堆栈根据先进先出的原则组织的存储区。在8088中,在堆栈部分(SS部分)中设置堆栈,并且堆栈指针SP的初始值确定堆栈的大小。SP总是指向堆栈的顶部,也就是说,总是指向推入堆栈的最后一个信息所在的单元格。(第53-54页)堆栈空:sp=sp的初始值。当堆栈为空时,您不能再次堆栈。堆栈满:速度=0000小时,即指向堆栈底部时。当堆栈已满时,无法执行堆栈。操作数:16位通用寄存器;段寄存器(CS除外);16位内存操作数(除立即数以外的任何寻址方法)。堆栈底部、堆栈顶部、PUSH AX函数:将源操作数中的一个字转移到SP指向的堆栈顶部,同时修改SP。该指令分两

5、步执行:1 .第一个服务点-1SP,将AH内容发送到服务点指向的单元;2.SP-1SP再次发送,并将所有内容发送到SP指示的单元;示例:MOV AX,1234H PUSH AX,POP AX函数:将当前SP指向的堆栈顶部的一个字发送到指定的目标操作数,并修改SP指令,分两步执行:1 .首先将sp指向的单元的内容发送给a1,然后发送给sp1sp;2.将SP指向的单元的内容发送给AH,然后是SP 1 SP示例:movax,5678h popax,(3)交换指令XCHG OPRD1,OPRD2(第53页)交换一个字或字节的源操作数和目标操作数,并在寄存器之间或寄存器与存储器之间交换信息(不允许分段寄

6、存器)。源操作数:寄存器和存储器目标操作数:由寄存器和存储器执行的操作:(OPRD1) (OPRD2)示例:XCHG BX,BP SI假设:(BX)=6f 30h(BP)=0200h(SI)=0046h(ss)=2f 00h(2f 246h)=11(1)LEA(Load Effective Address)有效地址被发送到寄存器。将源操作数的地址偏移量转移到目标操作数。目标操作数源操作数(16位通用寄存器)(内存操作数)此指令通常用于将16位寄存器设置为地址指针;该指令的执行效果与movreg和offsetsrc相同。示例:lea bx,bx=100h执行100h后,lea bx,buffer

7、,0100h,bx,buffer,(2) LDS(将指针装入DS)将源操作数指定的四个连续字节的内存内容发送到指定的寄存器和DS中的LDS REG。目标操作数源操作数(16位通用寄存器) (内存操作数)(1)指令完成32位地址指针的传输;(2)该指令通常将国际单位制指定为寄存器注册。示例:LDS si,100h,DS=1000h、10100h,00 02 00 20,0200h、2000h,si,ds,(3) lES(加载指针到ES)占用由源操作数LES REG、SRC (REG) (SRC) (ES) (SRC 2)目标操作数源操作数(16位通用寄存器) (内存操作数)(1)指定的四个连续的

8、内存字节此指令完成32位地址指针的传输;(2)该指令通常将DI指定为REGister reg。例如:les di,100h,es=1000h,10100h,00 02 00 20,0200h,2000h,di,es,3。在个人计算机中有两种格式:格式1:在alax中,端口输出端口,alax端口地址:0-FFH,例如:在al中,02H AL=02H IN AX,02H AL=02H,AH=03H格式2:在alax中,DX DX端口的地址:0-ffffffh OUT DX,ALAX,例如:MOV DX,3FEH OUT DX,al3feh outdx,AX AL标志寄存器传输指令(1)读取标志指令

9、LAHF(用标志加载标志)功能:将标志的低位字节内容加载到标志寄存器中。操作数:隐式操作数标志寄存器标志,由ah执行的操作:AH标志的低位字节。设置标志指令SAhF(将AH存入标志)功能:将AH的内容装入标志的低位字节。操作数:隐式操作数标志寄存器标志,由ah执行的操作:标志的低位字节AH,注意:该指令影响标志位s,z,a,p,C,(3)推标志功能:将标志寄存器标志的内容推送到堆栈上保存。(4) POPF(Pop Flages)功能:将堆栈的内容弹出到标志寄存器标志。注意:该指令影响标志位o、s、z、a、p和c。这两个指令可以保存和恢复标志寄存器,并且可以用来保护和恢复子程序调用和中断服务中的

10、标志位。此外,这两条指令也可以用来改变跟踪标志T.在8088指令系统中,没有直接改变T标志的指令。如果你想改变T标志,首先用PUSHF把标志放在堆栈上,然后尝试改变顶部存储单元的D8位(把整个标志看作一个字),然后用POPF指令恢复它,这样剩下的标志不受影响,只需要改变T标志。3.算术运算指令,加法指令,减法指令,乘法指令和除法指令,十进制调整指令,1。加法指令(第56页)加法(ADD)DST,SRC源操作数:通用寄存器,存储器,立即操作数:通用寄存器,存储器操作:DST DST SRC注意:该指令影响标志位注意:该指令适用于有符号和无符号数字操作。dstsrc,o s z a p c,001

11、001000,示例1: movdx,4652h adddx,0f0f0h,最高位是字母的直接数字,前面加上“0”。执行后,(DX)=3742H z=0 s=0 c=1 o=0对无符号数,有符号数溢出由溢出标志o判断;无符号数溢出由进位标志C判断.模数转换器(带进位的加法)模数转换器夏令时,源操作数:通用寄存器,存储器,立即操作数:通用寄存器,存储器操作:夏令时夏令时夏令时夏令时功能:主要用于多字节操作,将低位字节的进位传送到高位字节注意:该指令影响标志位注意:该指令适用于有符号和无符号操作。DST、SRC、C、O、S、Z、A、P、C、0 0 1 0 1 0 0、例2: 2F365H和5E024

12、 H分别存储在存储器的第一和第二区域,因此需要将它们相加并存储在第三区域。2 F3 6 5 E 0 2 4 8D 3 8 9,MOV AX,第一个ADD AX,第二个MOV第三个AX,MOV AX,第一个2 ADC AX,第二个2 MOV第三个2,AX,2 F3 6 5 F 3 6 5 E 0 2 4 E 0 2 4 8D 3 8 9 3 9 1 0 0 2 0 0 0 5 0 0 0 0 8,2,第一个第二个第三个, 65f302 00 24e005 00 89d308 00、Inc(增量)p.61 Inc操作数:通用寄存器、内存(不能是段寄存器或立即数)执行的操作:OPRD OPRD 1函数:用于修改循环中的地址指针和循环数。 注:此指令影响标志位示例:INC BX INC字节ptr SI注:(1)此指令将操作数视为无符号数;(2)指令不影响进位标志;(3)当INC指令用于循环设计时,试图通过判断CF1来结束循环将不会实现目标,这将导致无限循环。oprd1,o s z a p,001001000,2。减法指令(第58页)sub(减法)sub dst,src源操作数:通用寄存器,存储器,立即操作数:通用寄存器,存储器操作:DST DST-SRC注:该指令影响标志位

温馨提示

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

评论

0/150

提交评论