MCS-51逻辑运算及移位指令

逻辑运算和移位指令共有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中。

基于工业物联网的互联企业如何做好机器安全
远程开学季,六大爆款锐龙本远程出击
华为昇腾910到底特别在哪?
MPC-ZC1工控单板如何快速搭建出产线车间的智能风机控制系统
联想“诺曼底计划”曝光!为造势开怼小米,定位“良心国民手机”
MCS-51逻辑运算及移位指令
解析铝空气电池技术的“前世今生”
互联网VR技术助力体验VR红色教育
电路上TVS经常损坏的现象和原因有哪些
东风汽车ESSA+SOA智能电动仿生体面世
单立柱码垛机的结构布造
为PCB和SMT行业提供激光技术解决方案
openGauss企业级开源数据库获CITE 2022“金奖”
如何让接收端知道发送端将要发送的字节流长度?
基于WT2003H的语音压力传感器应用设计方案
德勤研究:企业将5G和Wi-Fi6作为新兴技术的“力量倍增器”
CES | Ada 架构突破能效边界,为玩家和创作者打造的 170 多款笔记本电脑提供超强动力
KJN4逆变换相板原理图
探秘| 轨交飞驰不停,节卡机器人来保障列车安全
OpenHarmony创新赛|赋能直播第二期