C51单片机汇编语言指令集

合集下载

C51单片机汇编语言逻辑右移汇编语言SHR右移指令将操作数逻辑右移一位

C51单片机汇编语言逻辑右移汇编语言SHR右移指令将操作数逻辑右移一位

C51单片机汇编语言逻辑右移汇编语言SHR 右移指令将操作数逻辑右移一位在C51单片机汇编语言中,逻辑右移是通过SHR(右移指令)来实现的。

逻辑右移是指将一个二进制数的各位向右移动一位,移动后的位置用0填充。

本文将详细介绍C51单片机汇编语言逻辑右移的操作步骤和具体实现方法。

1. C51单片机汇编语言概述C51单片机汇编语言是由英特尔公司开发的一种用于嵌入式系统的低级编程语言。

它被广泛应用于各种嵌入式系统中,包括家电、汽车电子、通信设备等。

C51汇编语言具有指令丰富、执行效率高、对硬件资源的灵活利用等特点,因此在嵌入式系统开发中得到了广泛的应用。

2. 逻辑右移(SHR)指令的作用和原理逻辑右移是将操作数的二进制表示向右移动一位,移动后的位置用0填充。

逻辑右移(SHR)指令是C51单片机汇编语言提供的一种操作指令,用于实现逻辑右移的功能。

逻辑右移的原理是将操作数的二进制表示向右移动一位,并在最高位位置插入0。

3. 逻辑右移操作的示例下面以一个示例来说明逻辑右移(SHR)的具体操作步骤和实现方法。

假设我们要将一个8位的二进制数A右移一位,将结果保存在另一个变量B中。

首先,将A加载到A寄存器中。

MOV A, #0xFF ; 将0xFF加载到A寄存器中接下来,通过SHR指令对A进行逻辑右移操作,并将结果保存在B中。

SHR A, #1 ; 将A右移一位,结果保存在A中MOV B, A ; 将A的值保存到B中此时,变量B中的值就是二进制数A逻辑右移一位后的结果。

上述示例中,我们将二进制数A右移一位,并将结果保存在B中。

通过逻辑右移,原二进制数中的各位向右移动一位,并在最高位位置插入0。

逻辑右移操作可以通过SHR指令来实现。

4. 总结逻辑右移是C51单片机汇编语言中常用的操作之一,通过SHR指令可以方便地实现逻辑右移的功能。

逻辑右移将操作数的二进制表示向右移动一位,移动后的位置用0填充。

在实际的嵌入式系统开发中,逻辑右移的操作能够有效地处理和优化数据,提高程序的执行效率和系统的性能。

c51 rrc 汇编写法

c51 rrc 汇编写法

c51 rrc 汇编写法
C51是一种常见的8位单片机系列,而RRC是C51汇编语言中的一个指令。

RRC指令是将一个寄存器中的数据循环右移一位,最高位的数据移动到最低位,同时将最低位的数据移动到最高位。

在C51汇编语言中,RRC指令的写法如下:
RRC A ; 将A寄存器中的数据循环右移一位。

这条指令表示将A寄存器中的数据进行循环右移一位。

在C51汇编语言中,A寄存器是一个累加器,用于存储运算结果或临时数据。

RRC指令可以用于对数据进行位操作,常用于加密算法、数据压缩等场景。

除了RRC指令外,C51汇编语言还包括了丰富的指令集,可以进行各种数据操作、逻辑运算、跳转等操作。

在编写C51汇编程序时,需要深入了解指令集的功能和使用方法,以及掌握寄存器的作用和特性,才能正确高效地编写程序。

总的来说,C51汇编语言中的RRC指令可以通过指定寄存器来对数据进行循环右移一位,是C51单片机编程中常用的指令之一。

在实际编写程序时,需要根据具体的需求和逻辑来合理使用RRC指令,以实现所需的功能。

单片机c51汇编语言51单片机汇编语言

单片机c51汇编语言51单片机汇编语言

单片机c51汇编语言51单片机汇编语言单片机C51汇编语言单片机(C51)是指一种集成电路上只包含一个集中式控制器的微处理器,具有完整的CPU指令集、RAM、ROM、I/O接口等功能。

汇编语言是一种低级语言,是用于编写单片机指令的一种语言。

汇编语言能够直接操作单片机的寄存器和输入/输出端口,因此在嵌入式系统的开发中非常重要。

本文将介绍单片机C51的汇编语言编程。

