SUB指令介绍:

SUB:不带借位的减法指令。

指令格式:SUB OP1,OP2

指令功能:(OP1)←(OP1)-(OP2),将OP1-OP2的值,保存在OP1中,如:SUB [EAX],1 以EAX寄存器为内存地址,将该地址的值减1,

类似C/C++中的 i--;

指令介绍

目的操作数减去源操作数,结果放在目的操作数中。源操作数原有内容不变,并根据运算结果置标志位SF,ZF,AF,PF,CF,OF

SUB指令可以进行字节或字的减法运算,源操作数和目的操作数的约定与ADD指令相同。

操作数的类型可以根据程序员的要求约定为带符号数或者无符号数。当无符号数的较小数减去较大数时,因不够减而产生借位,此时进位标志CF置1.当带符号数的较小数减去较大数时,将会得到负的结果,则符号位SF置1.带符号数相减,如果溢出,则OF置1.
【例】
1. SUB BL,AL
设(BL)=23H,(AL)=78H,(BL)=23H-78H=ABH(1010101)
根据运算结果,各标志位为:CF=1,ZF=0,SF=1,OF=0,PF=0,AF=1
2. SUB SI,SI
寄存器自身相减,则结果为零,此时:
OF=0,SF=0,ZF=1,PF=1,CF=0

汇编指令sub也改变标志位相关推荐

  1. 为什么INC,DEC指令不影响CF标志位呢?

    引言 我们知道执行算数运算指令的时候,当结果的最高位与进位或者借位时会把状态寄存器FLAGS的CF位置为1,否则置为0,但是为什么INC和DEC这样的指令不影响CF标记位呢? 怀着对这个问题的疑惑,在 ...

  2. 串的复制——串传送指令MOVSB和方向标志位DF和CLD和REP

    复制字符串,没学串移动指令的操作 assume cs:codes,ds:datasdatas segmentbuf db 'Welcome to masm!'count equ $-bufcopy d ...

  3. 32位汇编寄存器及汇编指令

    32位CPU所含有的寄存器有: 4个数据寄存器(EAX.EBX.ECX和EDX) 2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP) 6个段寄存器(ES.CS.SS.DS.FS和 ...

  4. 汇编语言中常用指令对标志位寄存器的影响

    参考了<汇编语言 基于x86处理器>第七版 转载请注明出处 如果有错误的地方请指正,谢谢. 文章目录 算术运算(ADD/SUB)影响标志位 ADD指令 SUB指令 NEG指令 INC/DE ...

  5. 13-ZF标志位,JB和JNB跳转指令

    1. ZF标志位 这一节我们将来学习一下标志寄存器的ZF(Zero Flag)零标志位. 对于ZF标志位,当运算结果为0的时候,那么ZF=1,当运算结果不为0的时候,ZF=0. 例如下面这段汇编指令: ...

  6. 汇编指令prefix rep:

    F3:             prefix rep:    C3              retn OD中看到这,弄不明白第一句是什么意思了,有人能告诉一下吧,谢谢了,我在线等高人帮忙 答案: r ...

  7. 80x86汇编指令详解

    80x86指令系统,指令按功能可分为以下七个部分. (1) 数据传送指令. (2) 算术运算指令. (3) 逻辑运算指令. (4) 串操作指令. (5) 控制转移指令. (6) 处理器控制指令. (7 ...

  8. Android逆向基础笔记—Android中的常用ARM汇编指令

    一  ARM寄存器 1.通用寄存器 1).未分组寄存器:R0~R7 2).分组寄存器:R8~812 R13:SP,常用作堆栈指针,始终指向堆栈的顶部,当一个数据(32位)推入堆栈时,SP(R13的值减 ...

  9. STM32单片机-汇编指令1

    目录: 1.ldr/str/mov指令 1)LDR指令   2)STR和LDRB指令   3)MOV指令   4)使用示例 2.MOVS指令 3.LDM表示装载,STM表示存储 4.teq指令 5.使 ...

最新文章

  1. Libgdx学习笔记:UI之评分组件
  2. inline-block的兼容性问题
  3. 梅原对justin wang 真人版
  4. 2.3单链表的基本使用及其cpp示例
  5. 去除狂人采集器添加在帖子中的广告信息
  6. jQuery UI dialog插件出错信息:$(this).dialog is not a function
  7. Python中的stringIO模块
  8. PHP环境搭建:Windows 7下安装配置PHP+Apache+Mysql环境教程以及注意事项
  9. 【POJ2352】Stars(树状数组模版题)
  10. Android 常见的抓log方法总结
  11. 应用排行榜第一名脸萌仅仅是刹那的烟火
  12. python移动图形工作站_让Python跑得更快
  13. Apache BookKeeper
  14. 织梦dedecms响应式精密机械模具公司网站模板(自适应手机移动端)
  15. 无线临ftp服务器1.3,Cerberus FTP Server Enterprise(FTP服务器管理工具)V11.3.1.1 最新版
  16. java orm设计_大搜车orm框架设计思路
  17. 招聘java是什么意思_企业招聘Java程序员的标准到底是什么?
  18. 微信小程序引用vant框架
  19. 使用python简单实现《西游记》文本分析,通过词频对比探索西游记的主角
  20. 基于Python版本的golang哈希编码

热门文章

  1. 2023新华为OD机试题 - 箱子之形摆放(JavaScript)
  2. 移动端---微信公众号开发
  3. Unity实现UGUI空物体颜色渐变的描边方法
  4. linux 脚本scp用法,Linux scp命令用法及实例分享
  5. font-size思考前端设计稿与工作流
  6. AGRCZO-A-10/315先导比例减压阀放大器
  7. 《Linux驱动:设备节点文件的创建过程》
  8. java JUC基础学习
  9. mysql非主键索引_主键索引和非主键索引解析
  10. linux 解决用yum卸载软件再次装该软件装不上的问题