单片微型计算机原理及应用 课后习题答案 山东理工

发布时间 : 星期六 文章单片微型计算机原理及应用 课后习题答案 山东理工更新完毕开始阅读

(3) MOV R0,#0EFH

MOV 40H,,R0 源操作数寄存器寻址 (4) MOV R0,#40H

MOV @R0,#0EFH 目的操作数寄存器间接寻址 7.写出实现下列要求的指令或程序片段。

(1)将内部RAM20H单元内容与累加器A内容相加,结果存放在20H单元中。 (2)将内部RAM30H单元内容与内部RAM31H单元内容相加,结果存放到内部RAM31H单元中。

(3)将内部RAM20H单元内容传送到外部RAM2000H单元中。 (4)使内部RAM20H单元的D7和D3位清零,其他位保持不变。

(5)使内部RAM20H单元的D7和D3位置1,D5位清零,其他位保持不变。 (6)使内部RAM20H单元的D7和D3位置1,D5位取反,其他位保持不变。 (1) (2) (3) (4) 或:

ADD MOV MOV ADD MOV MOV MOV MOVX CLR CLR ANL SETB SETB CLR

A,#20H

20H,A A,30H A,31H 31H,A A,20H

DPTR,#2000H @DPTR,A 03H 07H 20H,#01110111B 03H 07H 05H

(5) 或:

ORL 20H,#10001000B ANL 20H,#11011111B (6) SETB 03H SETB 07H CPL 05H 或:

ORL 20H,#10001000B XRL 20H,#00100000B

8.试用三种方法实现累加器A和寄存器B的内容交换。 (1) MOV R0,A MOV A,B MOV B,R0 (2) PUSH A PUSH B POP A POP B (3) MOV R0,B XCH A,R0 MOV B,R0

9.试分析下列程序段执行后,(A) =?,(30H) =?

MOV

30H,#0A4H

MOV A,#0D6H MOV R0,#30H MOV R2,#5EH ANL A,R2 ORL A,@R0 SWAP A CPL A

XRL A,#0FEH ORL 30H,A

(A)=6EH (30H)=0EFH

10.下述程序执行后,(SP) =?,(A) =?,(B) =?

ORG 2000H MOV SP,#40H MOV A,#30H LCALL SUBR ADD A,#10H MOV B,A L1: SJMP L1 SUBR: MOV DPTR,#200AH PUSH DPL PUSH DPH RET

(SP)= 42H (A)=30H (B)=00H

11.设(R0) = 20H,(R1) = 25H,(20H) = 80H,(21H) = 90H,(22H) = 0A0H,(25H) = 0A0H,(26H) = 6FH,(27H) = 76H。下列程序执行后,结果如何?

CLR C MOV R2,#3 LOOP: MOV A,@R0 ADDC A,@R1 MOV @R0,A INC R0 INC R1

DJNZ R2,LOOP JNC NEXT MOV @R0,#01H SJMP $ NEXT: DEC R0 SJMP $

(R0)=22H,(R1) = 24H,(20H) = 10H,(21H) = 31H,(22H) = 0A1H,(25H) = 0A0H,(26H) = 6FH,(27H) = 76H。

12.设片内RAM(30H) = 0EH,执行下面的程序后,(A)=?,指出该程序完成的功能。

MOV

MOV RL MOV RL RL

R0,#30H A,@R0 A B,A A A

ADD

=8CH

A,B

功能:将30H中的内容*10操作,结果在累加器A中。

第5章 MCS?51系列单片机汇编语言程序设

1.编程将片内RAM 30H~39H单元中的内容送到以3000H为首的存储区中。 MOV R0,#30H MOV DPTR,#3000H MOV R7,#10

L1: MOV A,@R0

MOVX @DPTR,A INC R0 INC DPTR DJNZ R7,L1 RET

2.片内RAM 60H开始存放20个数据,试统计正数、负数及为零的数据个数,并将结果分别存在50H、51H、52H单元中。

MOV 50H,#0 MOV 51H,#0 MOV 52H,#0 MOV R7,#20 MOV R0,#60H MOV A,@R0 JZ L1

JB ACC.7,L2 INC 50H SJMP LEND INC 51H SJMP LEND INC 52H INC R0 DJNZ R7,L3 RET

3.设10次采样值依次放在片内RAM 50H~59H的连续单元中,试编程去掉一个最大值、去掉一个最小值,求其余8个数的平均值,结果存放在60H中。

L1: L2:

MOV MOV MOV INC CLR MOV SUBB MOV JNC XCH INC DJNZ MOV

R0,#50H

A,@R0 R7,#9 R0 C B,A A,@R0 A,B L2 A,@R0 R0 R7,L1 R0,#51H

;最大值

L3: L2: L1: LEND:

;最小值

联系合同范文客服:xxxxx#qq.com(#替换为@)