一、了解单片机C51单片机C51是目前应用最广泛的一种单片机系列,广泛用于各种电子设备和嵌入式系统的开发。

C51指的是Intel公司推出的一种基于MCS-51架构的单片机。

该系列单片机具有较高的性能和低功耗的特点,可用于各种控制和通信应用。

二、汇编语言的基本概念汇编语言是一种低级语言,与机器语言紧密相关。

它使用助记符来代替机器指令的二进制表示,使程序的编写更加易读。

在单片机C51汇编语言中,每一条汇编指令都对应着特定的机器指令,可以直接在单片机上执行。

三、汇编语言的基本指令在单片机C51汇编语言中,有一些基本的指令用于控制程序的执行和操作寄存器。

以下是一些常用的指令:1. MOV指令:用于将数据从一个寄存器或内存单元复制到另一个寄存器或内存单元。

2. ADD指令:用于将两个操作数相加,并将结果存储到目的寄存器中。

3. SUB指令:用于将第一个操作数减去第二个操作数,并将结果存储到目的寄存器中。

4. JMP指令:用于无条件跳转到指定的地址。

5. JZ指令:用于在条件为零时跳转到指定的地址。

6. DJNZ指令:用于将指定寄存器的值减一,并根据结果进行跳转。

四、编写单片机C51汇编程序的步骤编写单片机C51汇编程序需要按照以下步骤进行:1. 确定程序的功能和目标。

2. 分析程序的控制流程和数据流程。

3. 设计算法和数据结构。

4. 编写汇编指令,实现程序的功能。

5. 调试程序,并进行测试。

六、实例演示以下是一个简单的单片机C51汇编程序的示例,用于实现两个数的相加,并将结果输出到LED灯上:org 0H ; 程序的起始地址为0mov a, 05H ; 将05H赋值给累加器mov b, 07H ; 将07H赋值给B寄存器add a, b ; 将A寄存器和B寄存器的值相加mov P1, a ; 将相加结果输出到P1口end ; 程序结束在这个例子中,首先将05H赋值给累加器A,然后将07H赋值给B寄存器,接着使用ADD指令将A和B的值相加,将结果存储到累加器A中,最后将累加器A的值输出到P1口。

第三章MCS51系列单片机指令系统及汇编语言程序设计

第三章MCS51系列单片机指令系统及汇编语言程序设计
AJMP addr11 绝对转移指令为2K地址范围内的转移指令,对转移目的地址的要求与 ACALL指令中对子程序入口地址的要求相同。 【3】短转移指令
SJMP rel ;PC+ 2 + rel→PC 短转移指令为一页地址范围内的相对转移指令。因为rel为1字节补码 偏移量,且SJMP rel指令为2字节指令,所以转移范围为-126D~+ 129D 【4】间接转移指令
表3.4 程序存储器空间中的32个基本2K地址范围
0000H~07FFH 0800H~0FFFH 1000H~17FFH 1800H~1FFFH 2000H~27FFH 2800H~2FFFH 3000H~37FFH 3800H~3FFFH 4000H~47FFH 4800H~4FFFH 5000H~57FFH
3. 寄存器寻址
以通用寄存器的内容为操作数的寻址方式。通用寄存 器包括:A,B,DPTR,R0~R7。其中,R0~R7必须在 工作寄存器组之中。
例如:INC R0 ;(R0)+1→R0
需要注意的是,A和B既是通用寄存器,又是具有直 接地址的特殊功能寄存器。
4. 寄存器间接寻址
以寄存器中的内容为地址,该地址中的内容为操作数的寻址方式。能够 用于寄存器间接寻址的寄存器有:R0,R1,DPTR,SP。其中,R0,R1必 须在工作寄存器组之中,SP仅用于堆栈操作。
MCS-51单片机共有111条指令,按功能分类, MCS-51指令系统可分为5大类:
➢ 数据传送类指令(共29条) ➢ 算术操作类指令(共24条) ➢ 逻辑操作类指令(共24条) ➢ 控制转移类指令(共17条) ➢ 布尔变量操作类指令(共17条)
1.数据传送类指令(共29条)
以累加器A为目的操作数类指令(4条)

大学课件MCS51单片机指令系统与汇编语言程序设计

大学课件MCS51单片机指令系统与汇编语言程序设计

