单片机33逻辑运算指令.ppt★异或运算: 符号 A Z
B
记作 Z = A + B
输入信号相同则输出为0,输入信号相异则输出为1。
★非运算:求反符号 A Z
记作 Z = A
1
一、对A累加器进行的逻辑操作:
1. CPL A ;A求反
2. CLR A ;A清0
:
(1). RR A
(2).RRC A
7 0
C
7 0
2
(3).RL A
(4).RLC A
移位指令助记符意义:
第一个字母R 表示移位操作。
第二个字母表示移位方向,L 向左;R 向右。
第三个字母表示是否通过C。
为C表示连同C共9位数一起移位
无第三字母表示与C无关。
A ;A的内容高低半字节相交换
7 0
C
7 0
3
例:CLR C
MOV A , #0E2H
RL A
RLC A
RR A
RRC A
SWAP A
; C = 0
;1 1 1 0 0 0 1 0 E2H
;1 1 0 0 0 1 0 1
;1 0 0 0 1 0 1 0 C=1
;0 1 0 0 0 1 0 1
;1 0 1 0 0 0 1 0 C=1
;0 0 1 0 1 0 1 0
4
例:已知30H单元的内容为X,且X为无符号数,求4X送入31H单元存放,求X/4 的整数部份送入32H单元存放,(0≤X<63)
讨论:将一个二进制数左移一次等于乘2的运算,
左移n次等于乘2n
同理将其右移一次等于除2的运算,
右移n次等于除2n。
程序如下:
5
MOV A,30H ;x
RL A ;2X
RL A ;4X
MOV 31H, A
MOV A,30H ;X
CLR C
RRC A ;X/2
CLR C
RRC A ;X/4
MOV 32H ,A
6
二、 包含双操作数的逻辑运算指令:
一般形式:
ANL 与
ORL 第一操作数,第二操作数或
XRL 异或
功能:第一操作数和第二操作数进行相应的逻辑运算,结果在第一操作数指出的地址。
源及目的见 P50—P51页。
例
7
例1: MOV A,#46H
MOV 40H, #59H
ANL A,#37H
ORL 40H,A
ORL A, 40H
XRL A,#55H
0 1 0 0 0 1 1 0
∧ 0 0 1 1 0 1 1 1
0 0 0 0 0 1 1 0 A=06H
∨ 0 1 0 1 1 0 0 1
0 1 0 1 1 1 1 1 40H=5F
∨ 0 0 0 0 0 1 1 0
0 1 0 1 1 1 1 1 A=5FH
0 1 0 1 0 1 0 1
0 0 0 0 1 0 1 0 A=0AH
8
注:逻辑运算结果均在第一操作数中(目的),第二操作数内容不变。
9
此类逻辑运算指令用途很广,举例:
例2 用“与”掩码的方法切取数据中需要的部分
MOV A, #0F6H ;设A中为有符号数
① ANL A,# 0FH ;屏蔽高4位(A)=06H
② ANL A,#7FH ;屏蔽符号位(A)=76H
ANL A,#80H ;切取符号位(A)=80H
0FH,7FH,80H,称为掩码,使用不同的掩码可屏蔽掉不同的部份,留下有用的信息。
10
单片机33逻辑运算指令 来自淘豆网m.daumloan.com转载请标明出处.