技术文档

单片机进位 跟电师傅学单片机(20):单片机位操作指令图文讲解(一)

小编 2024-10-06 技术文档 23 0

跟电师傅学单片机(20):单片机位操作指令图文讲解(一)

位操作指令:

➲指令中的操作数不是字节,而是字节中的某一位,每位取值只能是0或1;

➲指令中的操作对象是单片机内部RAM的位寻址区:20H~2FH单元中的128个位和SFR中的11个可以位寻址的特殊功能寄存器。

单片机内部RAM位寻区位地址表

一:位传送指令(2条)

位传送指令表

CY:单片机标志寄存器PSW的最高位,是进位标志位CY也称为位累加器 ,在指令中CY直接写成C 。如同累加器A,都在单片机编程指令中使用频率较高。

Bit:位寻址区内的某一位的状态。

➲MOV C,Bit;指令功能是将直接寻址位的内容送入位累加器CY中。

➲MOV Bit ,C;指令功能是将位累加器CY中内容送入直接寻址位。

单片机标志寄存器PSW功能图

二:位置位和位清零指令(4条)

位置位和位清零指令

置位:就是置1。

➲CLR C;指令功能是将位累加器CY清零。

➲CLR Bit;指令功能是将直接寻址位清零。当直接寻址位为P0~P3端口某一位时,具有“读-改-写”功能。

➲SETB C;指令功能是将位累加器CY置1。

➲SETB Bit;指令功能是将直接寻址位置1。当直接寻址位为P0~P3端口某一位时,具有“读-改-写”功能。

跟电师傅学单片机(12):单片机算术运算加减法指令图文新解

单片机算术运算类指令(24条)

算术运算指令是8位二进制数进行加、减、乘、除四则运算,以及加1、减1、十进制调整等。

本节介绍其中加减法12条指令。

加减法指令示意图

1:不带进位加法指令(4条)

ADD:不带进位标志CY的加法,功能是累加器A中的内容与源操作数所确定单元中的内容相加,其结果仍存在A中。

ADD A,Rn;属于寄存器寻址方式。指令功能是将寄存器Rn中的内容与累加器A中的内容相加,其结果送回A中。

ADD A,direct;属于直接寻址方式。指令功能是将直接地址direct中的内容与累加器A中的内容相加,其结果送回A中。

ADD A,@Rn;属于寄存器间接寻址方式。指令功能是将寄存器间接寻址单元中的内容与累加器A中的内容相加,其结果送回A中。

ADD A,#data;属于立即数寻址方式。指令功能是将立即数data与累加器A中的内容相加,其结果送回A中。

2:带进位加法指令(4条)

ADDC:带进位标志CY的加法,功能是累加器A中的内容与源操作数所确定单元中的内容相加,其结果仍存在A中。与ADD指令类似,不同之处是在执行加法时,还要将进位标志CY的内容一起加进去。

进位加法计算

标志寄存器PSW示意图

标志寄存器PSW功能图

CY:是标志寄存器PSW中的一个进位标志位。标志寄存器PSW也称程序状态字PSW,用于存放程序运行状态信息。

单片机系统上电或复位时,PSW初始值为00H。

3:减法指令(4条)

SUBB:带借位减法指令,与带进位加法指令类似,指令功能是把累加器A中的内容减去源操作数所确定单元中的内容和进位标志CY,其结果送回A中。

注意:在减法指令里面,只有带借位的减法,没有不带借位的减法,做减法运算时,如果是低8位时,必须把CY清零。

相关问答

单片机 进位 标志CY在加法中当有 进位 CY为1那么在加法中有...

[最佳回答]进位和借位都是CY,加法有进位CY=1,减法有借位CY=1例如:MOVA,#81HADDA,#80H此时CY=1CLRCMOVA,#80HSUBBA,#81H此时CY=1进...

单片机 这题为啥cy=1?cy怎么看的?说d3,d7啥的,啥意思?

CY在加运算中是进位标志例如85H+AFH=134H(用计算器就能算出来),A只能存下后8位34H,存不了第9位1H,所以就把多出来的这一位存到了CY中,D3,D7大概指的是第3...

单片机 中程序状态字什么作用?PSW.2(OV):溢出标志什么意思?

51单片机的PSW(程序状态字)寄存器包括了C,AC,RS1,RS0,OV,P等几个状态位,这些状态位反映的是51单片机在执行完某个指令后的状态,比如有没有进位,有没有溢出,A...

单片机 中如何使用状态寄存器STATUS?

STATUS状态寄存器进位(C)、半进位(DC)和零(Z)标志位的值。在减法中,C和DC位分别用作借位(borrow)和半借位(digitborrow)STATUS状态寄存器进位(C)、半...

单片机 汇编语言中c是什么意思 - LETA5Ibo 的回答 - 懂得

在51单片机中是借位/进位标志C为进借位标志位,就是CY意思是两数相加(ADDC指令)有进位就置C为1,两数减(SUBB指令)有借位就置C为1,上面两种请况C的置...

单片机 里RL A是循环向左移一位(不带 进位 ),为什么相当于把A乘2?

首先,RLC表示A带进位标志(CY)循环左移一次,相当于乘以2;进位标志CY=1,则A=7AH=123D(十进制的123)的带进位标志用二进制表示为101111010,将其整体左移...首先,...

一些 单片机 的基础题6、在片外扩展一片2764程序存储器芯片要(...

[最佳回答]15、DA指令是(二进制转十进制)指令,它只能紧跟在(加法)指令后使用。38、在程序状态寄存器PSW中,判断是否有借/进位的标志位是(A)。A、CYB、ACC...

单片机 的psw是什么?

程序状态寄存器PSW。程序状态寄存器是计算机系统的核心部件——运算器的一部分,PSW用来存放两类信息:一类是体现当前指令执行结果的各种状态信息,如有无进位(...

在80C51 单片机 里面,半 进位 标志位AC在加减运算里面是按照有符号数还是无符号数来设置标志位?

OV,当D7、D6的进位不同,则OV=1。P,当ACC中的1的个数为奇数,则P=1。减法、乘、除法运算,就不细说了。都是很简单的。单片机给出的这些标准位,供编程人参考。...

单片机 中求两个数的平均值程序是怎么样的 - 夷则二八 的回答...

这个很好办,相加后除2,也就是右移一位,只是要注意对进位的处理。1、单字节:JUN:CLRCADDA,BRRCARET2、双字节:JUN:CLRCMOVA,30HADDA,32HMOV30H,AMOV...

猜你喜欢