第三章-80X86的寻址方式和指令系统-2.pptVIP

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

* * 3.4 指令系统 8086/8088的指令系统中共有92种基本指令。 可以分成6个功能组: 1. 数据传送(Data transfer) 2. 算术运算(Arithmetic) 3. 逻辑运算和移位指令(Logic Shift) 4. 串操作(String manipulation) 5. 控制转移(Control Transfer) 6. 处理器控制(Processor Control) 指令系统使用的符号: 八位寄存器: AH,AL,BH,BH,BL,CH,CL,DH,DL 十六位通用寄存器: AX,BX,CX,DX,SP,BP,SI,DI 堆栈指针 SP 指令指针 IP(或PC) 标志位 Flags 目的和源变址寄存器 DI, SI 段寄存器 CS, DS, ES, SS 通用寄存器 REG或r AL或AX(取决于操作数长度) AC或acc 存储器 MEM src , dest 源,目的操作数(下列寻址方式都可以用) [BX+SI+n],[BX+DI+n],[BP+SI+n],[BP+DI+n] [SI+n], [DI+n], [BP+n], [BX+n] [N], r [ ] 存储器单元的内容(正常在数据段) ES:[ ] 附加存储器段的内容 OPRD 操作数 一、 数据传送指令(Data transfer) (一)通用传送指令(General Purpose Transfer) (二)输入输出指令(Input and Output) (三)目的地址传送指令(Address-object transfer) (四)标志传送指令(Flag register transfer) 一. 数据传送指令 功能: 负责把数据、地址或立即数传 送到寄存器或存储单元。 特点: 它是计算机最基本、最重要的一种操作,使用比例最高。 种类(分四种): 通用传送指令包括: MOV, PUSH, POP ,XCHG, XLAT。 输入输出指令指令包括: IN, OUT。 目的地址传送指令包括: LEA, LDS, LES 标志传送指令包括 : LAHF, SAHF, PUSHF, POPF 除 SAHF和POPF指令外,对标志位没有影响。 (一)通用传送指令(General Purpose Transfer) 8088提供方便灵活的通用的传送操作,适用于大多数操作数。 通用传送指令(除了XCHG以外)是唯一允许以段寄存器为操作数指令。 通用传送指令包括: 1、MOV (Movement) 2、PUSH (Push word onto stack) POP (Pop word off stack) 3、XCHG (Exchange) 4、XLAT (Translate) 1. MOV dest, src ; (dest) ? (src) 目的 源 目的 ? 源 功能: 把一个字节(B)或一个字(W)操作数由源传送至目的。 实现: 寄存器 ? 寄存器/存储器之间; 立即数?寄存器/存储器 寄存器/存储器?段寄存器之间的数据传送。 ? 具体说,通用数据传送指令能实现: ① CPU内部寄存器之间的数据的任意传送 特例:代码段寄存器CS和指令指针IP不能做目的寄存器 段寄存器之间不能直接传送。 例: MOV DL,CH ; 8位寄存器? 8位寄存器 MOV AX,DX ; 16位寄存器? 16位寄存器 MOV SI, BP MOV DS,BX ;通用寄存器? 段寄存器 MOV AX, CS ;段寄存器 ?通用寄存器 操作数类型必须一致: MOV AX, BL ;错误 立即数传送至CPU内部通用寄存器组(AX、BX、CX、DX、BP、SP、SI、DI)。 用于给寄存器赋初值。 不能直接给段寄存器赋值 目的操作数不能是立即数 例: MOV CL,04H ;立即数?8位寄存器 MOV AX,03FFH ;立即数?16位寄存器 CPU内部寄存器(除CS和IP外)与存储器(所有寻址方式)之间数据传送。 可以实现一字节或一个字的传送。 存储单元之间不能直接传送 例: MOV MEM , AX ; 累加器?存储器,直接寻址

文档评论(0)

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

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

1亿VIP精品文档

相关文档