第二章指令系统例题习题
一、选择题:
1. 指令MOV寻址空间是【】。
A.片外ROM B。片外RAM C。片内RAM D。片内ROM
2. 指令MOVX寻址空间是【】。
A.片外ROM B。片外RAM C。片内RAM D。片内ROM
3.下列指令中正确的是()。
(A)MOV P2.1,A (B)MOV 20H,30H
(C)MOVX B,@DPTR (D)MOV A,@R3
4. “MUL AB”指令执行后,16位乘积的高位在【】中。
A. A
B. C
C. AB
D. B
5. “MOV A, 30H”的寻址方式是【】。
A。寄存器寻址 B。寄存器间接寻址 C。直接寻址 D。立即寻址
6.下列指令中错误的是()。
(A)SETB 50H.0 (B)MOV A,B
(C)XCH A,R3 (D)SUBB A,R0
7、下列各条指令的书写格式正确的是
A. MUL R0,R1
B. MOVX A, @R1
C. MOVC @A+DPTR, A
D. MOV A,@R7
8.当需要从MCS-51单片机程序存储器取数据时,采用的指令为()。
A. MOV A, @R1
B. MOVX A, @ R0
C. MOVC A, @A+DPTR
D.MOVX A, @ DPTR
9、若原来使用工作寄存器0组作为当前寄存器组,现要该为1组,不能使用的指令为
A)SETB PSW.3 B) MOV PSW.3,1
C) SETB 0D0H.3 D) CPL PSW.3
10、不能为程序存储器提供和构成地址的有
A)PC B)A
C)DPTR D)PSW
11.执行PUSH ACC指令,MCS-51完成的操作是()
A). SP+1 SP ,(ACC)(SP)
B).(ACC)(SP),SP-1 SP
C). SP-1 SP, (ACC) (SP)
D).(ACC)(SP),SP+1 SP
12.假定累加器A的内容为30H,执行指令:
1000H:MOVC A,@A+PC
后,把程序存储器()单元的内容送累加器A中
A).1000H B).1001H
C). 031H D).1030H
13.下列指令中不影响标志位CY的指令有()
A、ADD A,20H
B、CLR C 、RRC A D、INC A
二.判断以下指令的正误。
(1)MOV 28H,@R2
(2)DEC DPTR
(3)INC DPTR
(4)CLR R0
(5)CPL R5
(6)MOV R0,R1
(7)PHSH DPTR
(8)MOV F0,C
(9)MOV F0,Acc.3
(10)MOVX A,@R1
(11)MOV C,30H
(12)RLC R0
三、汇编程序分析与设计
1. 设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为
24H和10H,执行下列程序段后,61H,62H,30H,31H,DPTR以及SP中的内容将有何变化?
答:程序执行过程中相关单元内容的变化情况如下:
PUSH 30H ;SP=61H,(61H)=24H
PUSH 31H ;SP=62H,(62H)=10H
POP DPL ;SP=61H,DPL=10H
POP DPH ;SP=60H,DPH=24H
MOV 30H,#00H ;(30H)=00H
MOV 31H,#0FFH ;(31H)=FFH
2.按下列要求传送数据:设ROM(4000H)=44H
(1)ROM4000H单元数据送内RAM 20H单元
(2)ROM4000H单元数据送R0
(3)内RAM 50H单元数据送外RAM 50H单元,设内RAM(50H)=11H。
解:
(1)
MOV DPTR,#4000H
MOV A,#00H
MOVC A,@A+DPTR
MOV 20H,A
(2)
MOV DPTR,#4000H
MOV A,#00H
MOVC A,@A+DPTR
MOV R0,A
(3)
MOV A,50H
MOV R0,#50H
MOVX @R0,A
3.编写程序,将位存储单元38H中的内容与位存储单元49H中的内容互换解:
MOV C , 38H ;(38H)->C
MOV F0 , C ;C->F0,F0是PSW中的用户标志
MOV C , 49H ;
MOV 38H , C ;(49H)->(38H)
MOV C , F0 ;
MOV 48H , C ;(38H)->(49H)
4.分析题:假设内RAM单元(60H)=5,问,执行完下列指令序列后内RAM(60H)的内容为多少?
MOV R0,#60H
MOV A, @R0
RL A
MOV R1,A
RL A
RL A
ADD A,R1
MOV @R0,A
答:50
MOV R0 ,#60H ;R0=60H
MOV A , @R0 ;A=05
RL A ;A=10
MOV R1 , A ;R1=10
RL A ;A=20;
RL A ;A=40
ADD A , R1 ;A=40+10=50
MOV @R0 , A ;(60H)=50
5.假定(A) = 83H,(R0) = 17H,(17H) = 34H,执行以下指令后,(A) = 。ANL A,#17H
ORL 17H,A
XRL A,@R0
CPL A
答:(A)=0CBH。
6.写出完成如下要求的指令,但是不能改变未涉及位的内容。
(1)把A CC.3,A CC.4,A CC.5和A CC.6清“0”。
(2)把累加器A的中间4位清“0”。
(3)使A CC.2和A CC.3置“1”。
四、简答题:
1.8051单片机指令系统按功能可分为几类?具有几种寻址方式?它们的寻址范围如何?
解:MCS-51单片机指令系统按功能可分为5类:
(1)数据传送指令
(2)算术运算指令
(3)逻辑运算和移位指令
(4)控制转移指令
(5)位操作指令
MCS-51单片机的指令系统提供了七种寻址方式,其对应的寻址范围如下表:
2.什么是伪指令?伪指令“ORG”、“END”作用是什么?
答:伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令。
ORG的功能是向汇编程序说明下面紧接的程序段或数据段存放的起始地址。
END的功能是结束汇编。
3.片内RAM 20H~2FH单元中的128个位地址与直接地址00H~7FH形式完全相同,如何在指令中区分出位寻址操作和直接寻址操作?
解: 虽然内部RAM位寻址区的位地址范围00H~7FH与低128个单元的单元地址范围
00H~7FH形式完全相同,但是在应用中可以通过指令的类型区分单元地址和位地址。
位寻址的操作只适用于下列位指令,而直接寻址操作对这些指令是无效的。
MOV C,bit
MOV bit,C
CLR bit
SETB bit
CPL bit
ANL C,bit
ANL C,/bit
JB bit,rel
JNB bit,rel
二.答:(1)错(2)错(3)对(4)错(5)错(6)错(7)错(8)对(9)错(10)对(11)对(12)错。
三.6.
答:(1)ANL A,#87H
(2)ANL A,#0C3H
(3)ORL A,#0CH
第二章指令系统例题习题 一、选择题: 1. 指令MOV寻址空间是【】。 A.片外ROM B。片外RAM C。片内RAM D。片内ROM 2. 指令MOVX寻址空间是【】。 A.片外ROM B。片外RAM C。片内RAM D。片内ROM 3.下列指令中正确的是()。 (A)MOV P2.1,A (B)MOV 20H,30H (C)MOVX B,@DPTR (D)MOV A,@R3 4. “MUL AB”指令执行后,16位乘积的高位在【】中。 A. A B. C C. AB D. B 5. “MOV A, 30H”的寻址方式是【】。 A。寄存器寻址 B。寄存器间接寻址 C。直接寻址 D。立即寻址 6.下列指令中错误的是()。 (A)SETB 50H.0 (B)MOV A,B (C)XCH A,R3 (D)SUBB A,R0 7、下列各条指令的书写格式正确的是 A. MUL R0,R1 B. MOVX A, @R1 C. MOVC @A+DPTR, A D. MOV A,@R7 8.当需要从MCS-51单片机程序存储器取数据时,采用的指令为()。 A. MOV A, @R1 B. MOVX A, @ R0 C. MOVC A, @A+DPTR D.MOVX A, @ DPTR 9、若原来使用工作寄存器0组作为当前寄存器组,现要该为1组,不能使用的指令为 A)SETB PSW.3 B) MOV PSW.3,1 C) SETB 0D0H.3 D) CPL PSW.3 10、不能为程序存储器提供和构成地址的有 A)PC B)A C)DPTR D)PSW 11.执行PUSH ACC指令,MCS-51完成的操作是() A). SP+1 SP ,(ACC)(SP) B).(ACC)(SP),SP-1 SP C). SP-1 SP, (ACC) (SP) D).(ACC)(SP),SP+1 SP 12.假定累加器A的内容为30H,执行指令: 1000H:MOVC A,@A+PC 后,把程序存储器()单元的内容送累加器A中