当前位置:文档之家› 单片机33逻辑运算指令

单片机33逻辑运算指令


一般形式:
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
★异或运算:
符号
A
B
Z
记作 Z = A + B 输入信号相同则输出为0,输入信号相异则输出为1。 ★非运算:求反 符号 A Z
记作 Z = A
1
一、 对A累加器进行的逻辑操作:
1. CPL A 2. CLR A 3.移位指令: (1). RR A 7 (2).RRC A 0 ;A求反 ;A清0
C
7
ORL P1, A
;拼凑字节
11
例5.
用异或指令对RAM单元或寄存器某些位求反。
方法是:欲取反的位与“1”相异或 例如:XRL P1 ,#00110011B ;P1口的D 0,D1 ,D 4,D 5取反。 例6.用异或指令判断二数是否相等。
例如: MOV A, 30H
XRL A, 31H ;若运行结果(A)=0 则(30H)=(31H)
MOV C, 21H
ANL C, 72H CLR C
;( C )=1
;( C) =1 ;( C) =0 ;(24H位)求反为1,( C )=1 ;(71H位)=0,与结果( C )=0 ;( C )=1 ;( C )=0 ;(21H位)=1,或结果( C )=1
ORL C, 24H
ANL C, 71H SETB C CPL C ORL C, 21H
01000110 ∧ 00110111 0 0 0 0 0 1 1 0 A=06H ∨ 01011001 0 1 0 1 1 1 1 1 40H=5F ∨ 00000110 0 1 0 1 1 1 1 1 A=5FH 01010101 0 0 0 0 1 0 1 0 A=0AH
8
注:逻辑运算结果均在第一操作数中(目的), 第二操作数内容不变。
CLR 72H
;(72H位)=0,(2EH)=01H
14
10
例3
用“或”指令置位任何RAM单元或寄存器的某些位,方法是将需 置1的位和“1”相或。
例如, ORL P1 ,#00110011B;P1口的D0,D1,D4,D5位置1
例4
拼凑字节。例如要求将A内容的低2位信息送入P1口的低2位,P1口 原高6位不变。 ANL A,#00000011B ANL P1,#11111100B ;切取A中低2位 ;屏蔽P1口低2位
左移n次 等于乘2n
同理将其右移一次等于除2的运算,
右移n次等于除2n。
程序如下:
5
MOV A,30H
;x
RL A
RL A MOV 31H, A MOV A,30H CLR C
;2X
;4X
;X
RRC A
CLR C RRC A MOV 32H ,A
;X/2
;X/4
6
二、
包含双操作数的逻辑运算指令:
C A , #0E2H
;C=0 ;1 1 1 0 0 0 1 0 ;1 1 0 0 0 1 0 1 ;1 0 0 0 1 0 1 0 ;0 1 0 0 0 1 0 1 C=1 E2H
RRC A
SWAP A
;1 0 1 0 0 0 1 0
;0 0 1 0 1 0 1 0
C=1
4
例:已知 30H单元的内容为 X,且 X为无符号数,求 4X送 入31H单元存放,求X/4 的整数部份送入 32H单元存放, (0≤X<63) 讨论:将一个二进制数左移一次等于乘2的运算,
9
此类逻辑运算指令用途很广,举例:
例2 用“与”掩码的方法切取数据中需要的部分 MOV A, #0F6H ① ANL A,# 0FH ② ANL A,#7FH ;设A中为有符号数 ;屏蔽高4位 (A)=06H ;屏蔽符号位 (A)=76H
③ ANL A,#80H
;切取符号位 (A)=80H
0FH,7FH,80H,称为掩码,使用不同的掩码可屏蔽掉不同的部 份,留下有用的信息。
12
三、 位逻辑操作指令:
1. ORL
C , BIT ;C和某位地址的内容相 ANL


2. ORL

C , BIT
ANL
;C和某位地址内容的反码相

3.
CLR CPL C (BIT) ;C (BIT)
清零 求反
SETB
置1
13
位逻辑指令举例
MOV 24H, #02H MOV 2EH, #05H ;(24H) = 02H,(21H位)=1 (2EH)=05H,72H位70H位=1
0
2
(3).RL A
7 A C 7
0 0
表示移位操作。
第二个字母
第三个字母
表示移位方向,L 向左;R 向右。
表示是否通过C。 为C表示连同C共9位数一起移位 无第三字母表示与C无关。
4.SWAP A
;A的内容高低半字节相交换
3
例:CLR MOV RL A RLC A RR A
相关主题