单片机位操作类指令
时间:2015-09-22 10:31 来源:自动控制网
MCS-51单片机内部有一个布尔处理机,对位地址空间具有丰富的位操作指令。 1. 位传送指令 这2条指令的功能是把由源操作数指出的布尔变量送到目的操作数指定的位中去。其中一个操作数必须为进位标志,另一个可以是任何直接寻址位。 MOV C, bit ; bit→CY,某位数据送CY。 MOV bit, C ; CY→bit,CY数据送某位。 本组指令不影响其他寄存器和标志位。 2. 位变量修改指令 这些指令对CY及可寻址位进行置位或复位操作 CLR C ; 0→CY,复位CY。 CLR bit ; 0→bit,复位某一位。 SETB C ; 1→CY,置位CY。 SETB bit ; 1→bit,置位某一位。 本组指令不影响其他标志。 3. 位变量逻辑指令 位运算都是逻辑运算,有与、或、非三种指令 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 ; ()→bit 4. 位变量条件转移指令 位变量条件转移指令是以位的状态作为实现程序转移的判断条件: 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”。 |