首页 理论教育 单片机逻辑操作与移位指令及应用实例

单片机逻辑操作与移位指令及应用实例

时间:2023-10-22 理论教育 版权反馈
【摘要】:逻辑操作类指令共有25条,包括与、或、异或、清除、求反、左右移位等,都是按位进行操作。移位操作只能对累加器A进行,共有循环左移、循环右移、带进位的循环左移和带进位的循环右移4条指令。

单片机逻辑操作与移位指令及应用实例

逻辑操作类指令共有25条,包括与、或、异或、清除、求反、左右移位等,都是按位进行操作。

1.逻辑与操作指令及要点分析

(2)要点分析

1)对于指令⑤、⑥如果direct是MCS-51系列单片机的某个并行接口P0~P3,则指令将以“读—修改—写”模式完成逻辑与运算。

2)与类指令的用途之一是:对操作数中的指定位进行清零控制。

如执行指令:

将使PSW中的RS1、RS0为00,而其他标志保持原来的状态。

2.逻辑或操作指令及要点分析

(1)指令介绍

(2)使用要点

1)对于指令⑤、⑥如果direct是MCS-51系列单片机的某个并行接口P0~P3,则指令将以“读—修改—写”模式完成逻辑或运算。

2)或类指令的主要用途之一是对指令中的操作数的指定位进行置位控制。

如执行指令:

“ORL PSW,#00011000B”将使PSW中的RS1、RS0为11,而其他标志保持原来的状态。

3.逻辑异或指令及要点分析

(1)指令介绍(www.xing528.com)

(2)使用要点

1)对于指令⑤、⑥如果direct是MCS-51系列单片机的某个并行接口P0~P3,则指令将以“读—修改—写”模式完成逻辑异或运算。

2)异或类指令的主要用途之一是对指令中操作数的指定位进行取反控制。当参与运算的数据为0FFH时,指令执行的结果使得原来为0的位变为1,而为1的位变为0。例如片内RAM30H单元中为6FH,累加器中的内容为0FFH,则指令“XRL 30H,A”将使30H单元修改为90H。

例如:978-7-111-46831-8-Chapter02-100.jpg

4.累加器清零与取反指令

(1)累加器清零指令

(2)累加器取反指令

清零和取反指令只对累加器A才有效。MCS-5l系列单片机的指令系统中没有求补指令。若要进行求补操作,可按“求反加1”来实现。

5.移位指令

MCS-51系列单片机指令系统中移位指令较少。移位操作只能对累加器A进行,共有循环左移、循环右移、带进位的循环左移和带进位的循环右移4条指令。

(1)累加器内容循环左移

(2)累加器带进位标志循环左移

(3)累加器内容循环右移

(4)累加器连进位标志循环右移

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