2.6.2 逻辑操作类指令

2.6.2 逻辑操作类指令

逻辑操作包括与、或、异或、清0、求反、移位等操作。这类指令的操作数都是8位,共25条逻辑操作指令。

1.累加器A清0指令

该指令的功能是将累加器A的内容清0,不影响CY、AC、OV等标志位。

2.累加器A求反指令

该指令的功能是将累加器A的内容进行求反操作,不影响CY、AC、OV等标志位。

3.累加器A循环左移指令

该指令功能是将累加器A的内容向左循环移动一位,最高位移入最低位,如图2-20所示。

图2-20 累加器A循环左移指令

4.累加器A循环右移指令

该指令功能是将累加器A的内容向右循环移动一位,最低位移入最高位,如图2-21所示。

图2-21 累加器A循环右移指令

5.带进位循环左移指令

该指令功能是将累加器A的内容连同进位标志位CY一起向左循环移一位,ACC.7移入CY,CY移入ACC.0,如图2-22所示。

图2-22 带进位循环左移指令

6.带进位循环右移指令

该指令功能是将累加器A的内容连同进位标志位CY一起向右循环移一位,ACC.0移入CY,CY移入ACC.7,如图2-23所示。

图2-23 带进位循环右移指令

【例2-5】 无符号二进制数(A)=10101100B,CY=0。

执行指令

的结果为A=01011000,CY=1。

7.逻辑“与”指令

这组指令中的前4条指令是将累加器A中的内容和源操作数所指的内容按位进行逻辑“与”,结果存放在累加器A中。

后两条指令是将直接地址单元中的内容和源操作数所指的内容按位进行逻辑“与”,结果存入直接地址单元中。

【例2-6】 (A)=85H,(40H)=7FH,执行指令

结果为(A)=05H。

8.逻辑“或”指令

这组指令中的前4条指令是将累加器A中的内容和源操作数所指的内容按位进行逻辑“或”,结果存放在累加器A中。

后两条指令是将直接地址单元中的内容和源操作数所指的内容按位进行逻辑“或”,结果存入直接地址单元中。

【例2-7】 (A)=76 H,(R5)=8AH,执行指令

结果为(A)=FEH。

9.逻辑“异或”指令

这组指令中的前4条指令是将累加器A中的内容和源操作数所指的内容按位进行逻辑“异或”,结果存放在累加器A中。

后两条指令是将直接地址单元中的内容和源操作数所指的内容按位进行逻辑“异或”,结果存入直接地址单元中。

【例2-8】 (A)=56H,(R2)=77H,执行指令

结果为(A)=21 H。