• 汇编学习笔记11


    第11讲讲了剩下两个减法指令: NEG 和 CMP

    NEG OP 对OP进行求补,然后将结果送入OP,操作数可以是通用寄存器和存储单元。当OP为8位-128或16位-32768时,结果为它自身。当OP为0时,CF位为0,其他时候都为1。NEG操作其实是 OP = 0 - OP。

    CMP OP1, OP2 比较操作,用OP1 - OP2, 与SUB规则相同,不同之处在于不把结果送回OP1,根据标志位来判断比较的结果。ZF = 0时两操作数相等,否则不相等。当不相等时,如果是无符号数,根据CF位来判断大小;如果是有符号数,根据OF和SF来判断大小。有符号数不相等时怎么判断?如果OF = 0,无溢出,SF = 0时OP1 > OP2,否则OP1 < OP2。如果OP = 1,有溢出,SF = 0时,OP1 < OP2, 此时,OP1为负, OP2为正,SF = 1时,OP1 > OP2,此时, OP1为正, OP2为负。

    剩下时间讲加减法的应用。

    例: 已知 字存储单元 X, Y, Z, 将 X + (Y + Z – 25H) 送入Z中

    MOV AX, Y

    ADD AX, Z

    SUB AX, 25H

    ADD AX, X

    MOV Z, AX

    例: 已知双字存储单元 X, Y, Z, 将 X + (Y + Z – 25H) 送入Z中

    MOV AX, Y

    MOV DX, Y + 2

    ADD AX, Z

    ADC DX, Z + 2

    SUB AX, 25H

    SBB DX, 0

    ADD AX, X

    ADC DX, X +2

    MOV Z, AX

    MOV Z+2, DX

  • 相关阅读:
    Openlayers 3 热力图
    javaScript 新学习:Array.contains 函数
    将页面内容转为Excel下载
    Cookie 的设置和获取
    escape()、encodeURI()、encodeURIComponent()区别详解
    java 对象与二进制互转
    获取与当前类同级目录下的文件
    Windows下比较小巧的c/c++ ide
    保存到properties
    javafx 普通弹框提示
  • 原文地址:https://www.cnblogs.com/hailong/p/1899434.html
Copyright © 2020-2023  润新知