跟我学单片机——第二十三课 逻辑运算及移位指令分析
![Rank: 6](images/default/star_level3.gif) ![Rank: 6](images/default/star_level2.gif)
- UID
- 83268
- 性别
- 女
|
![](http://images.eccn.com/silabs/silicon_chip_980x60_202203.jpg)
跟我学单片机——第二十三课 逻辑运算及移位指令分析
逻辑运算和移位指令共有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中 |
|
|
|
|
|