单片微机原理及应用 徐春辉第4章 习题答案

单片微机原理及应用 徐春辉第4章  习题答案
单片微机原理及应用 徐春辉第4章  习题答案

练习与思考题4

1.按长度分,51系列单片机的指令有 1 字节的、 2 字节的和 3 字节的。2.按指令的执行时间分,51系列单片机的指令有 1 、 2 和 4 机器周期的指令。3.51系列单片机汇编语言指令格式中,唯一不可缺少的部分是(B )。

A.标号B.操作码C.操作数D.注释

4.简述8051的寻址方式和每种寻址方式所涉及的寻址空间。

答:

5.51系列单片机的寻址方式中,位寻址的寻址空间是( D )。

A.工作寄存器R0~R7

B.专用寄存器SFR

C.程序存储器ROM

D.片内RAM的20H~2FH字节中的所有位和地址可被8整除的SFR的有效位

6.分析下面各指令源操作数的寻址方式。

MOV A,32H ;直接寻址

MOV R7,A ;寄存器寻址

MOV @R0,#0FEH ;立即寻址

MOV A,@R1 ;寄存器间接寻址

MOV DPTR,#1E00H ;立即寻址

MOVC A,@A+DPTR ;变址寻址

MOV C,20H ;位寻址

JC 10H ;相对寻址

7.访问特殊功能寄存器和外部数据存储器,分别可以采用哪些寻址方式?

答:访问特殊功能寄存器只能用直接寻址;访问外部数据存储器只能用寄存器间接寻址。

8.在寄存器寻址方式中,指令中指定寄存器的内容就是操作数。

9.在寻址方式中,只能使用8 位二进制数作为直接地址。

10.在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的地址。

11.在变址寻址方式中,以累加器A 作变址寄存器,以 PC 或 DPTR 作基址寄存器。。

12.三种传送指令MOV、MOVC和MOVX,使用时有什么区别?

答:MOV指令用来实现单片机内部寄存器、存储单元、特殊功能寄存器之间的数据传送。

MOVC指令用来读程序存储器中的数据表。

MOVX 指令用来实现累加器A和外部数据存储器之间的数据传送。

13.假定DPTR的内容为8100H,累加器的内容为40H,执行指令“MOVC A,@A+DPTR”后,程序存储器8140H 单元的内容送累加器A中。

14.单片机中PUSH和POP指令常用来( C )。

A.保护断点B.保护现场

C.保护现场,恢复现场D.保护断点,恢复断点

15.假定(A) =85H,(R0) =20H,(20H) =AFH。执行指令:ADD A,@R0后,累加器 A的内容为 34H ,CY 的内容为 1 ,AC的内容为 1 ,OV的内容为 1 。

16.假定(A) = 56H,(R5) = 67H。执行指令

ADD A,R6

DA A

后,累加器A的内容为23H ,Cy的内容为 1 。

17.假定(A) = 50H,(B) = 0A0H,执行指令“MUL AB”后,寄存器B的内容为32H ,累加器A的内容为00H 。

18.假定(A) = 0FBH,(B) = 12H ,执行指令“DIV AB”后,累加器A的内容为0DH ,寄存器B的内容为11H 。

19.下列指令中可将累加器A最高位置1的是(B,C,D,E )。

A.ORL A,#7FH B.ORL A,#80H C.SETB 0E7H

D.ORL E0H,#80H E.SETB ACC.7

20.假定标号L2对应的地址值为0100H,标号L3对应的地址值为0123H。当执行指令“L2:SJMP L3”时,该指令的相对偏移量(即指令的第二字节)为21H 。

21.在位操作中,能起到与字节操作中累加器的相似作用的是进位标志位C。

22.累加器A中存放着一个其值小于等于127的8位无符号数,(Cy) = 0,执行RLC A指令后,则A中的数变为原来的 2 倍。

23.试根据以下要求写出相应的汇编语言指令。

(1)将R6的高四位和R7的高四位交换,R6、R7的低四位内容保持不变。

答:MOV A, R6

MOV 30H, R7

MOV R0, #40H

MOV @R0, 30H

XCHD A, @R0

MOV R7, A

MOV 30H, @R0

MOV R6, 30H

(2)两个无符号数分别存放在30H、31H,试求出他们的和并将结果存放在32H。答:MOV A, 30H

ADD A, 31H

MOV 32H, A

(3)将30H单元的内容左环移两位,并送外部RAM 3000H单元。

答: MOV A, 30H

RL A

RL A

MOV DPTR, #3000H

MOVX @DPTR, A

(4)将程序存储器中1000H单元的内容取出送外部RAM 3000H单元。

答:MOV A, #0

MOV DPTR, #1000H

MOVC A, @A+DPTR

MOV DPTR, #3000H

MOVX @DPTR, A

(5)使累加器A的最高位置位。

答:SETB ACC.7

(6)使进位标志位清0

答: CLR C

(7)使ACC.4、ACC.5和ACC.6置1。

答:ORL A, #01110000B。

24.下述程序执行后,(SP)、(A)和(B)分别为多少?

ORG 1000H

MOV SP,#40H

MOV A,#30H

LCALL SUBR

ADD A,#10H

MOV B,A

SJMP $

SUBR:MOV DPTR,#100AH

PUSH DPL

PUSH DPH

RET

答:(SP)=42H、(A)=30H,(B)=30H

相关主题
相关文档
最新文档