ANL C, P ; (C)← (C)∧(P)
其中:P是PSW的第0位,C是PSW的第7位。
(4)字节符号地址(字节名称)加位序号的形式。对于部分特 殊功能寄存器(如状态标志寄存器PSW),还可以用其字节名 称加位序号形式来访问某一位。AC 如:
定义:操作数存放在MCS-51内部的某个工作寄存器Rn (R0~R7)或部分专用寄存器中,这种寻址方式称为 寄存器寻址。
特点:由指令指出某一个寄存器的内容作为操作数。 存放操作数的寄存器在指令代码中不占据单独的一个 字节,而是嵌入(隐含)到操作码字节中。
寻址范围:四组通用寄存器Rn(R0~R7)、部分专用 寄存器( A, B, DPTR, Cy )。
伪指令只出现在汇编前的源程序中,仅提供汇编用的某些控制 信息,不产生可执行的目标代码,是CPU不能执行的指令。
(1)定位伪指令ORG
格式:ORG n
其中:n通常为绝对地址,可以是十六进制数、标号或表达式。
功能:规定编译后的机器代码存放的起始位置。在一个汇编 语言源程序中允许存在多条定位伪指令,但每一个n值都应和前
2.2.2 直接寻址
定义:将操作数的地址直接存放在指令中,这种寻址方式称为 直接寻址。 特点:指令中含有操作数的地址。该地址指出了参与操作的数 据所在的字节单元地址或位地址。计算机执行它们时便可根据 直接地址找到所需要的操作数。
寻址范围:ROM、片内RAM区、SFR和位地址空间。P42
2.2.3 寄存器寻址
定义:指令中给出的操作数是一个可单独寻址的位地址,这种寻址 方式称为位寻址方式。
特点:位寻址是直接寻址方式的一种,其特点是对8位二进制数中 的某一位的地址进行操作。
寻址范围:片内RAM低128B中位寻址区、部分SFR(其中有83位 可以位寻址)。

51单片机汇编语言教程

51单片机汇编语言教程

51单片机汇编语言教程汇编语言是一种低级程序设计语言,直接操作计算机硬件,能够充分发挥硬件的性能,是学习嵌入式系统开发的基础。

而51单片机是广泛应用于嵌入式系统中的一种微控制器,具有功能强大、易于掌握等特点。

本篇文章将为大家介绍51单片机汇编语言的基本概念、编程指令以及应用实例,帮助读者快速入门。

一、51单片机汇编语言概述1.1 51单片机简介51单片机是一种由英特尔公司设计的8位微控制器,其核心是一个CPU,具有RAM、ROM、I/O端口等外围设备。

它采用的是汇编语言编程,具有指令集简单、易于学习等特点,因此深受嵌入式系统开发者的喜爱。

1.2 汇编语言的基本概念汇编语言是一种低级语言,与高级语言相比,更接近计算机底层的硬件操作。

在汇编语言中,程序员通过编写指令来告诉计算机具体的操作,如数据存储、运算等。

二、51单片机汇编语言基础知识2.1 寄存器寄存器是51单片机中的一种重要的存储设备,用于存储数据、地址等信息。

51单片机共有32个寄存器,其中一部分用于存储通用数据,一部分用于存储特定功能的数据。

在汇编语言编程中,我们可以使用这些寄存器来存储数据和进行运算。

2.2 程序存储器程序存储器是51单片机中存储程序的地方,它可以分为ROM和RAM两种类型。

其中,ROM存储的是不可修改的程序代码,而RAM 存储的是可以读写的数据。

2.3 I/O端口I/O端口是51单片机与外部设备进行数据交互的接口,通过输入/输出指令,可以实现数据的输入与输出。

在汇编语言中,我们需要了解如何使用I/O端口来与外部设备进行通信。

三、51单片机汇编语言编程指令3.1 数据传输指令数据传输指令用于将数据从一个地方传输到另一个地方。

常用的数据传输指令有MOV、MOVC、MOVX等,通过这些指令可以实现数据的读取、存储和传输等操作。

3.2 算术运算指令算术运算指令用于对数据进行加、减、乘、除等运算操作。

51单片机中的算术运算指令包括ADD、SUB、MUL、DIV等,通过这些指令可以对数据进行各种运算操作。

C51单片机汇编语言指令集

C51单片机汇编语言指令集

