ANL、ORL、XRL、RL、RLC、RR、RRC、CPL、CLR

3.4.1 逻辑“与”运算指令ANL

notion image
ANL指令用于执行逻辑"与"运算。它可以对累加器A与直接数据、内部RAM或外部RAM进行按位与运算,结果存回累加器A。也可以对位地址与进位位C进行与运算
ANL指令的主要格式:
示例程序:
指令执行过程中会影响PSW中的进位标志位C(仅位操作时)。
对标志位C进行逻辑运算时,运算结果会直接存回标志位C中。这就是为什么在示例程序中,我们可以看到CLR C和ORL C, P1.0这样的操作会直接改变标志位C的值。

3.4.2 逻辑“或”运算指令ORL

ORL指令用于执行逻辑"或"运算。它可以对累加器A与直接数据、内部RAM或外部RAM进行按位或运算,结果存回累加器A。也可以对位地址与进位位C进行或运算
ORL指令的主要格式:
示例程序:
指令执行过程中会影响PSW中的进位标志位C(仅位操作时)。

3.4.3 逻辑“异或”运算指令XRL

XRL指令用于执行逻辑"异或"运算。它可以对累加器A与直接数据、内部RAM或外部RAM进行按位异或运算,结果存回累加器A
XRL指令的主要格式:
示例程序:
XRL指令常用于数据加密和奇偶校验。当两个操作数相同时,XRL运算结果为0;不同时结果为1。

3.4.4 累加器移位/循环指令

包括带进位C和不带进位C的循环左移和循环右移等4条指令

1. 循环右移指令RR

RR指令用于将累加器A的内容向右循环移位1位,最低位移入最高位。指令格式:
示例说明:
指令执行过程中不影响任何标志位

2. 带进位的循环右移指令RRC

RRC指令用于将累加器A的内容和进位标志C一起向右循环移位1位进位C移入最高位,最低位移入进位C。(此时相当于C成为了最低位)指令格式:
示例说明:
指令执行过程中会影响PSW中的进位标志位C

3. 循环左移指令RL

RL指令用于将累加器A的内容向左循环移位1位,最高位移入最低位。指令格式:
示例说明:
指令执行过程中不影响任何标志位

4. 带进位的循环左移指令RLC

RLC指令用于将累加器A的内容和进位标志C一起向左循环移位1位进位C移入最低位,最高位移入进位C。(此时相当于C成为了最高位)指令格式:
示例说明:
指令执行过程中会影响PSW中的进位标志位C
notion image

3.4.5 累加器按位取反指令CPL

CPL指令用于将累加器A或位变量的内容按位取反。对累加器A进行操作时,将累加器A中的每一位取反。对位变量操作时,将指定位变量的值取反
CPL指令的主要格式:
示例程序:
指令执行过程中仅在位操作时会影响PSW中的进位标志位C

3.4.6 累加器清零指令CLR

CLR指令用于将累加器A或位变量的内容清零。对累加器A进行操作时,将累加器A中的所有位都置为0。对位变量操作时,将指定位变量的值置为0
CLR指令的主要格式:
示例程序:
指令执行过程中仅在位操作时会影响PSW中的进位标志位C
Loading...
Z_cosy
Z_cosy
浙江大学电气工程学院本科生
最新发布
Dairy
2025-4-21
MATH
2025-3-23
English
2025-3-21
Courses
2025-3-21
公告
🎉Welcome to Z-cosy🎉
-- 食用指南 ---
目前只有课程笔记以及电控学习笔记
陆续会整理更多内容!