3.3指令系统(一).pptVIP

  1. 1、本文档共106页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.3指令系统(一)

8086指令系统;8086/8088的指令系统,按照其功能可以分为以下六个功能组: ;一 数据传送指令;一 数据传送指令;立即数;如: MOV AX,1000H MOV WORD PTR [2000H],1000H MOV BX,[1000H] MOV AL,BH MOV [1000H],AX MOV DS,AX MOV ES,[2000H] MOV AX,DS MOV [2000H],SEGREG; 指令中至少要有一项明确指出传送的是字节还是字; 可用不同的寻址方式; 不影响标志位; DEST、SRC不同时为存储单元 DEST、SRC不同时为段寄存器 MOV DS, ES ? 立即数不能直接送段寄存器 MOV DS, 2000H ? ; MOV 6234H,AX MOV CS,AX MOV IP,AX MOV DS,4234H MOV AL,BX MOV [SI], [BX] MOV DS,ES MOV [BX], 1 ;例 MOV AL, ‘B’;DATA SEGMENT BUF DB 49,38,65,12,97,13,55,27,28,85 N EQU $-BUF ;N为要排序数据的个数 DATA ENDS STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK BEGIN: MOV AX, DATA MOV DS, AX MOV SI, 1 ;给外循环计数器赋初值1;NEXT1: MOV DI,SI INC DI MOV AL, [BUF+SI-1] NEXT2: CMP AL, [BUF+DI-1] JAE NEXT3 XCHG [BUF+DI-1],AL MOV [BUF+SI-1],AL NEXT3:INC DI CMP DI,N JBE NEXT2 ;在汇编语言中,数据通常存放在数据段中,例如,下面是某个程序的数据段: DATA SEGMENT ;数据段开始 A1 DB 14H, 3BH A2 DB 2 DUP(0) A3 DW 3100H,01A6H STRING DB ‘GO’ DATA ENDS ;数据段结束;(2)压栈指令PUSH:PUSH SRC ;(3)弹栈指令POP:POP DEST ;注意: 堆栈操作必须以字为单位。 不影响标志位 不能用立即寻址方式 ? PUSH 1234H DST不能是CS ? POP CS CS的值可以推入堆栈,但反过来不能从堆栈中弹入一个值到CS。 ;MOV AX, 1000H PUSH AX MOV BX, AX PUSH [BX] PUSH [1000H] POP [1002H] POP AX POP BX;(4)交换指令XCHG:XCHG DEST,SRC ;例:设AX=31B0H,DS=3000H, BX=1800H,(31800H)= 1995H,执行指令 XCHG AX, [BX] 的过程为:;例1 交换指令 XCHG AL,CL ;字节交换 XCHG BX,SI ;字交换 XCHG AX,[BX+SI] ;寄存器和存储器之间交换数据 例2 下列指令是非法的 XCHG AX,6234H ??寄存器与立即数之间不能交换 XCHG BUF1,BUF2 ;存储器单元与存储器单元之间不能交换 XCHG ADDR,4234H ;存储器单元与立即数之间不能交换 XCHG CS,DAT[BX] ;不能与CS(或IP)寄存器进行交换 ; 怎么把DS:2000H单元的字和DS:3000H单元互换?;2. 地址传送指令 ;指令 LEA BX,TABLE;;(2)取地址指令LDS:LDS 目的,源;例:设DS=1200H,(13450H)=3F46H,(13452H)=0A92H 执行指令 LDS SI,[ 1450H ] 后:;(3)LES的原

文档评论(0)

zijingling + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档