【汇编】算术指令

一、加法指令

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

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

(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. 对所有条件标志位无定义
相关推荐
TheBlackHoleLab2 小时前
【Vulnhub系列】DarkHole1: 渗透测试笔记,没有踩渗透的坑,却踩到了虚拟机平台的坑,人生处处是大坑
笔记·vulnhub·easy·darkhole1
ACP广源盛139246256733 小时前
硬件选型笔记:GSV2231@ACP,DP1.4 MST 一进三出多屏扩展方案评估
笔记·硬件架构·视频·mst·国产芯片
Awh-3 小时前
ARM 裸机开发 DAY11 学习笔记
arm开发·笔记·学习
志尊宝3 小时前
Vue3 零基础每日笔记(087):Vue3 高频面试题(下)
前端·javascript·vue.js·笔记·ecmascript·#vue.js
叶子丶苏4 小时前
VibeCoding实战三个AI小项目-VibeCoding入门笔记02
大数据·人工智能·笔记
Mr清奇4 小时前
AI辅助开发笔记(1)开发工具和配置
大数据·笔记·intellij idea
Go Work4 小时前
我把 @RefreshScope 挂错了类,新值一直灌不进去
经验分享·笔记
en.en..6 小时前
ARM 汇编 B / BL 核心区别
汇编·arm开发
ss2736 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 11 PostgreSQL安装部署常见问题排查与解决
数据库·笔记·postgresql
ab1237687 小时前
three.js 完整笔记
笔记·three.js