第03-2章. 微处理器及其系统.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第03-2章. 微处理器及其系统.ppt

一、机器语言指令格式 8086采用可变长指令,指令长度为1~6个字节。 第1个字节为操作码,规定指令的操作类型。 第2个字节为操作数的寻址方式。 第3到第6个字节为操作数字段。;;3.4.2 寻址方式;2.立即数寻址 操作数就在指令中,这样的操作数称为立即数,可以是8位,也可以是16位。 当执行指令时,CPU直接从指令队列中取得该立即数,而不必执行总线周期。 例: Y EQU 2005H MOV AX, 2002H MOV BL, 36H MOV BX,Y 注意:立即寻址只能用于源操作数 × MOV 2A00H, AX ; 错误!;3.寄存器寻址 操作数就放在CPU的寄存器(如AX、BX、CX和DX等)中,而寄存器名在指令中指出。;4.存储器寻址 ;1)直接寻址方式 操作数的偏移地址直接出现在指令中,书写时加上中括号以表示是偏移地址。 例如:MOV AX,[1680H];将1680H和1681H两单元的字内容取入AX中 ; 指操作数在存储器中,而操作数的偏移地址在基址寄存器BX、BP或变址寄存器SI、DI中。 只有SI、DI、BX和BP可作间址寄存器。书写指令时,这些寄存器带有中括号[ ]。 使用BX、SI、DI寄存器,默认段寄存器为DS,使用BP,默认段寄存器为SS,允许段超越。;操作数的偏移地址是一个基址寄存器(BX或BP)的内容或变址寄存器(SI或DI)的内容加上指令中给出的位移量(8位或16位) 。 即在寄存器间接寻址的基础上,再加上一个位移量。 段寄存器的默认情况同寄存器间接寻址。;4)基址加变址寻址;5)基址加变址相对寻址;例如: MOV AX, [BX+DI+DATA] 若(DS)=8000H, (BX)=2000H, (DI)=1000H, DATA=200H 则指令执行后(AH)=[83021H], (AL)=[83020H];例3.12(P63):假定DS=1200H,BX=05A6H,SS=5000H, BP=40A0H,SI=2000H, DI=3000H,位移量DISP=1618H. 判断下列指令源操作数的寻址方式,并求出在各种寻址方式下,操作数的有效地址EA和实际地址PA,最后说明指令执行的结果。 (1)MOV AX, [0618H] (2)MOV AX, [BX] (3)MOV AX, [BP] (4)MOV AX, [DI] (5)MOV AX, [BX+DI] (6)MOV AX, [BP+SI+DISP] ;补充: 寻址方式的选择;1)串操作指令寻址方式; 在8086/8088系统中,由于存储器采用分段结构,所以转移类指令有段内转移和段间转移之分。 所有的条件转移指令只允许实现段内短转移,即只允许转移的地址范围在-128~+127字节内,由指令中直接给出8位地址位移量。;8086的指令按功能可分为6类,即数据传送、算术运算、逻辑运算、串操作、程序控制和处理器控制。 大多数指令必须遵守以下基本规则: 目的操作数与源操作数的类型必须匹配。 目的操作数不能为立即数。 目的操作数与源操作数不能同时为存储器操作数,串操作指令除外。 目的操作数与源操作数不能同时为段寄存器。;一、 数据传送类指令 数据传送类指令可完成寄存器与寄存器之间、寄存器与存储器之间以及寄存器与I/O端口之间的字节或字传送;注意: 目标d不能为CS、IP 给段寄存器赋值,不能采用立即数方式 不影响标志寄存器;几个不能传送的解决办法: 用AX作桥梁 存储器←存储器: MOV AX,MEM1 MOV MEM2,AX 段寄存器←段寄存器: MOV AX,DS MOV ES,AX 段寄存器←立即数: MOV AX,DATA MOV DS,AX;2.堆栈操作指令PUSH和POP 格式:PUSH s;将源操作数压入堆栈 POP d;将堆栈中当前栈顶两相邻单元的数据字 弹出到d ;PUSH AX ;将AX内容压栈 执行操作:(SP)-1←高字节AH (SP)-2←低字节AL (SP)←(SP)- 2;设(AX)=1020H,(SP)=0040H,则如图所示;POP BX 的执行示意图如下图所示;3.数据交换指令XCHG 格式: XCHG d,s ;交换D与S的内容。 注意:不能在两个存储单元之间交换,段寄存器与IP也不能作为一个源或目的操作数。不影响标志寄存器;4.查表转换指令XLAT 格式:XLAT

文档评论(0)

czy2014 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档