ASM16-14 --算术运算类指令
ASM16
算术运算类指令
- 四则运算是计算机经常进行的一种操作。算术运算指令实现二进制(和十进制)数据的四则运算
- 请注意算术运算类指令对标志的影响
- 掌握:ADD/ADC/INC、SUB/SBB/DEC/NEG/CMP
- 熟悉:MUL/IMUL、DIV/IDIV
- 理解:CBW/CWD、DAA/DAS、AAA/AAS/AAM/AAD
加法指令ADD
- ADD指令将源与目的操作数相加,结果送到目的操作数
- ADD指令按状态标志的定义相应设置
1 | ADD reg,imm/reg/mem |
带进位加法指令ADC
- ADC指令将源与目的操作数相加,再加上进位CF标志结果送到目的操作数
- ADC指令按状态标志的定义相应设置
- ADC指令主要与ADD配合,实现多精度加法运算
减法指令SUB
SUB指令将目的操作数减去源操作数,结果送到目的操作数
SUB指令按照定义相应设置状态标志
带借位减法指令SBB
- SBB指令将目的操作数减去源操作数,再减去借位CF(进位),结果送到目的操作数
- SBB指令按照定义相应设置状态标志
- SBB指令主要与SUB配合,实现多精度减法运算
减量指令DEC
- DEC指令对操作数减1(减量)
- DEC指令不影响进位CF标志,按定义设置其他状态标志
1 | ;算法运算类指令 |
求补指令NEG(negative)
- NEG指令对操作数执行求补运算:用零减去操作数然后结果返回操作数
- 求补运算也可以表达成:将操作数按位取反后加1
- NEG指令对标志的影响与用零作减法的SUB指令一样
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 翻斗花园!