内容发布更新时间 : 2024/12/27 4:12:54星期一 下面是文章的全部内容请认真阅读。
MCS—51单片机指令系统及程序设计
一、判断题
( )1.MCS—51单片机的指令格式中操作码与操作数之间必须用“,”分隔。 ( )2.MCS—51指令:MOV A,#40H ;表示将立即数40H传送至A中。
( )3.MCS—51指令:MOV A,@R0 ;表示将R0指示的地址单元中的内容传送至A中。
( )4.MCS—51指令:MOVX A,@DPTR ;表示将DPTR指示的地址单元中的内容传送至A中。 ( )5.MCS—51的数据传送指令是把源操作数传送到目的操作数,指令执行后,源操作数改变,目的操作数修改为源操作数。
( )6.MCS—51指令中,MOVX为片外RAM传送指令。 ( )7.MCS—51指令中,MOVC为ROM传送指令。
( )8.将37H单元的内容传送至A的指令是:MOV A,#37H。
( )9.MCS—51指令中,16位立即数传送指令是:MOV DPTR,#data16。
( )10.MCS—51单片机,CPU对片外RAM的访问只能用寄存器间接寻址的方式,且仅有4 条指令。
( )11.如JC rel发生跳转时,目标地址为当前指令地址加上偏移量。
( )12.对于8051单片机,当CPU对内部程序存储器寻址超过4K时,系统会自动在外部程序
存储器中寻址。
( )13.指令MUL AB执行前(A)=F0H,(B)=05H,执行后(A)=FH5,(B)=00H。 ( )14.已知:DPTR=11FFH 执行INC DPTR后,结果:DPTR=1200H。
( )15.已知:A=11H B=04H,执行指令DIV AB后,其结果:A=04H,B=1 CY=OV=0。 ( )16.已知:A=1FH,(30H)=83H,执行 ANL A,30H 后,结果:A=03H (30H)=83H P=0。 ( )17.无条件转移指令LJMP addr16称长转移指令,允许转移的目标地址在128KB空间范围
内。
( )18.MCS—51指令系统中,执行指令FGO bit F0 ,表示凡用到F0位的指令中均可用FGO
来代替。
( )19.MCS—51指令系统中,执行指令ORG 2000H;
BCD: DB “A,B,C,D”表示将A、B、C、D的ASII码
值依次存入2000H开始的连续单元中。
( )20.MCS—51指令系统中,指令CJNE A,#data, rel的作用相当于SUBB A,#data与
JNC rel的作用。
( )21.MCS—51指令系统中,指令JNB bit,rel是判位转移指令,即表示bit=1时转。 ( )22.8031单片机的PC与DPDR都在CPU片内,因此指令MOVC A,@A+PC与指令MOVC A,
@A+DPTR执行时只在单片机内部操作,不涉及片外存储器。
( )23.MCS—51指令系统中,指令AJMP addr11 称绝对转移指令,指令包含有11位的转移地
址;它是把PC的高5位与指令第一字节中的第7~5位(第4~0位为00001)和指令的第二字中的8位合并在一起构成16位的转移地址。
( )24.MCS—51单片机中PUSH和POP指令只能保护现场,不能保护断点。
( )25.绝对调用指令ACALL addr11能在本指令后一字节所在的2K字节程序存贮区内调用子
程序。
( )26.指令LCALL addr16能在64K字节范围内调用子程序。
( )27.设PC的内容为35H,若要把程序存贮器08FEH单元的数据传送至累加器A,则必须使
用指令MOVC A,@A+PC。
( )28.指令MOV A,00H执行后A的内容一定为00H。
( )29.在进行二——十进制运算时,必须用到DA A指令。 ( )30.指令MUL AB执行前(A)=43H,(B)=05H,执行后(A)=15H,(B)=02H。 ( )31.MCS—51单片机的布尔处理器是以A为累加器进行位操作的。 二、单项选择题
1.MCS—51汇编语言指令格式中,唯一不可缺少的部分是 。
A.标号 B.操作码 C.操作数 D.注释 2.MCS—51的立即寻址方式中,立即数前面 。
A.应加前缀“/:”号 B.不加前缀号 C.应加前缀“@”号 D.应加前缀“#”号 3.下列完成8031单片机内部数据传送的指令是 。
A.MOVX A,@DPTR B.MOVC A, @A+PC C.MOVX A,@R1 D.MOV direct2,direct1 4.MCS—51的立即寻址的指令中,立即数就是 。
A.放在寄存器R0中的内容 B.放在程序中的常数 C.放在A中的内容 D.放在B中的内容
5.单片机中PUSH和POP指令常用来 。
A.保护断点 B.保护现场 C.保护现场,恢复现场 D.保护断点,恢复断点 6.MCS—51寻址方式中,操作数Ri加前缀“@”号的寻址方式是 。
A.寄存器间接寻址 B.寄存器寻址 C.基址加变址寻址 D.立即寻址 7.MCS—51寻址方式中,立即寻址的寻址空间是 。
A.工作寄存器R0~R7 B.专用寄存器SFR C.程序存贮器ROM
D.片内RAM的20H~2FH安节中的所有位和部分专用寄存器SFR的位 8.MCS—51寻址方式中,直接寻址的寻址空间是 。
A.工作寄存器R0~R7 B.专用寄存器SFR C.程序存贮器ROM D.程序存储器256字节范围
9.执行指令MOVX A,@DPTR时,WR、RD脚的电平为 。 A.WR高电平,RD高电平 B.WR低电平,RD高电平 C.WR高电平,RD低电平 D.WR低电平,RD低电平 10.主程序执行完ACALL后返回主程序后,堆栈指针SP的值 。 A.不变 B.加2 C.加4 D.减2
11.单片机中使用MOVX A,@R1指令 寻址数据存贮器1050H单元。
A.能直接 B.不能 C.与P2口配合能 D.与P1口配合能 12.下列指令判断若P1口最低位为高电平就转LP,否则就执行下一句的是 。
A.JNB P1.0,LP B.JB P1.0,LP C.JC P1.0,LP D.JNZ P1.0,LP 13.指令JB OEOH,LP中的OEOH是指 。
A.累加器A .累加器A的最高位 C.累加器A的最低位 D.一个单元的地址 30.MCS—51指令系统中,清零指令是 。
A.CPL A B.RLC A C.CLR A D.RRC A 31.MCS—51指令系统中,求反指令是 。
A.CPL A B.RLC A C.CLR A D.RRC A 32.MCS—51指令系统中,指令MOV A,@R0,执行前(A)=86H,(R0)=20H,(20H)=18H,执行后 。 14.下列指令中比较转移指令是指 。
A. DJNZ Rn,rel B.CJNE Rn,#data,rel C.DJNZ direct,rel D.JBC bit,rel 15.指令MOV R0,#20H执行前(R0)=30H,(20H)=38H,执行后(R0)= 。
A.00H B.20H C.30H D.38H 16.指令MOV R0, 20H执行前(R0)=30H,(20H)=38H,执行后(R0)= 。
A.20H B.30H C.50H D.38H 17. MCS—51指令MOV 20H,C中的20H是指___________
A.立即数 B.内部RAM20H单元 C.位地址20H单元 18.MCS—51指令包括操作码和操作数,其中操作数是指 。
A.参与操作的立即数 B.寄存器 C.操作数 D.操作数或操作数地址 19.MCS—51指令MOV R0,#20H中的20H是指 。
A.立即数 B.内部RAM20H C.一个数的初值 D.以上三种均有可能,视该指令的在程序中的作用 20.MCS—51单片机在执行MOVX A,@DPTR或MOVC A,@A+DPTR指令时,其寻址单元的地址是由 。 A.P0口送高8位,P1口送高8位 B.P0口送低8位,P1口送高8位
C.P0口送低8位,P1口送低8位 D.P0口送高8位,P1口送低8位 21.在MCS—51指令中,下列指令中 是无条件转移指令。
A.LCALL addr16 B.DJNZ direct,rel C.SJMP rel D.ACALL addr11 22.下列指令中影响堆栈指针的指令是 。
A.LJMP B.ADD C.MOVC A,@A+PC D.LCALL
23.设A=AFH (20H)=81H,指令:ADDC A, 20H执行后的结果是 。 A.A=81H B.A=30H C.A=AFH D.A=20H
24.已知:A=DBH R4=73H CY=1,指令:SUBB A, R4 执行后的结果是 。
A.A=73H B.A=DBH C.A=67H D.以上都不对 25.将内部数据存储单元的内容传送到累加器A中的指令是 。
A.MOVX A,@R0 B.MOV A, #data C.MOV A,@R0 D.MOVX A, @DPTR 26.下列指令执行时,修改PC中内容的指令是 。
A.SJMP B.LJMP C.MOVC A,@ A+PC D.LCALL 27.下列指令执行时,不修改PC中内容的指令是 。
A.AJMP B.MOVC A,@ A+PC C.MOVC A,@ A+DPTR D.MOVX A,@Ri 28.已知:A=D2H,(40H)=77H,执行指令:ORL A,40H后,其结果是: 。
A.A=77H B.A=F7H C.A=D2H D.以上都不对 29.指令MUL AB 执行前(A)=18H ,(B)=05H,执行后,A、B的内容是 。
A.90H,05H B.90H,00H C.78H,05H D.78H,00H
A.(A)=86H B.(A)=20H C.(A)=18H D.(A)=00H 33.MCS—51指令系统中,指令CLR A ;表示 。
A.将A的内容清0 B.将A的内容置1
C.将A的内容各位取反,结果送回A中 D.循环移位指令 34.已知A=87H ,(30H)=76H,执行 XRL A,30H 后,其结果为: 。 A.A=F1H (30H)=76H P=0 B.A=87H (30H)=76H P=1 C.A=F1H (30H)=76H P=1 D.A=76H (30H)=87H P=1 35.MCS—51指令系统中,指令ADD A,R0 执行前(A)=38H,(R0)=54H,(C)=1 执行后,其
结果为 。 A.(A)=92H (C)=1 B.(A)=92H (C)=0
C.(A)=8CH (C)=1 D.(A)=8CH (C)=0 36.MCS—51指令系统中,指令ADD A,R0 执行前(A)=86H,(R0)=7AH,(C)=0 执行后,其
结果为 。 A.(A)=00H (C)=1 B.(A)=00H (C)=1
C.(A)=7AH (C)=1 D.(A)=7AH (C)=0
37.MCS—51指令系统中,指令ADDC A,@R0 执行前(A)=38H,(R0)=30H,(30H)=FOH,(C)
=1 执行后,其结果为 。 A.(A)=28H (C)=1 B.(A)=29H (C)=1
C.(A)=68H (C)=0 D.(A)=29H (C)=0
38.下列指令能能使累加器A低4位不变,高4位置F的是 。
A.ANL A,#OFH B.ANL A,#OFOH C.ORL A,#OFH D.ORL A,#OF0H 39.下列指令能能使累加器A高4位不变,低4位置F的是 。
A.ANL A,#OFH B.ANL A,#OFOH C.ORL A,#OFH D.ORL A,#OF0H 40.下列指令能使R0低4位不变,高4位置F的是 。
A.ANL R0,#OF0H B.ORL RO,#OFOH C.ORL 0,#OFH D.ORL 00H,#OF0H 41.下列指令能能使R0高4位不变,低4位置F的是 。
A.ANL R0,#OFH B.ANL R0,#OFOH C.ORL 0,#OFH D.ORL R0,#OFH 42.下列指令能能使累加器A的最高位置1的是 。
A.ANL A,#7FH B.ANL A,#80H C.ORL A,#7FH D.ORL A,#80H 43.下列指令能能使R0的最高位置0的是 。
A.ANL 0,#7FH B.ANL R0,#FH C.ORL R0,#7FH D.ORL R0,#80H 44.下列指令能能使R0的最高位取反的是 。
A.CPL R0,7 B.XRL 00H,#80H C.CPL (R0),7 D.ARL R0,#80H 45.下列指令能能使累加器A的最低位置1的是 。
A.SETB A,#01H B.SETB A,0 C.ORL A,#01H D.SETB A,#00H 46.下列指令能能使P1口的最低位置1的是 。
A.ANL P1,#80H B.SETB 90H C.ORL P1,#0FFH D.ORL P1,#80H 47.下列指令能能使P1口的第3位置1的是 。
A.ANL P1,#0F7H B.ANL P1,#7FH C.ORL P1,#08H D.SETB 93 48.下列指令判断若P1口的最低位为高电平就转LP,否则就执行下一句的是 。
A.JNB P1.0,LP B.JB P1.0,LP C.JC P1.0,LP D.JNZ P1.0,LP 49.下列指令判断若累加器A的内容不为0就转LP的是 。
A.JB A,LP B.JNZ A,LP C.JNZ LP D.CJNE A,#0,LP
50.设累加器A中为无符号数,B中数为2,下列指令 的作用与其它几条不同。
A.ADD A,0E0H B.MUL AB C.RL A D.RLC A 52.MCS—51指令系统中,执行下列程序后,程序计数器PC的内容为 。
ORG 000H
MOV DPDR,#1000 MOV A, #00H MOV 20H,A LJMP 1500 GND
A.100 B.1000 C.1500 D.0 55..MCS—51指令系统中,执行下列程序后,堆栈指针SP的内容为 。
MOV SP,#30H MOV A,20H LCALL 1000 MOV 20H,A SJMP $
A.00H B.30H C.32H D.07H 56.MCS—51指令系统中,指令DA A是 。
A.除法指令 B.加1指令 C.加法指令 D.十进制调整指令 57.MCS—51指令系统中,指令DA A应跟在 。
A.加法指令后 B.BCD码的加法指令后 C.减法指令后 D.BCD码的减法指令后 58.在单片机算术运算过程中,指令DA A常用于 运算。
A.二进制 B.加法 C.BCD码加法 D.十六进制 59.MCS—51指令系统中,执行下列指令后,其结果为 。
MOV A, #68 ADD A, #53 DA A
A.A=21 CY=1 OV=0 B.A=21 CY=1 OV=1 C.A=21 CY=0 OV=0 D.以上都不对
60.执行下列程序后,累加器A的内容为 。
ODG 0000H MOV A, #00H ADD A, #02H
MOV DPDR, #0050H MOVC A, @A+DPDR MOV @R0, A SJMP $ ORG 0050H
BAO: DB 00H,08H,0BH,6H,09H,0CH END
A.00H B.0BH C.06H D.0CH 61.8051单片机传送外部存贮器地址信号的端口是 。
A.P0口和P1口 B.P1口和P2口 C.P1口和P3口 D.P0口和P2口 62.8051单片机能分时传送地址信号和数据的端口是 。
A.P0口 B.P2口 C.P0口和P2口 D.P3口 63.8051单片机具有双功能的端口是 。
A.P0口和P1口 B.P3口 C.P0口和P2口 D.P1口 64.能访问内部数据存贮器的传送指令是 。
A.MOVC 指令 B.MOV 指令 C.MOVX 指令 D. 65.能访问外部数据存贮器的传送指令是 。
A.MOV 指令 B.MOVC 指令 C.MOVX 指令 D. 66.将内部数据存贮单元内容传送到累加器A中的指令是 。
A.MOV direct, R0 B.MOV A, @Ri C.MOV A, #data D.MOV A, R0 67.指令ANL A,R0的功能是 。
A.将A与寄存器R0的内部容按位逻辑与 B.将A与寄存器R0的内部容按位逻辑异或
C.将A与寄存器R0的内部容按位逻辑非 D.将A与寄存器R0的内部容按位逻辑或 68.能将A的内容向左循环移一位,第七位进第0位的指令是 。
A.RLC A B.RRC A C.RR A D.RL A 69.能将A按位取反的指令是 。
A.CPL A B.CLR A C.RL A D.SWAP A 70.执行下列程序后,内部RAM 30H单元的内容是 。
MOV 30H,#00H MOV R0,#30H MOV A, 30H ADD A, #05H MOVC A, @A+PC MOV @R0, A SJMP $
TDB:DB 00H ,01H ,02H,03H,05H
A.00H B.02H C.05H D.30H 71.将A与立即数按位逻辑异或的指令是 。
A.ANL A,#data B.ORL A,#data C.XRL A,#data D.XRL A,direct 72.可以控制程序转向64K程序存贮器地址空间的任何单元的无条件转移指令是 。
A.AJMP addr11 B.LJMP addr16 C.SJMP rel D.JC rel 73.比较转移指令是 。
A.DJNZ R0 rel B.CJNE A, direct rel C.DJNZ direct rel D.JBC bit rel
74.将内部数据存贮器53H单元的内容传送至累加器,其指令是 。
A.MOV A, 53H B.MOV A, #53H C.MOVC A, 53H D.MOVX A, #53H 75.将内部数据存贮器083AH单元的内容传送至累加器,必须使用指令 。
A.MOVX A,@Ri B.MOVX A,@DPTR C.MOVX A,direct D.MOVC A,@A+DPTR
76.欲将P1口的高4位保留不变,低4位取反,可用指令 。
A.ANL P1,#0F0H B.ORL P1,#0FH C.XRL P1,#FH D.以上三句都对 77.LJMP跳转空间最大可达到 。
A.2KB B.256B C.128B D.64KB 78.跳转指令SJMP的转移范围为 。
A.2KB B.256B C.128B D.64KB 80.欲将P1口的高4位保留不变,低4位取反,可用指令 。
A.ANL P1,#0F0H B.ORL P1,#0FH C.XRL P1,#0FH D.以上三句都不行 三、分析程序并写出结果:(共4题,每题5分)
已知(R0)=20H, (20H ) =10H, (P0) =30H, (R2) =20H, 执行如下程序段后( 40H ) = MOV @R0 , #11H MOV A , R2 ADD A , 20H MOV PSW , #80H SUBB A , P0 XRL A , #45H MOV 40H , A
2. 已知 ( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 执行过程如下: MOV A , @R0 MOV R0 , A MOV A , @R0
ADD A , 21H ORL A , #21H RL A MOV R2 , A
则执行结束(R0)= (R2)= 3. 执行下面一段程序; MOV SP, #60H MOV A, #10H MOV B, #01H PUSH ACC PUSH B POP ACC POP B
A , B的内容是:(A)= (B)=
4. 设在31H单元存有#23H,执行下面程序: MOV A, 31H ANL A, #0FH MOV 41H, A MOV A, 31H ANL A, #0F0H SWAP A
MOV 42H, A
则(41H)= (42H)= 四、读程序题(每小题4分,共20分) 1.执行下列程序段后,(P1)=_______。 MOV P1,#5DH CPL P1.1 CPL P1.2 CLR P1.6 SETB P1.7
2.执行下列程序段后,(A)=_______, MOV A,#C5H RL A
3.下列程序段执行后,(R0)=_______,(7EH)=____,(7FH)=_______。 MOV R0,#7EH MOV 7EH,#0FFH MOV 7FH,#40H INC @R0 INC R0 INC @R0
4.已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALL SUBTRN双字节指令后,(PC)=___,(61H)=_______,(62H)= ____。