《汇编语言概述精品课件》汇编3-1-C.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文档。上传文档
查看更多
比较数值大小 例:设ECX和EDX含有两个数,现要求把较大者保存在ECX中,较小者保存在EDX中。 如果这两个数是有符号数,则代码片段如下: CMP ECX,EDX JGE OK ;有符号数比较大小转移(判断SF和OF) XCHG ECX,EDX OK: 如果这两个数是无符号数,则代码片段如下: CMP ECX,EDX JAE OK ;无符号数比较大小转移(判断CF) XCHG ECX,EDX OK: 比较数值大小 例:设有如下所示的C++语言编写的函数: __fastcall test24( int x ) { if ( x = A x = Z ) x = x + ( a - A ); return x; } MOV EAX, ECX ;参数保存到EAX CMP EAX, 65 ;与A比较 JL SHORT LAB528 ;小于,则转移 CMP EAX, 90 ;与Z比较 JG SHORT LAB528 ;大于,则转移 ADD EAX, 32 ;加上大小写字母ASCII码之间的差 LAB528: RET dest — 目的操作数 src — 源操作数 Oprdn — 第n个操作数,如oprd1, oprd2, oprd3 ? — 赋值 / — 或者 Reg8 — 8位通用寄存器AH/AL/BH/BL/CH/CL/DH/DL reg16 — 16位通用寄存器AX/BX/CX/DX/SI/DI/BP/SP reg32 — 32位通用寄存器 EAX/EBX/ECX/EDX/ESI/EDI/EBP/ESP reg — reg8/reg16/reg32 seg — 段寄存器CS/DS/SS/ES/FS/GS Mem8 — 8位内存操作数(字节数据类型) Mem16 — 16位内存操作数(字数据类型) Mem32 — 32位内存操作数(双字数据类型) 将数据从一个地方(源数据)送到另一个地方(目的地) The MOV instruction copies data from a source operand to a destination operand. 1. 数据传送指令---MOVe 一般形式: MOV dest, src ; dest ? src。 功能: 将源操作数src复制到目的操作数dest,src不变 语法格式: MOV reg/mem/seg, reg/mem/seg/imm 对标志位的影响:无。 MOV指令数据传送方向 数据传送指令---MOV !dest与src不能作如下搭配: MOV mem, mem ; 错:MOV [BX],[SI] MOV seg, seg ; 错:MOV ES,DS MOV seg, imm ; 错:MOV DS,1234H dest不能是CS。 错:MOV CS,AX dest与src必须类型匹配,即同时是字节、字或双字类型。错:MOV AX,AL MOV AL,1000 dest不能是立即数 错:MOV 1234H,AX 数据传送指令---MOV 说明 不影响标志 源操作数和目的操作数类型要一致。 源操作数和目的操作数不能同时是存储器操作数。 对存储器操作数而言,可采用各种存储器寻址方式 。 立即数不能作为目标。 代码段寄存器情况特殊。 一般形式: XCHG oprd1, oprd2 功能: 交换oprd1与oprd2的内容 (The XCHG instruction exchanges the contents of two operands.) 语法格式: XCHG reg/mem, reg/mem 对标志位的影响:无。 【例】 xchg bx, dx; xchg [bp+3], dx 2. 数据交换指令---XCHG ( eXCHanGe ) !oprd1与oprd2不能作如下搭配: XCHG mem, mem ; 错:XCHG VAL1,VAL2

文档评论(0)

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

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档