单片机学习小组
直播中

陈艳

7年用户 890经验值
私信 关注

位操作指令有哪几种呢?有何作用

什么是位操作?位操作指令有哪几种呢?有何作用?

回帖(1)

王文娥

2022-2-25 10:10:45
位操作指令

位操作类指令

位操作又称为布尔操作,是以位为单位进行的各种操作。在布尔处理机中,借用进位标志Cy来存放逻辑运算结果,大部分操作都涉及Cy,因此它相当于布尔处理机的“累加器”,称为位累加器,用符号C表示。

(1) 位传送指令

MOV C,bit                  ;Cy←(bit)
MOV bit,C                  ;bit←(Cy)
这组指令其中的一个操作数必须是进位标志C,另一个可以使位地址(用bit表示)。

(2) 位置位和位清零指令

SETB C                     ;Cy←1
SETB bit                    ;biT←1
这两条指令可以实现地址单元与位累加器的置位。
CLR C                      ; Cy←0
CLR bit                     ; biT←0
这两组指令可以实现地址单元与位累加器的清零。

(3) 位逻辑运算指令

① 位逻辑“与”指令
ANL C,bit ;CY←(CY)∧(bit)
ANL C,/bit ; CY←(CY)∧(bit)取反
这两条指令是将CY标志位中的内容与位地址单元的内容或其内容的反码进行逻辑与操作,并将相与的结果再送入到CY的标志位中。
② 位逻辑“或”指令
ORL C,bit ;CY←(CY)∨(bit)
ORL C,/bit ; CY←(CY) ∨(bit)取反
这两条指令是将CY标志位中的内容与直接位地址的内容或其内容的反码进行逻辑与操作,并将相与的结果再送入到CY的标志位中。、
③ 位逻辑“非”指令
CPL C ;CY (CY)取反
CPL bit ;bit←(bit)取反

(4) 位条件转移指令←

类比于JZ/JNZ
① 位累加器Cy状态判断转移指令
JC rel ;若(Cy)=1,转移
JNC rel ;若(Cy)=0,转移
② 位状态判断转移指令
JNB bit,rel ;若(bit)=0,转移
JBC bit,rel ;若(bit)=1,转移,且bit←
JB bit,rel ; 若(bit)=1,转移
其中JBC指令除了判断位地址的内容外,还将被测位清零。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分