Board logo

标题: MCS-51指令详解-5 [打印本页]

作者: 苹果也疯狂    时间: 2015-1-6 19:01     标题: MCS-51指令详解-5

逻辑运算和移位指令共有25条,有与、或、异或、求反、左右移位、清0等逻辑操作,有直接、寄存器和寄存器间址等寻址方式。这类指令一般不影响程序状态字(PSW)标志。




[1].
循环移位指令(4条)


这4条指令的作用是将累加器中的内容循环左或右移一位,后两条指令是连同进位位CY一起移位。




RL  A     ;累加器A中的内容左移一位


RR  A     ;累加器A中的内容右移一位


RLC  A    ;累加器A中的内容连同进位位CY左移一位


RRC  A    ;累加器A中的内容连同进位位CY右移一位




[2].
累加器半字节交换指令(1条)


这条指令是将累加器中的内容高低半字节互换,这在上一节中内容已有介绍。




SWAP  A  ; 累加器中的内容高低半字节互换




[3].
求反指令(1条)


这条指令将累加器中的内容按位取反。




CPL  A    ; 累加器中的内容按位取反




[4].
清零指令(1条)


这条指令将累加器中的内容清0。




CLR  A    ; 0→(A),累加器中的内容清0




[5].
逻辑与操作指令(6条)


这组指令的作用是将两个单元中的内容执行逻辑与操作。如果直接地址是I/O地址,则为“读—修改—写”操作。




ANL  A,Data    ;累加器A中的内容和直接地址单元中的内容执行与逻辑操作。结果存在寄存器A中。


ANL  Data,#Data  ;直接地址单元中的内容和立即数执行与逻辑操作。结果存在直接地址单元中。


ANL  A,#Data   ;累加器A的内容和立即数执行与逻辑操作。结果存在累加器A中。


ANL  A,Rn      ;累加器A的内容和寄存器Rn中的内容执行与逻辑操作。结果存在累加器A中。


ANL  Data,A    ;直接地址单元中的内容和累加器A的内容执行与逻辑操作。结果存在直接地址单元中。


ANL  A,@Ri    ;累加器A的内容和工作寄存器Ri指向的地址单元中的内容执行与逻辑操作。结果存在累加器A中。




[6].
逻辑或操作指令(6条)


这组指令的作用是将两个单元中的内容执行逻辑或操作。如果直接地址是I/O地址,则为“读—修改—写”操作。




ORL  A,Data    ;累加器A中的内容和直接地址单元中的内容执行逻辑或操作。结果存在寄存器A中。


ORL  Data,#Data  ;直接地址单元中的内容和立即数执行逻辑或操作。结果存在直接地址单元中。


ORL  A,#Data   ;累加器A的内容和立即数执行逻辑或操作。结果存在累加器A中。


ORL  A,Rn      ;累加器A的内容和寄存器Rn中的内容执行逻辑或操作。结果存在累加器A中。


ORL  Data,A    ;直接地址单元中的内容和累加器A的内容执行逻辑或操作。结果存在直接地址单元中。


ORL  A,@Ri    ;累加器A的内容和工作寄存器Ri指向的地址单元中的内容执行逻辑或操作。结果存在累加器A中。




[7].
逻辑异或操作指令(6条)


这组指令的作用是将两个单元中的内容执行逻辑异或操作。如果直接地址是I/O地址,则为“读—修改—写”操作。




XRL  A,Data    ;累加器A中的内容和直接地址单元中的内容执行逻辑异或操作。结果存在寄存器A中。


XRL  Data,#Data  ;直接地址单元中的内容和立即数执行逻辑异或操作。结果存在直接地址单元中。


XRL  A,#Data   ;累加器A的内容和立即数执行逻辑异或操作。结果存在累加器A中。


XRL  A,Rn      ;累加器A的内容和寄存器Rn中的内容执行逻辑异或操作。结果存在累加器A中。


XRL  Data,A    ;直接地址单元中的内容和累加器A的内容执行逻辑异或操作。结果存在直接地址单元中。


XRL  A,@Ri    ;累加器A的内容和工作寄存器Ri指向的地址单元中的内容执行逻辑异或操作。结果存在累加器A中。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0