当前位置: 首页 > 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.jsqmd.com/news/1089194/

相关文章:

  • GTA5线上小助手终极指南:免费传送、载具管理与武器获取完全教程
  • cci-job-client性能优化技巧:提升测试作业执行效率的5个方法
  • 打卡信奥刷题(3415)用C++实现信奥题 P10143 [WC2024] 代码堵塞
  • 如何用XXMI启动器实现多游戏模组管理的革命性统一体验?
  • 081、Flask 入门:路由、模板、请求响应——一个博客的从零搭建
  • N_m3u8DL-RE:跨平台流媒体下载工具的全面解析与实践指南
  • 深度解析开源项目:MCQTSS_QQMusic如何高效实现QQ音乐资源解析与下载
  • 一份现代知识系统的全景地图
  • 51单片机与TCS3200:从脉冲计数到RGB值的实战解析
  • Mac上Navicat Premium 12的安装、激活与核心功能上手
  • 四层板铜厚选型系统化校验流程
  • AI 交互体验设计:从响应延迟到信任构建的体验工程实践
  • RimSort模组管理3步法:从混乱到有序,让RimWorld模组不再冲突
  • Postman自动化测试中401权限问题的系统化解决方案
  • torch.hub.load()实战指南:从云端拉取到本地部署的完整路径
  • 【ISO15031_OBD诊断】-0.2-时序参数P2CAN与P2*CAN深度解析
  • 解锁AMD Ryzen潜能的免费终极指南:SMUDebugTool硬件调优完整教程
  • Anaconda一站式部署指南:从零安装到Navigator稳定运行
  • 从工厂订货系统看数据流图:一个典型应用场景的深度剖析
  • 从真题难度变迁看考研数学二备考策略:2015-2022年深度解析
  • AMD Ryzen调试工具SMUDebugTool:免费开源硬件调优终极指南
  • 抖音批量下载助手:高效获取用户主页视频的终极解决方案
  • RimSort:拯救你的RimWorld模组管理噩梦,让游戏加载从未如此顺畅
  • 深入剖析Multi-Cycle约束:从基础语法到跨时钟域实战
  • Apache Shiro反序列化漏洞深度解析:从原理到实战代码审计
  • AI论文写作工具的合规指南:从文献整理到成稿的合规流程解析?
  • Windows终端进阶:打造无缝集成的Vim工作流
  • ROS智能小车进阶:基于YOLOv3与网络摄像头的动态目标追踪实战
  • 从Confluence到信创知识库:国产化替代的迁移路径和避坑指南
  • SMUDebugTool:AMD Ryzen处理器底层调试与超频的终极专业工具