布尔处理功能是MCS-51系列单片机的一个重要特征,这是出于实际应用需要而设置的。布尔变量也即开关变量,它是以位(bit)为单位进行操作的。 在物理结构上,MCS-51单片机有一个布尔处理机,它以进位标志做为累加位,以内部RAM可寻址的128个为存储位。 既然有布尔处理机功能,所以也就有相应的布尔操作指令集,下面我们分别谈论。 [1].位传送指令(2条) 位传送指令就是可寻址位与累加位CY之间的传送,指令有两条。 MOV C,bit ;bit→CY,某位数据送CY MOV bit,C ;CY→bit,CY数据送某位 [2].位置位复位指令(4条) 这些指令对CY及可寻址位进行置位或复位操作,共有四条指令。 CLR C; 0→CY,清CY CLR bit; 0→bit,清某一位 SETB C; 1→CY,置位CY SETB bit; 1→bit,置位某一位 [3].位运算指令(6条) 位运算都是逻辑运算,有与、或、非三种指令,共六条。 ANL C,bit;(CY)∧(bit)→CY ANL C,/bit;(CY)∧( ![]() )→CY ORL C,bit;(CY)∨(bit)→CY ORL C,/bit;(CY)∧( ![]() )→CY CPL C;( ![]() )→CY CPL bit;( ![]() )→bir [4].位控制转移指令(5) 位控制转移指令是以位的状态作为实现程序转移的判断条件,介绍如下: JC rel; (CY)=1转移,(PC)+2+rel→PC,否则程序往下执行,(PC)+2→PC。 JNC rel; (CY)=0转移,(PC)+2+rel→PC,否则程序往下执行,(PC)+2→PC。 JB bit, rel; 位状态为1转移。 JNB bit, rel; 位状态为0转移。 JBC bit, rel; 位状态为1转移,并使该位清“0”。 后三条指令都是三字节指令,如果条件满足,(PC)+3+rel→PC,否则程序往下执行,(PC)+3→PC。 |
欢迎光临 DIY编程器网 (http://diybcq.com/) | Powered by Discuz! X3.2 |