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

【汇编】算术指令

一、加法指令

(一)各加法指令的格式及操作

加法指令可做字或字节运算

(1)加法指令 ADD

  • 格式ADD DST,SRC
  • 执行的操作(DST) ← (SRC)+(DST)

(2)带进位加法指令 ADC

  • 格式ADC DST,SRC
  • 执行的操作(DST) ← (SRC)+(DST)+CF

(3)加1指令 INC

  • 格式INC OPR
  • 执行的操作(OPR) ← (OPR)+1

(二)加法指令对条件标志位的影响

INC指令不影响 CF标志外,均影响条件标志

在这里插入图片描述

二、减法指令

(一)各减法指令的格式及操作

减法指令可做字或字节运算

(1)减法指令 SUB

  • 格式SUB DST,SRC
  • 执行的操作(DST) ← (DST)-(SRC)

(2)带借位减法指令 SBB

  • 格式SBB DST,SRC
  • 执行的操作(DST) ← (DST)-(SRC)-CF

(3)减1指令 DEC

  • 格式DEC OPR
  • 执行的操作(OPR) ← (OPR)-1

(二)减法指令对条件标志位的影响

DEC指令不影响 CF标志外,均影响条件标志

在这里插入图片描述

(三)其他减法指令 NEG & CMP

(1)求补指令 NEG

  • 格式NEG OPR
  • 执行的操作(OPR) ← -(OPR)

(2)比较指令 CMP

  • 格式CMP OPR1,OPR2
  • 执行的操作(OPR1)-(OPR2)

注意:比较指令 CMP不保存结果,只设置标志位

三、乘法指令

(一)各乘法指令的格式

(1)无符号乘法指令 MUL

  • 格式MUL SRC

(2)带符号乘法指令 IMUL

  • 格式IMUL SRC

(二)乘法指令执行的操作

  • 字节操作数:(AX) ← (AL)*(SRC)
  • 字操作数:(DX,AX) ← (AX)*(SRC)
  • 双字操作:(EDX, EAX) ← (EAX)*(SRC)

注意

  1. 总是与 AL 或 AX 相乘
  2. 与 AL 相乘时,结果位于 AX ➡️(AL(AX)为隐含的乘积寄存器
  3. 与 AX 相乘时,结果位于 DX、AX ➡️(AX(DX,AX)为隐含的乘积寄存器
  4. SRC不能为立即数

(三)乘法指令对条件标志位的影响

影响标志:除CF和OF外,对条件标志位无定义

在这里插入图片描述

四、除法指令

(一)各除法指令的格式

(1)无符号除法指令 DIV

  • 格式DIV SRC

(2)带符号除法指令 IDIV

  • 格式IDIV SRC

(二)乘法指令执行的操作

  • 字节操作数

    (AL) ← (AX)/(SRC)的商
    (AH) ← (AX)/(SRC)的余数

  • 字操作数

    (AX) ← (DX,AX)/(SRC)的商
    (DX) ← (DX,AX)/(SRC)的余数

注意

  1. 被除数总是 AX 或 DX、AX
  2. AL(AX)为隐含的商寄存器,AH(DX)为隐含的余数寄存器
  3. 被除数的位数是除数位数的一倍,需要使用扩展指令
  4. SRC不能为立即数
  5. 对所有条件标志位无定义
http://www.lryc.cn/news/350526.html

相关文章:

  • 如何知晓自己手机使用状况-入网时长
  • 机器学习 - 决策树
  • 【scikit-learn007】主成分分析(Principal Component Analysis, PCA)ML模型实战及经验总结(更新中)
  • 还在花钱订购SSL证书吗?out啦!
  • 【GoLang基础】函数体的注意事项和细节讨论
  • YOLOv8训练流程-原理解析[目标检测理论篇]
  • 实战使用Java代码操作Redis
  • 微信小程序之九宫格抽奖
  • 车牌检测识别功能实现(pyqt)
  • 工业派-配置Intel神经计算棒二代(NCS2)
  • 深度学习中常见的九种交叉验证方法汇总
  • 企业建网站流程
  • Laravel通过phpSpreadsheet合并excel
  • CTF网络安全大赛web题目:just_sqli
  • Java入门基础学习笔记27——生成随机数
  • EasyImage2.0 图床源码
  • 人工智能创新领衔,Android系统如虎添翼:2024 Google I/O 大会深度解析
  • 下单制造fpc的工艺参数
  • 位拆分与运算
  • windows11目标文件夹访问被拒绝-将安全信息应用到以下对象时发生错误
  • C#thread线程传参数更新UI的文本框
  • 基于Vue和uni-app的增强型单选ccRadioView组件开发
  • 信息系统项目管理师0602:项目立项管理 — 历年考题(详细分析与讲解)
  • vue2 中使用audio播放音频
  • 一键追爆款,GPT一键改文‌‍‬⁣⁡​⁤⁢​⁢⁡⁣‬‍‌​​‬ ​‍⁤‬ ‬⁡⁡⁡‍‌‬⁡⁡⁢‬⁤⁢⁢⁤​‍‌​​‬ ​⁣‌,绘唐3,绘唐工具
  • 在C#中编写递归函数时,为了避免无限递归
  • css层叠样式表——基础css面试题
  • 数据库-索引结构(B-Tree,B+Tree,Hash,二叉树)
  • Microsoft Azure AI语音服务
  • 【Linux】常用指令、热键与权限管理