51汇编语言指令集符号定义表符号含义Rn R0~R7寄存器n=0~7Direct 直接地址,内部数据区的地址RAM(00H~7FH) SFR(80H~FFH) B,ACC,PSW,IP,P3,IE,P2,SCON,P1,TCON,P0@Ri 间接地址Ri=R0或R1 8051/31RAM地址(00H~7FH) 8052/32RAM地址(00H~FFH) #data 8位常数#data16 16位常数Addr16 16位的目标地址Addr11 11位的目标地址Rel 相关地址bit 内部数据RAM(20H~2FH),特殊功能寄存器的直接地址的位指令介绍指令字节周期动作说明算数运算指令1.ADD A,Rn 1 1 将累加器与寄存器的内容相加,结果存回累加器2.ADD A,direct 2 1 将累加器与直接地址的内容相加,结果存回累加器3.ADD A,@Ri 1 1 将累加器与间接地址的内容相加,结果存回累加器4.ADD A,#data 2 1 将累加器与常数相加,结果存回累加器5.ADDC A,Rn 1 1 将累加器与寄存器的内容及进位C相加,结果存回累加器6.ADDC A,direct 2 1 将累加器与直接地址的内容及进位C相加,结果存回累加器7.ADDC A,@Ri 1 1 将累加器与间接地址的内容及进位C相加,结果存回累加器8.ADDC A,#data 2 1 将累加器与常数及进位C相加,结果存回累加器9.SUBB A,Rn 1 1 将累加器的值减去寄存器的值减借位C,结果存回累加器10.SUBB A,direct 2 1 将累加器的值减直接地址的值减借位C,结果存回累加器11.SUBB A,@Ri 1 1 将累加器的值减间接地址的值减借位C,结果存回累加器12.SUBB A,0data 2 1 将累加器的值减常数值减借位C,结果存回累加器13.INC A 1 1 将累加器的值加114.INC Rn 1 1 将寄存器的值加l15.INC direct 2 1 将直接地址的内容加116.INC @Ri 1 1 将间接地址的内容加117.INCDPTR1 1 数据指针寄存器值加1说明:将16位的DPTR加1,当DPTR的低字节(DPL)从FFH溢出至00H时,会使高字节(DPH)加1,不影响任何标志位18.DEC A 1 1 将累加器的值减119.DEC Rn 1 1 将寄存器的值减120.DEC direct 2 1 将直接地址的内容减121.DEC @Ri 1 1 将间接地址的内容减122.MUL AB 1 4 将累加器的值与B寄存器的值相乘,乘积的低位字节存回累加器,高位字节存回B寄存器说明:将累加器A和寄存器B内的无符号整数相乘,产生16位的积,低位字节存入A,高位字节存入B寄存器。

51单片机汇编语言带进位加法指令

51单片机汇编语言带进位加法指令

51单片机汇编语言带进位加法指令带进位加法指令(4 条)这4 条指令除与[1]功能相同外,在进行加法运算时还需考虑进位问题。

ADDC A,data ;(A)+(data)+(C)(A)累加器A 中的内容与直接地址单元的内容连同进位位相加,结果存在A 中ADDC A,#data;(A)+#data +(C)(A)累加器A 中的内容与立即数连同进位位相加,结果存在A 中ADDC A,Rn ;(A)+Rn+(C)(A)累加器A 中的内容与工作寄存器Rn 中的内容、连同进位位相加,结果存在A 中ADDC A,@Ri ;(A)+((Ri))+(C)(A)累加器A 中的内容与工作寄存器Ri 指向地址单元中的内容、连同进位位相加,结果存在A 中用途:将A 中的值和其后面的值相加,并且加上进位位C 中的值。

说明:由于51 单片机是一种8 位机,所以只能做8 位的数学运算,但8 位的运算范围只有0-255,这在实际工作中是不够的,因此就要进行扩展,一般是将2 个8 位的数学运算合起来,成为一个16位的运算,这样,可以表达的数的范围就可以到达0-65535。

如何合并呢?其实很简单,让我们看一个十进制数的例子吧:66+78 这两个数相加,我们根本不在意这个过程,但事实上我们是这样做的:先做6+8(低位),然后再做6+7,这是高位。

做了两次加法,只是我们做的时候并没有刻意分成两次加法来做罢了,或者说我们并没有意识到我们做了两次加法。

之所以要分成两次来做,是因为这两个数超过了一位数所能表达的范围(0-9)。

在做低位时产生了进位,我们做的时候是在适当的位置点一下,然后在做高位加法时将这一点加进去。

那么计算机中做16 位加法时同样如此,先做低8 位的,如果两数相加后产生了进位,也要点一下做个标记,这个标记就职进位位C,在程序状态字PSW 中。

在进行高位加法是将这个C 加进去。

例如:1067H+10A0H,先做67H+A0H=107H,而107H 显然超过了0FFH,因此,最终保存在A 中的数是。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

