微型计算机指令系统-算术运算指令-加法

本文详细介绍了微型计算机指令系统中的加法指令,包括ADD、ADC、INC、AAA和DAA。ADD用于普通加法,ADC处理带进位加法,INC实现数值+1,AAA是对ASCII码进行调整的指令,而DAA则专门用于十进制加法的调整。这些指令在处理不同类型的加法运算时各有特点,如处理进位、ASCII码调整和十进制BCD码等。

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

包括普通加法ADD,带进位加法ADC,+1指令INC。

加法调整指令十进制调整指令DAA,ascii调整指令AAA。段寄存器不参与加减乘除。

1.1ADD

eg:ADD CL,10;寄存器加立即数。

目标操作数和源操作数不能同时是存储器。操作对象时字节或者字

带符号数产生溢出时,OF标志位为1.无符号数最高位产生进位时,CF标志位置为1.

1.2 ADC

eg:ADC dest,src;(dest)<--(dest)+(src)+(CF)

多用于多字节数据的加法运算,低字节产生进位时,在高字节相加时应该加上此进位。

P65例题

1.3 INC

INC dest;(dest)<--(dest)+1

自增1.不影响进位标志CF。常用于循环程序中修改地址。

1.4 AAA

加法ASCII调整指令。不写操作数,实际操作AL和AH。

eg:7+8=?

MOV AX,0007H

MOV BL,08H;

ADD,AL,BL

AAA; (AL)=05H,(AH)=01H,(CF)=(AF)=1

如果AL的低4位大于9或AF=1,则AL的内容加06H,AH的内容加1,AF置1,CF置1,AL高四位置零;

否则AL高四位置零。

操作的不压缩BCD,得到也是不压缩BCD码,个位在AL,十位在AH。

P68例题

1.5 DAA

加法的十进制调整指令,实际操作寄存器AL。针对压缩BCD码,不改变AH的内容,只调整AL。

eg:68+59=?

MOV AL,68H

MOV BL,59H

ADD AL,BL

DAA 

如果AL的低4位大于9或AF=1,则AL的内容加06H,并将AF置1;

如果AL的高4位大于9或CF=1,则AL的内容加60H,且将CF置1。如果两个都不满足,则将AF,CF清零。

此处的AAA和DAA一定要多理解一下例题。

接下来更新减法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值