linux 嵌入式汇编 adc,汇编语言ADC指令:带进位加法

本文介绍了Linux嵌入式环境下的汇编指令ADC(带进位加法)。通过实例展示了如何使用ADC指令进行8位和32位整数的加法运算,并提供了一个名为Extended_Add的扩展加法过程,用于计算两个相同大小的扩展整数之和。文章还包含一个调用Extended_Add的过程及显示和数的Display_Sum过程。
摘要由CSDN通过智能技术生成

ADC(带进位加法)指令将源操作数和进位标志位的值都与目的操作数相加。该指令格式与 ADD 指令一样,且操作数大小必须相同:

ADC reg, reg

ADC mem, reg

ADC reg, mem

ADC mem, imm

ADC reg, imm

例如,下述指令实现两个 8 位整数相加 (FFh+FFh),产生的 16 位和数存入 DL:AL,其值为 01FEh:

mov dl, 0

mov al, 0FFh

add al, 0FFh     ; AL = FEh

adc dl, 0        ; DL/AL = OlFEh

下图展示了这两个数相加过程中的数据活动。首先,FFh 与 AL 相加,生成 FEh 存入 AL 寄存器,并将进位标志位置 1。然后,将 0 和进位标志位与 DL 寄存器相加:

acd69024350803548792091efd261730.gif

同样,下述指令实现两个 32 位整数相加 (FFFF FFFFh+ FFFF FFFFh),产生的 64 位和数存入 EDX:EAX,其值为:0000 0001 FFFF FFFEh:

mov edx, 0

mov eax, 0FFFFFFFFh

add eax, 0FFFFFFFFh

adc edx, 0

扩展加法示例

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值