汇编语言 ADC指令和SBB指令

发布者:玉树琼花最新更新时间:2022-10-19 来源: csdn关键字:汇编语言 手机看文章 扫描二维码
随时随地手机看文章

ADC指令

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


例如下述指令实现两个16位整数相加(FFFFH + 1000H),产生的和分别存入DX:AX


assume cs:code, ds:data, ss:stack


data segment

db 256 dup(0)

data ends


stack segment stack

db 128 dup(0)

stack ends


code segment

start: mov ax, stack

   mov ss, ax

   mov sp, 128

   

   mov ax, 0FFFFH     ; 存放低16bit

   mov dx, 1000H      ;  高 16bit

   

   add ax, 0FFFFH

   adc dx, 0        ; 结果 DX =  1001

   

   mov ax, 4C00H

   int 21H

code ends


end start

在这里插入图片描述

在这里插入图片描述

例如下述指令实现两个8位整数相加(FFH + FFH),产生的和分别存入DL:AL


assume cs:code, ds:data, ss:stack


data segment

db 256 dup(0)

data ends


stack segment stack

db 128 dup(0)

stack ends


code segment

start: mov ax, stack

   mov ss, ax

   mov sp, 128

   

   mov dl, 0

   mov al, 0FFH

   add al, 0FFH

   adc dl, 0

   

   mov ax, 4C00H

   int 21H

code ends


end start

在这里插入图片描述

在这里插入图片描述

总结:

add与adc的区别


add: ax, bx              ax = ax + bx

adc: ax, bx              ax = ax + bx + CF(进位标志位)


SBB指令

SBB(带借位减法)指令从目的操作数中减去源操作数和进位标志位的值。允许使用的操作数与ADC指令相同。


assume cs:code, ds:data, ss:stack


data segment

db 256 dup(0)

data ends


stack segment stack

db 128 dup(0)

stack ends


code segment

start: mov ax, stack

   mov ss, ax

   mov sp, 128

   

   mov dx, 1000

   mov ax, 0005

   sub ax, 6    ; AX = FFFH

   sbb dx, 0    ; DX = 03E7H   AX = FFFH

    

   mov ax, 4C00H

   int 21H

code ends


end start

在这里插入图片描述
在这里插入图片描述

add与adc的区别


sub: ax, bx              ax = ax - bx

sbb: ax, bx              ax = ax - bx - CF(进位标志位)

关键字:汇编语言 引用地址:汇编语言 ADC指令和SBB指令

上一篇:汇编语言 8086+8255A仿真中断控制
下一篇:汇编语言 标志位

推荐阅读最新更新时间:2024-11-12 15:29

