TDB:DB 00H ,01H ,02H,03H,05H
A.00H B.02H C.05H D.30H 44.将A与立即数按位逻辑异或的指令是 C 。
A.ANL A,#data B.ORL A,#data C.XRL A,#data D.XRL A,direct 45.可以控制程序转向64K程序存贮器地址空间的任何单元的无条件转移指令是 B 。
A.AJMP addr11 B.LJMP addr16 C.SJMP rel D.JC rel 46.比较转移指令是 B 。
A.DJNZ R0 rel B.CJNE A, direct rel C.DJNZ direct rel D.JBC bit rel
47.将内部数据存贮器53H单元的内容传送至累加器,其指令是 A 。
A.MOV A, 53H B.MOV A, #53H C.MOVC A, 53H D.MOVX A, #53H 48.将外部数据存贮器083AH单元的内容传送至累加器,必须使用指令 B 。
A.MOVX A,@Ri B.MOVX A,@DPTR C.MOVX A,direct D.MOVC A,@A+DPTR
49.欲将P1口的高4位保留不变,低4位取反,可用指令 B 。
A.ANL P1,#0F0H B.ORL P1,#0FH C.XRL P1,#FH D.以上三句都对 50.LJMP跳转空间最大可达到 D 。
A.2KB B.256B C.128B D.64KB 51.跳转指令SJMP的转移范围为 B 。
A.2KB B.256B C.128B D.64KB 52.在编程中使用伪指令的目的是 C 。
A.指示和引导如何进行手工汇编 B.指示和引导编译程序如何汇编 C.指示和引导汇编程序进行汇编 D.指示和引导程序员进行汇编 53. 8051的内部RAM中,可以进行位寻址的地址空间为( B )。
A.00H~2FH B.20H~2FH C.00H~FFH D.20H~FFH
54. 设累加器A的内容为0C9H,寄存器R2的内容为54H,CY=1,执行指令SUBB A,R2 后结果
为( A )。
A. (A)=74H B. (R2)=74H C.(A)=75H D. (R2)=75H 55. 设(A)=0C3H,(R0)=0AAH,执行指令ANL A,R0后,结果( A )。 A.(A)=82H B.(A)=6CH C.(R0)=82 D.(R0)=6CH 56.下列指令中哪条指令与堆栈无关( D )。
A.ACALL B.LCALL C.RET D.MOVC A,@A+PC 57. 在堆栈操作中,当进栈数据全部弹出后,这时SP应指向( C )。
A.栈底单元 B.7FH单元 C.栈底单元地址加1 D.栈底单元地址减1 58. 8051单片机中,唯一一个用户不能直接使用的寄存器是( C )。
A.PSW B.DPTR C.PC D.B
59.8051单片机中,唯一一个用户可使用的16位寄存器( B )。
A.PSW B.DPTR C.ACC D.PC 60.执行如下三条指令后,30单元的内容是( C )。
MOV R1,#30H MOV 40H,#0EH MOV @R1,40H
A.40H B.30H C.0EH D.FFH 61.有如下程序段:
11
MOV R0,#30H SETB C CLR A
ADDC A,#0 0H MOV @R0,A 执行结果是( B )。
A.(30H)=00H B.(30H)=01H C.(00H)=00H D.(00H)=01H
62.从地址2132H开始有一条绝对转移指令AJMP addr11,指令可能实现的转移范围是( A )。 A.2000H~27FFH B.2132H~2832H C.2100H~28FFH D.2000H~3FFFH 63.汇编语言表示的指令格式中,标号与操作码之间用( A )分开。 A.冒号 B.分号 C.逗号 D.#号
64.8051汇编指令格式中,地址和数据的区别符号为( D )。 A.冒号 B.分号 C.逗号 D.#号
65.下列指令执行时,修改PC中内容的指令是( A )。
A.AJMP B.MOVC A,@A+PC C.MOVC A,@A+DPTR D.MOVX A,@ Ri
66.下列指令中比较转移指令是( B )。
A.DJMP Rn rel B.CJNE Rn,#datd,rel C.DJNZ direct ,rel D.JBC bit ,rel
67.假定(A)=83H (R0)=17H,(17H)=34H,执行下列程序行后,A的内容是( B )。 ANL A, #17H ORL 17H,A XRL A,@RO CPL A
A.C8H B.E8H C.CBH D.34H
68.将内部数据存储单元的内容传送到累加器A中的指令是( B )。
A.MOV direct,Rn B.MOV A,@Ri C.MOV A,#data D.MOVX A,@ Ri 69.指令MOV R0,#20H中的20H是指( A )。
A.立即数 B.内部RAM 20H单元 C. 一个计数的初值 D.以上三种均有可能,视该指令在程序中的作用而定 70.下列完成单片机内部数据传送的指令是( D )。
A.MOVX A,@DPTR B.MOVC A,@A+PC C.ADD A,#data D.MOV direct,direct
71.单片机中常用的查表指令是( D )。
A.MOVX A,@DPTR B.MOV A,@A+PC C.MOVX A,@R0 D.MOVC A,@A+DPTR
72.单片机中PUSH和POP指令通常用来( C )。
A.保护断点 B.保护现场 C.保护现场恢复现场 D.保护断点恢复断点
73. 单片机在执行MOVX A,@DPDR或MOVC A,@A+DPTR指令时,其寻址单元的地址是由
( B )。
A.P0口送低8位P1口送高8位 B.P0口送低8位P2口送高8位 C.P0口送高8位P1口送低8位 D.P0口送高8位P2口送高8位 74.单片机中使用MOVX A,@Ri指令( C )寻址数据存储器1050H单元 A.能直接 B.不能 C.与P2口配合能 D.与P1口配合能
12
75.下列指令中影响堆栈指针的指令是( C )。
A.ADD B.LJMP C.LCALL D.MOVC A,@A+PC 76.ACALL与LCALL比较,执行速度ACALL( A )。
A.较快 B.较慢 C.相等 D.视转到何处而定
三、多项选择题
1.MCS—51汇编语言指令格式由以下几个部分组成 A、B、C、E 。
A.标号 B.操作码 C.操作数 D.符号 E.注释 2.MCS—51的指令可分为以下几类 A、B、C、D、E 。
A.数据传送指令 B.算术运算指令 C.逻辑运算指令
D.控制程序转移类 E.布尔变量操作类
3.MCS—51的寄存器寻址方式可用于访问选定的 A、B、C、D、E 中的数进行操作。 A.工作寄存器R0~R7 B.寄存器A C.寄存器B D.进位CY
E.指针寄存器DPTR
4.MCS—51寻址方式中,直接寻址的寻址空间是 A、B、C 。
A.片内RAM低128字节 B.专用寄存器SFR C.片内RAM可位寻址的单元20H~2FH D.程序存储器ROM E.工作寄存器R0~R7 5.8031单片机中堆栈的作用有 A、D、E 。
A.保护断点 B.保护栈顶 C.保护SP D.保护现场
E.保护调用指令的下条指令的地址
6.在MCS—51指令中,下列指令中完成CPU与外部存储器之间信息传送的指令是 A、B、C 。 A.MOVC A,@A+PC B.MOVC A,@A+DPDR C.MOVX A,@Ri D.MOV A,driect E.MOV @R0,A
7.在MCS—51指令系统中,以累加器A为目的操作数指令是 A、B、D、E 。
A.MOV A,Rn B.MOV A, #data C.MOV Rn, A D.MOV A, @Ri E.MOV A,direct 8. 在MCS—51指令系统中,以直接地址为目的操作数指令是 A、B、C、D、E 。 A.MOV direct,A B.MOV direct,Rn C.MOV direct,direct
D.MOV direct, @Ri E.MOV direct,#data
9.在MCS—51指令系统中,以间接地址为目的操作数指令是 A、C、D 。 A.MOV @Ri ,A B.MOV A, @Ri C.MOV @Ri ,direct D.MOV @Ri ,#data E.MOV direct,#data
10. 在MCS—51指令系统中,用于片外数据存储器传送指令是 A、B、D、E 。
A.MOVX A,@Ri B.MOVX A,@DPTR C.MOV @Ri ,A D.MOVX @Ri,A E.MOVX @DPTA,A
11.在MCS—51指令系统中,用于带进位的加法指令是 A、B、C、E 。
A.ADDC A,Rn B.ADDC A,@Ri C.ADDC A,direct D.ADD A,Rn E.ADDC A,#data
12.在MCS—51指令系统中,无条件转移指令是 A、B、E 。
A.LJMP addr16 B.ALMP addr11 C.RET D.JNZ rel E.SJMP rel 13.在MCS—51指令系统中,位逻辑运算指令是 A、B、D、E 。
A.ANL C,bit B.ANL C,/bit C.CLR C D.ORL C,bit E. ORL C,bit
14.对8031单片机下列指令要访问片外存储器的是 A、B、C、D、E 。
A.MOV A,#01H B.MOV R0, #20H C.ADD A, #0EH D.SUBB A,#99H E.MOVC A, @A+PC
13
第三章 MCS-51系列单片机程序设计举例
练 习 题
一、判断题
( )1.8031单片机的内部RAM是用来存放程序的。( × )
( )2.指令MUL AB执行前(A) =F0H, (B) =05H 执行(A)=F5H, (B) =00H。 ( × ) ( )3.指令MOV A, 00H 执行后A的内容为零。(× )
( )4.指令CJME A, # data, rel的作用相当于SUBB A, #data与JNZ rel的作用。 (× ) ( )5.指令JBC bit, rel的作用为1时相对转移,然后该位清零。( √ ) ( )6.RL A指令相当于把A的内容乘2。( × ) ( )7.指令ACALL与LCALL没有区别。( × )
( )8.指令JNB bit, rel所寻址的位为1,则相对转移。( × )
( )9.指令DJNZ R0, rel先将R0中的内容减1,若为0则继续循环。( × )
二、单项选择题
1.指令DA A应跟在( B )。
A.加法指令后 B.BCD码在加法指令后 C.减法指令后 D.BCD码的减法指令 2.对MCS—51单片机来说,其内容RAM( D )。
A.只能位寻址 B.只能字节寻址 C.既能位寻址又能字节寻址 D.少部分能位寻址 3.指令JB 0E0H,LP中的0E0H是指( C )。
A.累加器A B.累加器A的最高位 C.累加器A的最低位 D.立即数 4.指令MOV R0,20H 执行前(R0)=30H,(20H)=38H,执行后( D )。
A.(R0)=20H B.(R0)=30H C.(R0)=50H D.(R0)=38H 5.指令MOV R0,#20H 执行前(R0)=30H,(20H)=38H,执行后( A )。
A.(R0)=20H B.(R0)=30H C.(R0)=50H D.(R0)=38H 6.指令MOV A,@ R0 执行前(A)=86H,(R0)=20H,(20H)=18H执行( C )。
A.(A)=86H B.(A)=20H C.(A)=18H D.(A)=00H 7.指令MOVX A,@DPTR执行前(A)=30H,(DPTR)=0100H,(0100H)=35H执行后( D )。 A.(A)=30H B.(DPTR)=35H C.(0100H)=30H D.(A)=35H 8. 指令MOVX @ DPTR,A执行前(A)=03H,(DPTR)=0101H,(0101H)=35H执行后( C )。 A.(A)=35H B.(DPTR)=35H C.(0100H)=03H D.(A)=05H 9. 指令ADD A, R0执行前(A)=38H,(R0)=30H,(C)=1执行后( D )。
A.(A)=92H (C)=1 B.(A)=92H (C)=1 C.(A)=8CH(C)=1 D.(A)=68和H (C)=0
10. 指令ADDC A,@R0执行前(A)=38H,(R0)=30H,(30H)=F0H,(C)=1执行后( B )。
A.(A)=28H(C)=1 B.(A)=29H(C)=1 C.(A)=68H(C)=0 D. (A)=29H(C)=0
11.下列指令中能使累加器A高4位不变,低4位清0的是( B )。
A.ANL A,#0FH B.ANL A,0F0H C.ORL A,#0FH D.ORL A,#0F0H
12. 指令MUL AB执行前(A)=18H,(B)=05H执行后AB的内容是( D )。
A.90H,05H B.90H,00H C.78H,05H D.78H,00H 13. 下列指令与累加器A无关的是( C )。
A.JZ LP B.JBC,0E7H C.ACALL DELY D.SUBB
14
14. 下列那条指令的作用是,若累加器A的内容为零就转到LD0处( C )。
A.JB A,LD0 B.JZ A,LD0 C.JZ LD0 D.JNB ACC,LD0 15.下列指令( A )的作用是,若累加器A中数为负数,就转到LDF处
A.JB ACC.7,LDF B.JB E7,LDF C.JB A.7,LDF D.JNB 0E7H,LDF
16.执行下列程序后,程序计数器PC的内容为( C )。
ORG 0000H
MOV DPTR,#1000 MOV A,#00H MOV 20H,A LJMP 1500 END
A.100 B.1000 C.1500 D.0 17. 执行下列程序后,堆栈指针SP的内容为( B )。
MOV SP,#30H MOV A,20H LCALL 1000 MOV 20H,A SJMP $
A.00H B.30H C.32H D.07H 18. 执行下列程序后,累加器A的内容为( B )。
ORG 0000H MOV A,#00H ADD A,#02H
MOV DPTR,#0050H MOVC A,@A+DPTR MOV @ R0,A SJMP $ ORG 0050H
TAB:DB 00H,0888H,0BH,06H,09H,0CH END
A.00H B.0BH C.06 H D.0CH
三、多项选择题
1.MCS---51单片机指令中可进行片外数据传送的指令是( A、B、C、D、E )。
A.MOVC A,@A+DPTR B.MOVC A,@A+PC C.MOVC A,@A+DPTR
D.MOVX @A+DPTR,A E.MOV DPTR,#data13 2.下列与堆栈无关的指令是( B、C、E )。
A.ACALL B.AJMP C.LJMP D.RET E.MOVC A, @A+PC 3.下列哪条指令可加累器A清零( D、E )。
A.ANL A, 00H B.ORL A, 00H C.MOV A, 00H D.XRL A,#0E0H E.ANL A,#00H 4.下列指令作用是,若累加器A中数为负数,就转到LDF处,哪条指令正确( B、C )。
A.JB A.7,LDF B.JB ACC.7,LDF C.JB 0E7H,LDF D.JB E7H,LDF E.JB E7,LDF 5.循环程序一般是由( A、C、D、E )组成。
A.循环初始化 B.TMOD初始化 C.循环体 D.循环控制 E.循环判断
15