42 . XRL 3 2 将直接地址的内容与常数的值做XOR
direct,#data
的逻辑判断,结果存回该直接地址
43.CLR A 1 1 清除累加器的值为0
44.CPL A 1 1 将累加器的值反相
45.RL A 1 1 将累加器的值左移一位
46.RLC A 1 1 将累加器含进位C左移一位
47.RR A 1 1 将累加器的值右移一位
A,@Ri
53 . MOV 2 1 将常数载入累加器
A,#data
54 . MOV 1 1 将累加器的内容载入寄存器
Rn,A
55 . MOV 2 2 将直接地址的内容载入寄存器
Rn,direct
56 . MOV 2 1 将常数载入寄存器
Rn,gdata
57 . MOV 2 1 将累加器的内容存入直接地址
ANL 2 1 将累加器的值与直接地址的内容做AND
A,direct
的逻辑判断,结果存回累加器
ANL 1 1 将累加器的值与间接地址的内容做AND
A,@Ri
的逻辑判断,结果存回累加器
ANL 2 1 将 累 加器 的 值与 常数 做 AND的 逻辑 判
A,#data
断,结果存回累加器
ANL 2 1 将直接地址的内容与累加器的值做AND
A,#data,rel
等则跳至rel所指的相关地址
CJNE @Rn, 3 2 将寄存器的内容与常数比较,若不相
#data,rel
等则跳至rel所指的相关地址
CJNE @Ri, 3 2 将间接地址的内容与常数比较,若不
#data,rel
相等则跳至rel所指的相关地址
109 . DJNZ Rn,rel 110 . DJNZ direct,rel 111.NOP
@Ri,A
指定的外部存储器(8位地址)
71 . MOVX 1 2 将累加器的内容写入数据指针所
@DPTR,A
指定的外部存储器(16位地址)
72 . PUSH 2 2 将直接地址的内容压入堆栈区
direct
73 . POP 2 2 从堆栈弹出该直接地址的内容
direct
74 . XCH 1 1 将累加器的内容与寄存器的内容
51汇编语言指令集
符号定义表 符号
含义
Rn
R0~R7寄存器n=0~7
Direct 直接地址,内部数据区的地址RAM(00H~7FH)
SFR(80H~FFH) B,ACC,PSW,IP,P3, IE,P2,SCON,P1,TCON,P0
@Ri 间 接 地 址 Ri=R0 或 R1 8051/31RAM 地 址 (00H~7FH) 8052/32RAM地址(00H~FFH)
C,/bit
做AND的逻辑判断,结果存回进位C
86 . ORL 2 2 将进位C与直接地址的某位做OR的逻
C,bit
辑判断,结果存回进位C
87 . ORL 2 2 将进位C与直接地址的某位的反相值
C,/bit
做OR的逻辑判断,结果存回进位C
88 . MOV 2 1 将直接地址的某位值存入进位C
C,bit
2 1 将累加器与直接地址的内容相加,结 果存回累加器
3.ADD
1 1 将累加器与间接地址的内容相加,结
A,@Ri
果存回累加器
4.ADD A,#data
2 1 将累加器与常数相加,结果存回累加 器
5.ADDC
1 1 将累加器与寄存器的内容及进位C相
A,Rn
加,结果存回累加器
6.ADDC A,direct
89 . MOV 2 2 将进位C的值存入直接地址的某位
bit,C
90.JC rel 2 2 若进位C=1则跳至rel的相关地址
91.JNC rel 2 2 若进位C=0则跳至rel的相关地址
92 . JB 3 2 若直接地址的某位为1,则跳至rel的相
bit,rel
关地址
93 . JNB 3 2 若直接地址的某位为0,则跳至rel的相
标志位
18.DEC A 1
1 将累加器的值减1
19.DEC Rn 1
1 将寄存器的值减1
20.DEC direct 2 1 将直接地址的内容减1
21.DEC @Ri 1
1 将间接地址的内容减1
22.MUL AB 1 4 将累加器的值与B寄存器的值相
乘,乘积的低位字节存回累加器,
高位字节存回B寄存器
说明:将累加器A和寄存器B内的无符号整数相乘,产生
36 . ORL 3 2 将直接地址的内容与常数值做OR的逻
direct,#data
辑判断,结果存回该直接地址
37 . XRL 1 1 将累加器的值与寄存器的值做XOR的
A,Rn
逻辑判断,结果存回累加器
38 . XRL 2 1 将 累 加 器 的值 与 直 接地址 的 内 容做
A,direct
XOR的逻辑判断,结果存回累加器
bit,rel
关地址
94 . JBC 3 2 若直接地址的某位为1,则跳至rel的相
bit,rel
关地址,并将该位值清除为0
程序跳跃
95.ACALL 2 2 调用2K程序存储器范围内的子程序
addr11
96.LCALL 3 2 调用64K程序存储器范围内的子程序
addr16
97.RET 1 2 从子程序返回
48.RRC A 1 1 将累加器含进位C右移一位
49 . SWAP 1 1 将累加器 的高4位与低 4位的内容 交
A
换。(A)3-0←(A)7-4
数据转移指令
50 . MOV 1 1 将寄存器的内容载入累加器
A,Rn
51 . MOV 2 1 将直接地址的内容载入累加器
A,direct
52 . MOV 1 1 将间接地址的内容载入累加器
位(OV)被清除为0
24.DA 1 1 将累加器A作十进制调整,
A
若 (A) 3-0>9 或 (AC)=1 , 则 (A)
3-0←(A)3-0+6
若 (A) 7-4>9 或 (C)=1 , 则 (A) 7-4←(A)7-4+6
逻辑运算指令
ANL A,Rn
1 1 将累加器的值与寄存器的值做AND的逻 辑判断,结果存回累加器
的逻辑判断,结果存回累加器
33 . ORL 1 1 将累加器的值与间接地址的内容做OR
A,@Ri
的逻辑判断,结果存回累加器
34 . ORL 2 1 将累加器的值与常数做OR的逻辑判
A,#data
断,结果存回累加器
35 . ORL 2 1 将直接地址的内容与累加器的值做OR
direct,A
的逻辑判断,结果存回该直接地址
的相关地址
103.JZ rel 2 2 累加器的内容为0,则跳至rel所指相
关地址
104.JNZ rel 2 2 累加器的内容不为0,则跳至rel所指
相关地址
105. CJNE 3 2 将累加器的内容与直接地址的内容
A,direct,rel
比较,不相等则跳至rel所指的相关地

