微型计算机原理及应用(第三版)第5章_第1页
微型计算机原理及应用(第三版)第5章_第2页
微型计算机原理及应用(第三版)第5章_第3页
微型计算机原理及应用(第三版)第5章_第4页
微型计算机原理及应用(第三版)第5章_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

5.86系列微型计算机的指令系统86系列汇编语言及指令的格式与寻址方式传送类指令数据操作类指令串操作指令控制类指令5.1

86系列汇编语言及指令的格式与寻址方式指令:让计算机完成某种操作的命令。机器指令:指令的二进制代码形式。0011110110101101汇编指令:助记符形式的指令。例如:INT

21H指令系统:微处理器(CPU)所能执行的指令的集合。不同的微处理器有不同的指令系统,8086CPU包含133条指令。在本章中我们主要讲解INTEL公司生产的8086/8088CPU的寻址方式以及各种指令系统,并通过具体实例讲述了各条指令的功能和使用方法。5.1.1

86系列汇编语言指令语句格式指令助记可以有0个、1个或

2个目的

源指令地

说明要执址的名

行的符是什字,可

么操作缺省标号:指数令运算的数据数,;注释操

操作

作对指令功能加以说明,可缺省例:11:MOVAX,CX;将CX的内容送入AX中INCCX;CX计数器加1HLT;停机5.1.2

86系列CPU的寻址方式1.立即数寻址此寻址方式中,指令所需的操作数就在指令中提供,操作数存在代码段中,不需要运行总线周期,从而具有速度快的特点。立即数用于表示常数,给变量赋初值。立即数可以是8位或16位。8位16位无符号数00H-FFH(0-255)0000H-FFFFH(0-65535)带符号数80H-7F立H(即-1数1数2(8~常12数7))8取00值0H范-7围FFFH(-32768~32767)例:MOV

AL,

80HMOV

AX,1090H;将16进制数80H送入AL寄存器。;将1090H存入AX寄存器,AH中为10H,;AL中为90H。MOV

8000H,DXMOV

AX,12.34H立即数只能是整数,不能是小数、变量或者其它类型的数据。立即数只能作为源操作数。5.1.2

86系列CPU的寻址方式■×■×2.寄存器寻址操作数在CPU的内部寄存器中,指令指定寄存器的内容为操作数。可使用的16位寄存器:AXsBXsCXsDXsSIsDIsSPs

BP;其中AXsBXsCXsDX可分成两个8位使用。例:MOVAX,BX;将BX中的内容送入AX中INCCX;将CX中的内容加1ROLAH,1;将AH中的内容循环左移一位寄存器寻址与段地址无关!5.1.2

86系列CPU的寻址方式对其它段寄存器进行直接寻址时,必须在指令前指出段寄存器名。例:CS:MOV

BX,[3000H];将CS段中的3000H和3001H两个;单元中的内容送入BX。4.寄存器间接寻址操作数的有效地址由寄存器指出。寄存器要用方括号括起来,表示寄存器中的内容,以便与寄存器操作数相区别。[BX][SI][DI][BP]有效地址=段寄存器为DS段寄存器为SS5.1.2

86系列CPU的寻址方式例:MOV

AX,[SI]DS=6000H,

SI=1200H,

[61200H]=44H,

[61201H]=33H44H33HDS6000SI120061200H存储器数据段60000+)

120061200AX33H

44H寄存器相对寻址指令中寄存器内容与指令指定的位移量之和作为操作数所在单元的有效地址。带位移量的寄存器间接寻址。8位位移量[BX][SI][DI][BP]16位位移量有效地址=段寄存器为DS段寄存器为SS+常用于存取表格中的元素,把表格的起始地址作为位移量元素的下标值放在间址寄存器中。5.1.2

86系列CPU的寻址方式例:MOV

AX,[BX+0080H];默认段寄存器为DSMOV

AX,[BP+1000H];默认段寄存器为SS例:MOV

AX,[BX+2A00H]若DS=6000H,BX=1000H,[63A00H]=66H,[63A01H]=55H则物理地址=60000H+1000H+2A00H=63A00H指令执行后:[AX]=5566H(见下页图示)5.1.2

86系列CPU的寻址方式基址加变址的寻址若操作数的偏移地址:由基址寄存器(BX或BP)给出——基址寻址方式由变址寄存器(SI或DI)给出——变址寻址方式由一个基址寄存器的内容和一个变址寄存器的内容相加而形成操作数的偏移地址,称为基址+变址寻址。EA

=[BX][BP]+[SI][DI]同一组内的寄存器不能同时出现!5.1.2

86系列CPU的寻址方式操作码DS

80000BX

2000+

SI

10008300083000HAX

AH

AL代码段数据段......12H34H例:MOV

AX,[BX+SI]假定:DS=8000H,BX=2000H,SI=1000H则物理地址=80000H+2000H+1000H=83000H指令执行后:AL

=[83000H]AH

=

[83001H]相对的基址加变址寻址在基址加变址寻址的基础上再加上一个相对位移量注意事项同基址加变址寻址EA

=[BX][BP]+[SI][DI]+8位位移量16位位移量例:MOV

AX,[BX+SI+0050H]5.1.2

86系列CPU的寻址方式例:MOV

AX,[BX+DI+0200H]若DS=8000H,BX=2000H,DI=1000H则指令执行后AL=[83020H],AH=[83021H]。8320083200HAH

ALAX+操作码代码段数据段......12H34HDS

80000BX

2000DI

10000200使用相对的基址加变址寻址方式可以很方便地访问堆栈中的数组。5.1.2

86系列CPU的寻址方式...A(n-1)A(n).A(0)A(1)A(2)[BP](栈顶地址)位移量低地址高地址[SI]寻址方式可分为立即数寻址寄存器寻址直接寻址寄存器相对寻址基址-变址寻址基址-变址相对寻址寄存器间接寻址5.1.2

86系列CPU的寻址方式总结:寄存器间接、寄存器相对、

温馨提示

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

评论

0/150

提交评论