网站大量收购闲置独家精品文档,联系QQ:2885784924

第4章+指令系统.ppt

  1. 1、本文档共126页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 注意: ① INC指令不影响CF 位,影响标志位AF、OF、PF、SF和ZF。 ② 操作数视为无符号数。 总结:以上三条指令运算结果将影响状态标志位,但 INC不影响标志CF。 * 2. 减法指令 (1)不带借位的减法指令 格式:SUB OP目,OP源 功能: OP目← OP目-OP源 ,并根据结果设置标志 例: SUB BX,CX ; BX-CX?BX SUB AL,[SI+2]; AL-(SI+2)单元中的数? AL SUB AL,20 ; AL-20 ? AL * (2)带借位的减法指令 格式:SBB OP目,OP源 功能:OP目← OP目-OP源 -CF,根据结果设置标志 说明:主要用于多字节或多精度数据相减的运算 例: SBB AX,2030H ; AX- 2030H-CF? AX SBB WORD PTR [DI+2],1000H ;将DI+2和DI+3所指两单元的内容-1000H-CF, 结果存在DI+2和DI+3所指的单元 * (3)减1指令 格式:DEC OP 功能:OP←OP-1;根据结果置标志位,不影响CF。 例: DEC AX ; AX-1?AX DEC BL ; BL-1 ? BL DEC BYTE PTR [DI+2] ;将DI+2所指单元的内容减1,结果送回此单元 * (4)取补指令 格式: NEG OP 功能: 0- OP→ OP, 将操作数取补后送回原操作数 OP可以是8/16位通用寄存器和存储器操作数, 不能为立即数。 例:NEG AL ; 0- AL? AL 注意: (1) 对80H或8000H取补时,操作数没有变化,但OF=1。 (2) 对CF影响较特殊,只要操作数不是0,总是使CF=1。 * (5)比较指令 : 格式:CMP OP目,OP源 功能:OP目-OP源,不回送结果,只根据结果置标志位。 例: CMP AX,BX ;AX-BX,根据结果置标志位 CMP AL,20H ; AL-20H,根据结果置标志位 说明:本指令主要通过比较(相减)结果置标志位,表示两个操作数的关系,指令执行的结果不影响目标操作数。 用途:用于比较两个数的大小,可作为条件转移指令转移的条件 * 比较有以下几种情况(以CMP A,B示例说明) 1. 判断两个操作数是否相等: 根据ZF判断 2. 判断两个操作数的大小,可分两种情况: (1) 判断两个无符号操作数的大小: 根据CF判断 ZF=1,A=B JZ ZF=0,A≠B JNZ CF=1,A<B JC CF=0,A≥B JNC * (2)判断两个带符号操作数的大小 A. 两操作数符号相同 根据SF判断 B. 两操作数符号不同 根据SF、OF判断 SF=1,A<B JS SF=0,A≥B JNS SF⊕OF=1,A<B SF⊕OF=0,A≥B * 例:有两组50个字节的数据,分别放在自FIRST和SECOND开始的存储区中,试比较两组数据是否相同。相同则0→AL,否则0FFH→AL。 MOV SI,OFFSET FIRST MOV DI,OFFSET SECOND MOV CX,50 P:MOV AL,[SI] CMP AL,[DI] JZ NEXT MOV AL,0FFH JMP STOP NEXT:INC SI INC DI DEC CX JNZ P MOV

文档评论(0)

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

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

1亿VIP精品文档

相关文档