汇编算术运算类指令集合

本文详细介绍了计算机中常用的算术运算指令,包括加法、减法、乘法、除法和符号扩展指令的操作原理和使用场景。从基本的加1、减1指令到复杂的带进位加法、带借位减法,再到乘除法和符号扩展,全面覆盖了算术运算的各个方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

加法

加1指令INC

  • INC OPD
  • 将目的操作数加1
  • (OPD)+1---->OPD

不带进位的加指令ADD

  • ADD OPD,OPS
  • 将目的操作数与源操作数相加,将结果存入目的地址中,源地址的内容不变。
  • (OPD)+(OPS)---->OPD

带进位加指令ADC

  • ADC OPD,OPS
  • 将目的操作数加源操作数再加低位进位,结果送目的地址。
  • (OPD)+(OPS)+CF---->OPD

减法

减1指令DEC

  • DEC OPD
  • 将目的操作数减1,结果送入目的地址。
  • (OPD)-1---->OPD

不带借位的减指令SUB

  • SUB OPD,OPS
  • 目的操作数减源操作数,结果存于目的地址,源地址内容不变。
  • (OPD)-(OPS)---->OPD

带借位减指令SBB

  • SBB OPD,OPS
  • 目的操作数减源操作数再减低位借位CF,结果送入目的地址。
  • (OPD)-(OPS)-CF---->OPD

求补指令NEG

  • NEG OPD
  • 将目的操作数的每一位求反(包括符号位)后加1,结果送目的地址(将零减去指定的8位或16位目的操作数,并将结果送回目的操作数单元)。
  • (OPD)(求反)+1---->OPD

比较指令CMP

  • CMP OPD,OPS
  • 目的操作数减源操作数,结果只影响标志位,不送入目的地址,即只进行(OPD)-(OPS)操作。

乘法

无符号数乘法指令MUL

  • MUL OPS
  • 若是字节数相乘,(AL)与OPS相乘得到字数据存入AX中;若是字数据相乘,则(AX)与OPS相乘得到双字数据,高字存入DX,低字存入AX中。其中,OPS为寄存器或存储单元。
  • 字节乘法:(AL)*(OPS)---->AX
  • 字乘法:(AX)*(OPS)---->DX,AX

有符号乘法指令IMUL

  • IMUL OPS
  • 字节乘法功能指令为(AX)*(OPS)---->AX
  • 字乘法功能指令为(AX)*(OPS)---->DX,AX

除法

无符号除指令DIV

  • DIV OPS
  • 字节除法功能指令为(AX)/(OPS)---->AL(商),AH(余数)
  • 字除法功能指令为(DX、AX)/(OPS)---->AX(商),DX(余数)
  • 其中OPS为寄存器或存储单元

有符号数除指令IDIV

  • IDIV OPS
  • 字节除法功能指令为(AX)/(OPS)---->AL(商),AH(余数)
  • 字除法功能指令为(DX、AX)/(OPS)---->AX(商),DX(余数)

符号扩展指令

字节转换成字指令CBW

  • CBW
  • 将AL中的符号位数据扩展至AH。若AL的最高位为1,则把FFH存入AH,否则把00H存入AH。
  • 在执行IMUL或IDIV指令之前,该指令可用于扩展AL的内容。

字转换成双字指令CWD

  • CWD
  • 将AX中的符号位数据扩展至DX。若AX最高位为1,则把FFFFH存入DX,否则把0000H存入DX.
  • 在执行IDIV指令之前用于扩展AX的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值