106. CJNE 3 2 将累加器的内容与常数比较,若不相
98.RETI 1 2 从中断子程序返回
99 . AJMP 2 2 绝对跳跃(2K内)
addr11
100.LJMP 3 2 长跳跃(64K内)
addr16
101 . SJMP 2 2 短跳跃(2K内)-128~+127字节
rel
102 . JMP 1 2 跳至累加器的内容加数据指针所指
@A+DPTR
14.INC Rn 1 1 将寄存器的值加l
15.INC
2 1 将直接地址的内容加1
direct
16.INC @Ri 1 1 将间接地址的内容加1
17.INC
1 1 数据指针寄存器值加1
DPTR
说明:将16位的DPTR加1,当DPTR的低字节(不影响任何
A,Rn
互换
75 . XCH 2 1 将累加器的值与直接地址的内容
A,direct
互换
76 . XCH 1 1 将累加器的值与间接地址的内容
A,@Ri
互换
77 . XCHD 1 1 将累加器的低4位与间接地址的低
A,@Ri
4位互换
布尔代数运算
78.CLR C 1 1 清除进位C为0
79.CLR bit 2 1 清除直接地址的某位为0
2 1 将累加器与直接地址的内容及进位C 相加,结果存回累加器
7.ADDC
1 1 将累加器与间接地址的内容及进位C
A,@Ri
相加,结果存回累加器
8.ADDC A,#data
2 1 将累加器与常数及进位C相加,结果 存回累加器
9.SUBB A,Rn
1 1 将累加器的值减去寄存器的值减借 位C,结果存回累加器
direct,A
的逻辑判断,结果存回该直接地址
ANL direct,#data
3 2 将直接地址的内容与常数值做AND 的逻辑判断,结果存回该直接地址
ORL A,Rn
1 1 将累加器的值与寄存器的值做OR的逻 辑判断,结果存回累加器
32 . ORL 2 1 将累加器的值与直接地址的内容做OR
A,direct
将间接地址的内容存入直接地址
将常数存入直接地址
将累加器的内容存入某间接地址
将直接地址的内容存入某间接地 址 将常数存入某间接地址
将16位的常数存入数据指针寄存 器
(A) ←((A)+(DPTR)) 累加器的值再加数据指针寄存器 的值为其所指定地址,将该地址的 内容读入累加器
相关文档
最新文档