zoukankan      html  css  js  c++  java
  • Assembly之instruction之CMP

    CMP[.W]   Compare source and destination
    CMP.B     Compare source and destination


    Syntax     CMP   src,dst   or  CMP.W src,dst
            CMP.B  src,dst


    Operation   dst + .NOT.src + 1 or  (dst − src)


    Description   

      The source operand is subtracted from the destination operand. This is accomplished by adding the 1s complement of the source operand plus 1. The two operands are not affected and the result is not stored; only the status bits are affected.


    Status Bits   N: Set if result is negative, reset if positive (src >= dst)
            Z: Set if result is zero, reset otherwise (src = dst)
            C: Set if there is a carry from the MSB of the result, reset otherwise
            V: Set if an arithmetic overflow occurs, otherwise reset


    Mode Bits   OSCOFF, CPUOFF, and GIE are not affected.


    Example     R5 and R6 are compared. If they are equal, the program continues at the label EQUAL.

    1  CMP R5,R6   ; R5 = R6?
    2  JEQ EQUAL   ; YES, JUMP

    Example     Two RAM blocks are compared. If they are not equal, the program branches to the label ERROR.

    1     MOV #NUM,R5       ; number of words to be compared
    2     MOV #BLOCK1,R6    ; BLOCK1 start address in R6
    3     MOV #BLOCK2,R7    ; BLOCK2 start address in R7
    4 L$1 CMP @R6+,0(R7)    ; Are Words equal? R6 increments
    5     JNZ ERROR         ; No, branch to ERROR
    6     INCD R7           ; Increment R7 pointer
    7     DEC R5            ; Are all words compared?
    8     JNZ L$1           ; No, another compare                                    

    Example   The RAM bytes addressed by EDE and TONI are compared. If they are equal, the program continues at the label EQUAL.

    1 CMP.B EDE,TONI     ; MEM(EDE) = MEM(TONI)?
    2 JEQ EQUAL         ; YES, JUMP
  • 相关阅读:
    编译安装php5 解决编译安装的php加载不了gd
    apache-php
    使用ab对网站进行压力测试
    正则表达式实例 -- 匹配Windows消息宏
    SDK 操作 list-view control 实例 -- 遍历进程
    malloc/free、new/delete 区别
    Python实例 -- 爬虫
    multimap实例 -- 添加、遍历数据
    CListCtrl 扩展风格设置方法---SetExtendedStyle和ModifyStyleEx
    创建指定大小的空文件
  • 原文地址:https://www.cnblogs.com/mengdie/p/4512290.html
Copyright © 2011-2022 走看看