I2C模拟程序----汇编语言格式
模块名:I2C总线驱动 型号:I2C 功能描述: 此模块包括发送数据及接收数据,应答位发送,并提供了几个直接面对器件的操作函数,能很 方便的与用户程序进行连接并扩展。 需要注意的是,函数是采用延时方法产生 SCL 脉冲,对高晶振频率要做一定的修改!! 在写E2PROM的时候一定要延时!!! 说明: 1us机器周期,晶振频率要小于12MHz 返回 1 则操作成功,返回 0 则操作失败。 sla 为器件从地址,suba 为器件子地址。 *************************************************************************************/ #incl
[单片机]
ARM汇编语言中的伪操作(一)
伪操作(derective)是ARM汇编语言程序里的一些特殊的指令助记符,其作用主要是为完成汇编程序做各种准备工作,在源程序运行汇编程序处理,而不是在计算机运行期间有机器执行.也就是说,这些伪操作只是汇编过程中起作用,一旦汇编结束,伪操作的使命也就随之消失. 符号定义( Symbol Definition )伪操作 符号定义伪操作用于定义 ARM 汇编程序中的变量、对变量赋值以及定义寄存器的别名。 包括以下伪操作: 用于声明全局变量 GBLA 、 GBLL 和 GBLS 。 用于声明局部变量 LCLA 、 LCLL 和 LCLS 。 用于对变量赋值 SETA 、 SETL 、 SETS
[单片机]
STM8S汇编入门(1-3)
不知是心血来潮,还是其它因素,突然又想起玩汇编语言了。这几年也没少跟单片机打交道,包括51系列,430系列,ARM系列,但都是用C语言来开发。不过由于使用C语言,实际上对这些CPU的了解还是不够深刻,当然除了51之外,因为那是我多年前曾经用汇编开发过的芯片。尽管当今C语言已经在嵌入式产品的开发过程中成为主流,但我个人依然认为,要想真正了解CPU的特点,还得用汇编语言。不知道这种观点是对还是错,也许是因为自己从硬件做起,写过机器码,用汇编语言做过优化,因此对汇编语音有一种特殊的偏爱。 系列的芯片用多了,感觉有时写起程序来不太方便,因此总想寻找一些其它的8位单片机玩玩,正好手头有一个ST的三合一开发板,那是09年参加ST研讨会上买
[单片机]
pic单片机的各种汇编语言指令解析
pic 单片机为最常用单片机之一,许多程序均基于 pic 单片机进行开发。因此,熟练 pic 单片机编程尤为重要。为保证大家能准确、熟练掌握 pic 单片机的使用,本文特带来 pic 单片机的各种汇编语言指令的讲解上篇,下篇将在后期文章中予以讲解。如果你对本文即将讲解的内容充满兴趣,不妨继续往下阅读哦。 一、pic 的指令系统 pic8 位单片机共有三个级别,有相对应的指令集。基本级 pic 系列芯片共有指令 33 条,每条指令是 12 位字长;中级 pic 系列芯片共有指令 35 条,每条指令是 14 位字长;高级 pic 系列芯片共有指令 58 条,每条指令是 16 位字长。其指令向下兼容。 二、pic 汇编语言指令格
[单片机]
pic单片机的各种<font color='red'>汇编语言</font><font color='red'>指令</font>解析
两机串行通讯单片机汇编语言编程举例
A、B两机之间串行通讯(方式1),用‘检验和’校验波特率为2400,发送缓冲区和接收缓冲区都为片内30H开始的16个字节单元。已知:fosc=11.0592MHz。 设计A发送,B接收的双方协议如下: 1、首先A发送‘AA’信号,B接收到后发送‘BB’应答; 2、A方最多只发送20次‘AA’,若无应答,置错误标志,退出。 3、A收到‘BB’后,开始发送缓冲区的数据,同时求检验和,共16个字节。 4、B接收数据,存入缓冲区,并同时求检验和。 5、当一个数据块发送完后,A再发送检验和(一个字节)。 6、B接收到A的检验和后,再与本身的检验和比较。 7、若接收正确,B方发送‘00’,否则发送‘EE‘,请求重发。 8、若
[单片机]
两机串行通讯单片机<font color='red'>汇编语言</font>编程举例
如何在C51文件和汇编语言文件中相互调用?
如何在C51文件和汇编语言文件中相互调用对方文件中的函数? 答:汇编语言文件中对于函数的调用方法,与调用汇编语言中的函数一样,如: LCALL DISPLAY 在C语言文件中调用汇编语言中的函数,必须先声明再调用。声明格式如下: extern 返回值类型 函数名(参数表); 例如: extern unsigned char right_shift ( char, char );
[单片机]
LCD12864汇编语言程序例子
12864接口程序(MCS51模拟口线方式) ;*************************************************************************** ;连线图: *LCM---8031* *LCM---8031* *LCM------------8031* *LCM----------8031* ; *DB0---P1.0* *DB4---P1.4* *RS-------------P3.0* *CS1----------P3.4* ; *DB1---P1.1* *DB5---P1.5* *RW-------------P3.1* *CS2----------P3.5*
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved