• 汇编学习笔记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

  • 相关阅读:
    Java 线程池原理分析
    基于 Java NIO 实现简单的 HTTP 服务器
    Java NIO之选择器
    Java NIO之套接字通道
    Django【基础篇-1】
    paramiko_sftp封装
    python random模块生成随机验证码
    Python3 os与sys模块用法
    python生成器并行实例
    python装饰器无参及有参案例
  • 原文地址:https://www.cnblogs.com/hailong/p/1899434.html
Copyright © 2020-2023  润新知