内容正文:
四川省(电子信息大类)对口招生《单片机原理与应用》
复习讲义
模块 3 单片机指令系统
考点四 逻辑运算类指令
【考纲要求】
掌握MCS-51系列逻辑运算类指令的形式和功能。
【知识网络】
【知识和技能要点】
逻辑运算类指令
1. 简单逻辑操作指令
(1) CLR A
功能是累加器A清“0”。不影响Cy、Ac、OV等标志。
(2) CPL A
功能是将累加器A的内容按位逻辑取反,不影响标志。
2.左环移指令
RL A
功能是累加器A的8位向左循环移位,位7循环移入位0,不影响标志。
3.带进位左环移指令
RLC A
功能是将累加器A的内容和进位标志位Cy一起向左环移一位,Acc.7移入进位位Cy,Cy移入Acc.0,不影响其它标志。
4.右环移指令
RR A
功能是累加器A的内容向右环移一位, Acc.0移入Acc.7,不影响其它标志。
5.带进位环移指令
RRC A
这条指令的功能是累加器A的内容和进位标志Cy一起向右环移一位,Acc.0进入Cy, Cy移入Acc.7。
6.逻辑与指令
ANL A,Rn ; (A)∧(Rn) →A,n=0~7 ANL A,direct ; (A)∧(direct) →A
ANL A,#data ; (A)∧#data →A
ANL A,@Ri ; (A)∧((Ri)) →A,i=0~1 ANL direct,A ;(direct)∧(A) →direct
ANL direct,#data ; (direct)∧#data →direct
运算结果存入第一操作数中
7.逻辑或指令
ORL A,Rn ; (A)∨(Rn)→A ,n=0~7
ORL A,direct ;(A)∨(direct) →A
ORL A,#data ;(A)∨ data→A
ORL A,@Ri ; (A)∨((Ri))→A, i=0,1
ORL direct,A ;(direct)∨(A) →direct
ORL direct,#data ;(direct)∨#data →direct
8.逻辑异或指令
XRL A,Rn ;(A) ⊕(Rn)→A
XRL A,direct ;(A) ⊕(direct)→A
XRL A,@Ri ;(A)⊕((Ri)) →A , i=0,1
XRL A,#data ;(A)⊕#data →A
XRL direct,A ;(direct)⊕(A)→direct
XRL direct,#data ;(direct)⊕ #data →direct
【练习题】
1、 填空题
1.逻辑或的运算规则是________________。
2.当(A)=0FH时,执行CPL A指令后,(A)=______________。
3.当(A)=0FEH时,执行RL A指令后,(A)=______________。
4.对累加器A清零可采用的指令是______________,______________。
5.当(A)=12H,执行ANL A,#F0H,SWAP A后,(A)=______________。
二、选择题
1. 下列那个不属于逻辑操作指令( )。
A. 与 B. 异或 C. 移位 D.跳转
2. 异或指令助记符是( )。
A.ORL B. ANL C. XRL D.CLR
3. 当(A)=23H时,执行ANL A,#0F0H时,(A)=( )。
A.02H B.03H C. 20H D.30H
4.当(A)=0FH时,执行ORL A ,#0FH时,(A)=( )。
A. 00H B.FFH C. 0FH D. F0H
5.执行RCL A 指令,可以对A中的数据进行( )操作。
A. 乘2 B .除2 C .加2 D . 减2
6.MCS-51单片机中,对累加器A进行按位取反的指令是( )
A. CLR A B. CPL A C. INC A D. DEC A
7.指令ANL A,#0FH实现的功能是( )
A. 累加器A高4位清零,低4位保持不变
B. 累加器A低4位清零,高4位保持不变
C. 累加器A全部清零
D. 累加器A全部置1
8.下列指令中,属于逻辑或运算的是( )
A. ADD A,Rn B. ANL A,direct C. ORL A,@Ri D. XRL A,direct
9.执行指令CLR A后,累加器A的值为( )
A. 00H B. FFH C. 不变 D. 随机值
10.指令XRL A,#0FFH的作用是( )
A. 累加器A清零 B. 累加器A按位取反
C. 累加器A加1 D. 累加器A减1
三、判断题
1.CPL A指令可以将累加器A的每一位取反,0变1,1变0。( )
2.逻辑与指令ANL常用于对数据的指定位进行清零操作。( )
3.ORL A,direct指令执行后,源操作数direct的值会发生改变。( )
4.逻辑异或指令XRL可以实现对指定位取反,其余位不变。( )
5.MCS-51的逻辑运算指令执行后,一定会影响进位标志位CY。( )
四、分析题
1.已知(A)=38H,(R0)=28H,(28H)=18H执行下列程序:
ORL A,#27H
ANL A,28H
XCHD A,@RO
CPL A
SWAP A
执行结果为(A)=____________
2.已知初始值:(A)=35H,(R1)=0FH,(40H)=0F0H
(1)执行指令:CPL A,求执行后 (A)=___________
(2)执行指令:ANL A,R1,求执行后 (A)=___________
(3)执行指令:ORL A,40H,求执行后 (A)=___________
(4)执行指令:XRL A,#0FFH,求执行后 (A)=___________
(5)执行指令:CLR A后,再执行ANL A,40H,求最终 (A)=___________
【答案】
一、填空题
1.有1出1,全0出0。
2.F0H。
3.FDH。
4.CLR A,ANL A,#00H(或MOV A,#00H)。
5.01H。
二、选择题
1.D;2.C;3.C;4.C;5.A
6.B;7.A;8.C;9.A;10.B
三、判断题
1.√;2.√;3.×;4.√;5.×
四、分析题
1. 分步计算过程
初始值:(A)=38H,(R0)=28H,(28H)=18H
ORL A,#27H:38H | 27H = 3FH → (A)=3FH
ANL A,28H:3FH & 18H = 18H → (A)=18H
XCHD A,@R0:A低4位与(28H)低4位交换 → (A)=18H
CPL A:按位取反 → (A)=E7H
SWAP A:高低4位交换 → (A)=7EH
最终结果:(A)=7EH
2. 分步计算结果
初始值:(A)=35H,(R1)=0FH,(40H)=0F0H
(1) CPL A → (A)=CAH
(2) ANL A,R1 → 35H & 0FH = 05H
(3) ORL A,40H → 35H | F0H = F5H
(4) XRL A,#0FFH → 35H ^ FFH = CAH
(5) CLR A后ANL A,40H → (A)=00H
原创精品资源学科网独家享有版权,侵权必究
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$