例 设位地址10H(即字节地址22H的第一位)内容为0 MOV C 10H SETB 20H MOV 20H, #FFH
MOV C 10H和SETB 20H两个都是位操作,MOV 20H, #FFH不是位操作指令;MOV C 10H:表示将(10H) = 0送入CY(进位标志位);SETB 20H:表示将位地址20H(即字节地址24H的第一位)置1;MOV 20H, #FFH:表示将字节地址20H设置为FFH,即位地址00H~07H共8b全设置为1,8个1。MOV英文全称: Move
目的:将位地址bit的内容送入CY位中
目的:将位CY的内容送入位地址bit中
助记符功能对标志位影响字节数周期数POVACCYMOV C, bit(bit) -> C×××√21MOV bit, C(C) -> bit××××22例 设位地址10H的内容为0,C中的内容为1
MOV C, 10H:表示 位地址10H的内容送入C中,(10H) = 0 -> C,C清零;MOV 10H, C:表示将C中内容送入位地址10H中,© = 1 -> 10H。CLR英文全称:Clear SETB英文全称:Set Bit CPL英文全称:Complement
目的:对位进行清零
目的:对位进行置一
目的:对位进行取反,原先是1就变为0,原先是0就变为1
助记符功能对标志位影响字节数周期数POVACCYCLR C0 -> C×××√11CLR bit0 -> bit×××21SETB C1 -> C×××√11SETB bit1 -> bit×××2CPL C/(C) -> C×××√11CPL bit/(bit) -> bit×××21例 设位地址10H的内容为1,C中的内容为1
CLR C:表示将C清零;CLR 10H:表示将位地址10H清零:SETB C:表示将C置数(置一);SETB 10H:表示将位地址10H置数;CPL C:表示将C取反,/( C ) = 0 -> C;CPL 10H:表示将位地址10H取反,/(10H) = 0 -> 10H SETB bit命令常用于开中断和启动定时器/计数器,如SETB ET0表示启动定时器/计数器T0ANL英文全称:AND Logic ORL英文全称:OR Logic
目的:将累加器A中的内容与直接地址中的内容进行逻辑与运算
目的:将累加器A中的内容与直接地址中的内容进行逻辑或运算
直接位地址中的数,在指令执行前后没有发送变化
助记符功能对标志位影响字节数周期数POVACCYANL C, bit(C) ^ /(bit) -> C×××√12ANL C, /bit(C) ^ (bit) -> C×××√22ORL C, bit(C) V (bit) -> C×××√12ORL C, /bit(C) V /(bit) -> C×××√22例 设位地址10H的内容为0,C中的内容为1
ANL C, 10H:表示位将C中的内容与10H中的内容进行与逻辑操作,最后将结果1存放在C中;ANL C, /10H:表示位将C中的内容与10H中的内容取反后进行与逻辑操作,最后将结果0存放在C中;例 设位地址10H的内容为0,C中的内容为0
ORL C, 10H:表示位将C中的内容与10H中的内容进行或逻辑操作,最后将结果存0放在C中;ORL C, /10H:表示位将C中的内容与10H中的内容取反后进行或逻辑操作,最后将结果存1放在C中;51单片机之系统指令
51单片机之逻辑运算指令ANL、ORL、XRL等
51单片机之数据转移指令MOV、MOVX、MOVC等
51单片机之控制转移指令SJMP、LJMP等
51单片机之算术运算指令ADDC、SUBB等
注 :将位条件转移指令放入条件转移指令中;
由本人水平有限,文章难免有错误,望告知