当前位置: 首页 > news >正文

汇编——算术运算指令

–Inc 自增1
–Dec 自减1
和 ADD/SUB 区别:ADD AX,1会改动 CF,INC和DEC不会

–Add 加法指令 //直接加,不考虑cf标志位的值
–Adc 带进位的加法 //不仅将两个数相加,还会加上cf标志位的值
低位+低位用add,高位+高位用adc
adc指令在处理多位数加法时能够正确处理进位问题,从而得到正确的结果

–Sub 减法指令 //直接减
–Sbb 带借位的减法 //不仅将两个数相减,还会减去cf标志位的值
比如:AX=01H,BX=02H
SUB AX,BX //AX=0FFFFH,产生借位 CF=1
SBB AX,BX //AX=0FFFF-2 -1=0FFFDH

–Neg 进行数据求补
规则:NEG op //op = operand 操作数
操作数≠0:CF=1
操作数=0:CF=0
例:MOV BL,0x80
NEG BL //8 位 0x80 → -128

–Mul 乘法指令 用于无符号数
–Imul 乘法指令 用于有符号数
例:
有两个8位无符号整数A5H和64H,它们分别表示无符号整数165和100
如果我们使用MUL指令对这两个数进行无符号乘法运算,结果将是4074H,表示无符号整数16500
如果我们使用IMUL指令对这两个数进行有符号乘法运算(假设A5H表示-91,64H表示100),结果将是DC74H,表示有符号整数-9100

除数不能是立即数,溢出直接触发 CPU 异常
//立即数是写死在指令代码里的常数 mov bl,0x80 ; 0x80=立即数
–Div op 无符号数除法指令
16位数除以8位数:
格式:div 除数,比如div cl
除数:由8位的通用寄存器或者内存单元提供
被除数:放在ax中
结果:商存放在al中,余数存放在ah中
32位数除以16位数:
格式:div 除数,比如div cx
除数:由16位的通用寄存器或者内存单元提供
被除数:低16位放在ax中,高16位放在dx中
结果:商存放在ax中,余数存放在dx中
位数 被除数 除数 商 余数
8 位除 AX r/m8 AL AH
16 位除 DX:AX r/m16 AX DX
32 位除 EDX:EAX r/m32 EAX EDX
//r = register(寄存器),m = memory(内存),8=8 位 (1 字节)
r/m8:是【8 位寄存器】或【8 位内存单元】
–Idiv 有符号数除法指令
寄存器分配格式和DIV完全一致,仅按补码有符号数运算
注意:被除数位数是除数两倍,比如 16÷8 必须提前把符号扩展进DX

http://www.gsyq.cn/news/1601144.html

相关文章:

  • cci-job-client性能优化技巧:提升测试作业执行效率的5个方法
  • 如何用XXMI启动器实现多游戏模组管理的革命性统一体验?
  • N_m3u8DL-RE:跨平台流媒体下载工具的全面解析与实践指南
  • 深度解析开源项目:MCQTSS_QQMusic如何高效实现QQ音乐资源解析与下载
  • Mac上Navicat Premium 12的安装、激活与核心功能上手
  • 四层板铜厚选型系统化校验流程
  • RimSort模组管理3步法:从混乱到有序,让RimWorld模组不再冲突
  • Anaconda一站式部署指南:从零安装到Navigator稳定运行
  • Postman自动化测试中401权限问题的系统化解决方案
  • 从工厂订货系统看数据流图:一个典型应用场景的深度剖析
  • 从真题难度变迁看考研数学二备考策略:2015-2022年深度解析
  • 抖音批量下载助手:高效获取用户主页视频的终极解决方案
  • RimSort:拯救你的RimWorld模组管理噩梦,让游戏加载从未如此顺畅
  • AI论文写作工具的合规指南:从文献整理到成稿的合规流程解析?
  • Apache Shiro反序列化漏洞深度解析:从原理到实战代码审计
  • WarcraftHelper:魔兽争霸3性能优化终极指南,让经典游戏焕发新生
  • QQ音乐解密终极指南:3分钟掌握qmcdump转换技巧
  • QGIS 3.34尝鲜3DTiles:从惊艳官宣到实战踩坑全记录
  • GTA5线上小助手:高效游戏辅助工具的终极指南
  • 如何轻松解锁网易云音乐NCM格式:ncmdumpGUI终极指南
  • Pytest参数化在接口测试中的高效应用与实践指南
  • 从QPSK到π/4QPSK:三种经典调制技术的演进与实战选型指南
  • 2026降AI率网站实测:10款软件对比,学术合规技巧盘点
  • 如何免费解锁Wand专业版:3个简单步骤告别订阅费
  • 10分钟快速上手:AMD Ryzen调试神器SMUDebugTool完全指南
  • python爬虫实战项目|第69篇:爬虫安全防护与反攻击
  • JMeter命令行生成HTML测试报告:自动化性能测试与持续集成实践
  • 科目重构、题型升级、证书效力重定义,软考2025新政全图谱,仅限首批内部研读版!
  • 后端开发入门:从核心概念到第一个项目实践
  • 如何在5分钟内掌握PPT演示的终极时间管理秘诀?[特殊字符]