8086指令系统简介.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8086指令系统简介 徐承彬 一、 8086的指令格式和寻址方式 汇编语言指令要解决的两个问题: 要指出进行什么操作——操作符; 要指出操作数和操作数地址及操作结果放在何处——寻址方式。 (一)、指令格式 1、零地址指令格式 2、一地址指令格式 3、二地址指令格式 二、8086的寻址方式 (二)、8086的寻址方式 1、立即数寻址 操作数就在指令中提供,叫立即数寻址方式。 例:MOV AL,15H 2、寄存器寻址 操作数在CPU内部的寄存器中,指令中指定寄存器号 例:MOV DI,AX INC CX ;将CX的内容加1 ROL AH,1 ;将AH中的内容循环左移一位 3、存储器寻址:操作数或地址在存储器中 (1)直接寻址 操作数的16位有效地址在指令中 物理地址=(DS)×16+EA 例:MOV AX,[205AH] 注:在汇编语言中有时用符号地址作为有效地址。 例如:MOV AX,ARRY 也可写成 MOV AX,[ARRY] 在8086中允许段超越,即允许数据放在数据段以外的其他段中,指令中需加段跨越前缀。 例如:MOV AX,ES:[2000H] (2)间接寻址:操作数的有效地址在寄存器BX,BP或变址寄存器SI,DI中 (3)相对寻址:操作数的有效地址由基址寄存器BX,BP或变址寄存器SI,DI之一中的内容加上指令中指定的8位或16位位移量组成。 例:MOV AX,COUNT[SI] (4)基址变址寻址:操作数的有效地址是指令中指定的基址寄存器(BX或BP)和变址寄存器(SI或DI)之和。 (5)相对基址变址寻址:操作数的有效地址是指令中指定的基址寄存器(BX或BP)和变址寄存器(SI或DI)与一个8位或16位位移量之和。 例如:MOV AX,MASK[BX][DI] 设(DS)=2000H,(SS)=3000H (BX)=1100H,(DI)=0010H,(SI)=0030H MASK=0203H,(21313H)=1234H (31313H)=2356H,(21333H)=0056H 则: 指出下列指令中源操作数和目的操作数的寻址方式 1.MOV AX,100 2.MOV [SI],AX 3.MOV CX,DATX[SI] 4.ADD AX,[BX][DI] 5.AND AX,BX 6.MOV AX,TAX[BX][SI] 7.SUB AX,[2500H] 二、 8086的指令系统 (一)、指令书写格式: [标号]:助记符 [目的操作数],[源操作数];[注释] (二)、8086的指令系统 1、数据传送:负责把数据、地址或立即数送到寄存器或存储单元中。 (1)通用传送指令 最基本的传送指令(MOV) 格式:MOV OPRD1,OPRD2;B/W OPRD1:累加器、寄存器、存储器 OPRD2:累加器、寄存器、存储器操作数和立即数 传送路径 MOV 指令的几种形式 MOV [BX],AX MOV ALPHA,AX MOV ALPHA,AH MOV AH,ES:[BX][SI] MOV AL,[BP] MOV AX,ARRAY MOV ES,DX MOV DS,AX MOV ES,SS:[BX] MOV BX,DX MOV BL,AX(错误指令) MOV MEM,DX MOV CH,8AH MOV DL,‘B’ MOV [BX],12H 堆栈操作指令 堆栈是在存储器中开辟的一个栈区 。 工作方式:“后进先出”的方式进行 8086的堆栈是从高地址向低地址方向生长的 堆栈操作: 在CALL指令、 RET指令、中断响应和返回中都有入栈和出栈的操作。 例如:PUSH AX 设执行前(SP)=2500H,SS=5000H,(AX)=3125H 例如:PUSH BETA[BX][SI] 设DS=2000H,BX=2100H,SI=2520H, BETA=03404H,SS=5000H,SP=2500H 交换指令:XCHG 例如:XCHG AX,BX 执行前:AX=420AH , BX=7955H 执行后:AX=7955H ,BX=420AH 例如:XCHG DX,[BP][SI] (2) 累加器专用传送指令 IN 输入指令 固定端口输入数据 格式:IN AL/AX,Port;Port为端口号 功能:从固定端口Port传送一个字节或 一个字数据到AL或AX寄存器 可变端口输入数据 格式:IN AL/AX,DX; 功能:从DX寄存器所存放的端口地址中送

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档