8086CPU指令系统--汇编语言算术运算指令(ADD/ADC、SUB/SBB、INC/DEC、CMP、MUL、DIV)

目录

 

1.加法指令ADD/ADC、INC

普通加法指令ADD

带进位加法指令ADC

加1指令INC

2.减法指令SUB/SBB

不考虑借位减法指令SUB

考虑借位的减法指令SBB

减1指令DEC

比较指令CMP

求补指令NEG

3.乘法指令MUL

4.除法指令DIV


1.加法指令ADD/ADC、INC

普通加法指令ADD

指令格式:ADD OPRD1,OPRD2             ;OPRD1←OPRD1+OPRD2

功能:将源操作数和目的操作数相加,结果送到目标操作数

注意:

  1. 这里源操作数和目标操作数都可以是无符号数,也可以是带符号数,但两者类型要相同,长度相同
  2. 源操作数可以是通用寄存器、存储器或立即数,而目的操作数只能是通用寄存器或存储器,不能是立即数,且两者不能同时为存储器操作数。
ADD CL,20H        ;CL←CL+20H
ADD DX,[BX+SI]    ;DX←DX+[BS+SI]

带进位加法指令ADC

指令格式:ADC OPRD1,OPRD2             ;OPRD1←OPRD1+OPRD2+CF

功能:ADC和ADD指令在功能、格式以及对标志位的影响上基本相同,只是在求和运算时加入了CF标志位,结果依然送目标操作数

;当CF=1
MOV AL,7EH
ADC AL,0ABH   ;执行完之后AL=2AH=7eH+0ABH+1且CF=1

加1指令INC

指令格式:INC OPRD               ;OPRD←OPRD+1

功能:INC指令是将指定操作数的内容加1,再送回该操作数。其操作类似c语言中的"++"运算符。

注意:

  1. 目的操作数可以是任意一个8位或16位通用寄存器或存储单元,但不能是立即数,且把操作数看作是无符号二进制数。
  2. 指令执行影响PF、AF、ZF、SF、OF,但不影响CF
INC SI                ;修改地址指针
INC BYTE PYR [BX]     ;修改地址指针

 

2.减法指令SUB/SBB

不考虑借位减法指令SUB

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值