
第二章单片机硬件结构习题 填充题: 1.在MCS-51中,有7种寻址方式,它们分别为 和。 2.汇编语言的指令格式为一。 3.数据传送类指令执行完毕,源操作数的内容 (会/不会)丢失。 4.8051内部RAM从20H至2FH既可寻址,又可寻址,位地址空间从 到一。 5.MCS-51单片机指令系统中,指令长度有一字节、二字节和字节,指令执行时 间有一个机器周期、两个机器周期和机器周期,乘法指令需机器周期。 6.MOV A,20H中,20H的寻址方式称之为 SETB20H的寻址方 式为 7,关于堆栈类操作的两条指令分别是 堆栈操作只 能是寻址。 8.访问8031片外数据存储器MOVX指令采用的是 寻址方式。访问片外程序 存储器MOVC指令采用的是 寻址方式。 9.设(A)=55H,(R5)=AAH,则执行ANLA,R5指令后的结果是(A)= (R5)= :则执行ORLA,R5指令后的结果是(A)= 2,(R5)= 则执行XRLA,R5指令后的结果是(A)=一,(R5)= 10.伪指令(产生/不产生)可执行目标代码。汇编语言程序结束的指令 为一。 11.DA指令跟在 指令的后面,用与二进制数与 码的调整。 若 (A)=OAH,执行DAA指令后,(A)= 二.选择题 1.JMP跳转范围是 (A)64KB (B)8KB (C)2KB (D)-128127B 2.MCS一51系列单片机最长的一条指令需个机器周期。 (A)1 (B)4 (C)2
1 第二章 单片机硬件结构习题 一. 填充题: 1.在 MCS-51 中,有7种寻址方式,它们分别为 ________ 、_________、 ________、 _____、 ________、________和 。 2.汇编语言的指令格式为 。 3.数据传送类指令执行完毕,源操作数的内容________(会/不会)丢失。 4.8051 内部 RAM 从 20H 至 2FH 既可 寻址,又可 寻址,位地址空间从 到 。 5.MCS-51 单片机指令系统中,指令长度有一字节、二字节和 字节,指令执行时 间有一个机器周期、两个机器周期和 机器周期,乘法指令需 机器周期。 6.MOV A,20H 中,20H 的寻址方式称之为_____________; SETB 20H 的寻址方 式为 。 7.关于堆栈类操作的两条指令分别是______________ 、____________;堆栈操作只 能是 寻址。 8.访问 8031 片外数据存储器 MOVX 指令采用的是 寻址方式。访问片外程序 存储器 MOVC 指令采用的是 寻址方式。 9.设(A)=55H,(R5)=AAH,则执行 ANL A,R5 指令后的结果是(A)= , (R5)= ;则执行 ORL A,R5 指令后的结果是(A)= ,(R5)= ; 则执行 XRL A,R5 指令后的结果是(A)= ,(R5)= 。 10.伪指令 (产生/不产生)可执行目标代码。汇编语言程序结束的指令 为 。 11.DA 指令跟在 指令的后面,用与二进制数与 码的调整。 若 (A)=0AH ,执行 DA A 指令后,(A)= 。 二.选择题 1.JMP 跳转范围是 ( ) (A)64KB (B)8KB (C)2KB (D)-128~127B 2.MCS—51 系列单片机最长的一条指令需 个机器周期。 (A)1 (B)4 (C)2

3.MOVA,@R0这条指令中@R0的寻址方式称为() (A)寄存器寻址(B)寄存器间接寻址(C)直接寻址(D)立即数寻址 4,在CPU内部,反映程序运行状态或反映运算结果的特征寄存器是()。 (A)PC (B)PSW (C)A (D)SP 5.下列指令中正确的是( (A)MOV P2.1,A (B)JBC TFO,L1 (C)MOVX B.@DPTR (D)MOV A.@R3 6.下列指令中错误的是( )。 (A)SETB 50H.0 (B)MOV A,B (C)JNC LOOP (D)SUBB A,RO 7.将累加器的值压入堆栈的正确指令是() (A)PUSH ACC (B)PUSH A (C)PUSH EOH (D)POP ACC 8.下列那条减法指令是错误的 (A)SUBB A,R7 (B)SUBB A,@R1 (C)SUBBC A,#30H (D)SUBB A 30H 10.指令CJNE A,#0OH,LOOP影响PSW的()位 (A)AC (B)O V (C)CY (D)P 11.在MUL AB指令中,若积超过255,则( (A)CY=1 (B)AC=1 (C)0V=1 (D)P=1 三.问答题 1、指出下列每一条指令源操作数的寻址方式及其完成的操作 MOV 2FH,#40H MOV A, 2FH MOV A,@R1 MOV 2FH,A MOV A,R1 2、写出下列指令执行的结果 (1)M0VA,#20H MOV RO,#20H MOV @RO,A
2 3.MOV A,@R0 这条指令中@R0 的寻址方式称为( ) (A)寄存器寻址 (B)寄存器间接寻址 (C)直接寻址 (D)立即数寻址 4.在 CPU 内部,反映程序运行状态或反映运算结果的特征寄存器是( )。 (A)PC (B)PSW (C)A (D)SP 5.下列指令中正确的是( )。 (A)MOV P2.1,A (B)JBC TF0,L1 (C)MOVX B,@DPTR (D)MOV A,@R3 6.下列指令中错误的是( )。 (A)SETB 50H.0 (B)MOV A,B (C)JNC LOOP (D)SUBB A,R0 7.将累加器的值压入堆栈的正确指令是( ) (A)PUSH ACC (B) PUSH A (C)PUSH E0H (D) POP ACC 8.下列那条减法指令是错误的 (A)SUBB A,R7 (B)SUBB A,@R1 (C)SUBBC A,#30H (D)SUBB A 30H 10.指令 CJNE A ,#00H ,LOOP 影响 PSW 的( )位 (A)AC (B)OV (C)CY (D)P 11.在 MUL AB 指令中,若积超过 255,则 ( ) (A) CY=1 (B)AC=1 (C)OV=1 (D)P=1 三.问答题 1、指出下列每一条指令源操作数的寻址方式及其完成的操作 MOV 2FH,#40H MOV A, 2FH MOV A, @R1 MOV 2FH,A MOV A,R1 2、写出下列指令执行的结果 (1)MOV A,#20H MOV R0,#20H MOV @R0,A

ANL A,#OFH ORL A,#80H XRL A,@RO A= R0= (20HD= (2)MOV DPTR,#2314H MOV RO,DPH MOV 14H,#22H MOV R1,DPL MOV 23H,#56H MOV A,@R0 XCH A,DPH 执行以上指令后A= DPTR= (3)MOV A,#50H MOV B,#77H PUSH ACC PUSH B POP ACC POP B 执行完本段指令后(A)= (B)= 3、分析下列指令的执行结果,并写出每条指令的机器码。 (1)M0V30H,#52H (2) MOV A,#10H MOV A,#70H MOV DPTR,#2020H MOV A, 30H MOVX @DPTR,A MOV RO,#30H MOV 20H,#30H MOV A, @RO MOV R0,#20H MOVX A,@RO 4、分析以下程序中每条指令执行过程和结果。 1)MOV A, #30H MOV SP, #55H MOV DPTR,#2000H
3 ANL A, #0FH ORL A, #80H XRL A, @R0 A=________ ; R0= ; (20H)=__________ (2) MOV DPTR, #2314H MOV R0, DPH MOV 14H, #22H MOV R1, DPL MOV 23H, #56H MOV A, @R0 XCH A, DPH 执行以上指令后 A=____________ DPTR=__________ (3)MOV A,#50H MOV B,#77H PUSH ACC PUSH B POP ACC POP B 执行完本段指令后(A)=_________ (B)=_______ 3、 分析下列指令的执行结果,并写出每条指令的机器码。 ⑴ MOV 30H,#52H ⑵ MOV A,#10H MOV A, #70H MOV DPTR,#2020H MOV A, 30H MOVX @DPTR,A MOV R0, #30H MOV 20H,#30H MOV A, @R0 MOV R0,#20H MOVX A,@R0 4、分析以下程序中每条指令执行过程和结果。 (1)MOV A, #30H MOV SP, #55H MOV DPTR,#2000H

PUSH DPL PUSH DPH PUSH ACC MOV DPTR,#4000H MOV A,#22H MOVX @DPTR,A POP ACC POP DPH POP DPL (2)MOV A, 25H (3)MOV A,#0FOH MOV R2, #33H CPL A MOV 40H, #1AH ANL 30H,#00H MOV RO, #40H ORL 30H, #BDH ADD A, R2 XRL 44H, A ADDC A,@RO ADDC A,40H (4)MOV A, #OAAH CPL A RLC A RL A CPL A RRC A RR A 5、试用位操作指令实现下列逻辑操作。要求不得改变未涉及的位的内容。 (1)使ACC.0置位: (2)清除累加器高4位: (3)清除ACC.3,ACC.4,ACC.5,ACC.6。 (4)累加器低4位取反: (5)累加器高、低4位互换
4 PUSH DPL PUSH DPH PUSH ACC MOV DPTR,#4000H MOV A,#22H MOVX @DPTR,A POP ACC POP DPH POP DPL (2)MOV A, 25H (3)MOV A, #0F0H MOV R2, #33H CPL A MOV 40H, #1AH ANL 30H, #00H MOV R0, #40H ORL 30H, #BDH ADD A, R2 XRL 44H, A ADDC A, @R0 ADDC A, 40H (4)MOV A, #0AAH CPL A RLC A RL A CPL A RRC A RR A 5、试用位操作指令实现下列逻辑操作。要求不得改变未涉及的位的内容。 (1)使 ACC.0 置位; (2)清除累加器高 4 位; (3)清除 ACC.3,ACC.4,ACC.5,ACC.6。 (4)累加器低 4 位取反; (5)累加器高、低 4 位互换

四.编程题 1、试编程实现内部RAM25单元与55H单元的数据交换。 2、编程实现外部RAM2040H单元的内容与3040H单元的内容互换。 3、若外部RAM的(2000H)=X,(2001H)=Y,编程实现Z=3X+2Y,结果存入内部RAM 的20H 单元(设Z<255)。 4、试编写程序,将内部R4AM的20H、21H、22I三个连续单元的内容依次存入2FH、2EH 和 2DH单元。 5、试编写程序,完成两个16位数的减法:7F4DH一2B4EH,结果存入内部RAM的30I 和31H 单元,31H单元存差的高8位,30H单元存差的低8位。 6、试编写程序,将R1中的低4位数与R2中的高4位数合并成一个8位数,并将其存 放在R1中。 5
5 四.编程题 1、 试编程实现内部 RAM 25H 单元与 55H 单元的数据交换。 2、 编程实现外部 RAM2040H 单元的内容与 3040H 单元的内容互换。 3、 若外部 RAM 的(2000H)=X,(2001H)=Y,编程实现 Z=3X+2Y,结果存入内部 RAM 的 20H 单元(设 Z<255)。 4、试编写程序,将内部 RAM 的 20H、21H、22H 三个连续单元的内容依次存入 2FH、2EH 和 2DH 单元。 5、试编写程序,完成两个 16 位数的减法:7F4DH-2B4EH,结果存入内部 RAM 的 30H 和 31H 单元,31H 单元存差的高 8 位,30H 单元存差的低 8 位。 6、试编写程序,将 R1 中的低 4 位数与 R2 中的高 4 位数合并成一个 8 位数,并将其存 放在 R1 中