单片机习题和试题库之六 读程序(附参考答案)
(2009-06-08 22:49:47)
标签:
单片机习题教育 |
分类: 单片机 |
1.写出下列指令执行的结果
(1).
MOV A,#20H
MOV R0,#20H
MOV @R0,A
ANL
ORL
XRL
A=__________
;
(2).
MOV
MOV
MOV
MOV
MOV
MOV
XCH
执行以上指令后A=____________ DPTR=__________
(3).
MOV
MOV
PUSH
PUSH
POP
POP
执行完本段指令后(A)=_________ (B)=_______
2.设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A,R0和内部RAM中50H,51H单元的内容为何值?
MOVA, 59H
MOVR0, A
MOVA, #00H
MOV@R0, A
MOVA, #25H
MOV51H, A
MOV52H, #70H
3.已知(A)=83H,(R0)=17H,(17H)=34H。请写出执行完下列程序段后A的内容。
ANLA,#17H
ORL17H, A
XRLA, @R0
CPLA
4. 试分析下列程序段,当程序执行后,位地址00H,01H中的内容为何值?P1口的8条I/0线为何状态?
CLRC
MOVA,#66H
JCLOOP1
CPLC
SETB01H
LOOP1:ORLC,ACC.0
JBACC.2,LOOP2
CLR00H
LOOP2:MOVP1,A
5.若A=11H,R0=33H,B=55H,(11H)=22H,(22H)=66H,(33H)=44H,在注释区写出分别执行下列指令后果的结果。
6.若A=78H,R0=34H,(34H)=DCH,(56H)=ABH,Cy=1,求分别执行下列指令后Y和Cy中的数据。
7.若A=B7H,R0=5EH,(23H)=A1H,Cy=0,将分别执行下列指令的结果写在注释区。
(1)ANL
(2)ORL
(3)XRL
(4)RLC
8.分别用一条指令实现下列功能。
(1)若进位位不为0,则转PROM1程序段执行。
(2)使PC=2000H。
(3)若A中的数据不等于100,则程序转至PROM3。
(4)若A中数据等于0,则程序转至PROM4。
(5)将R5中数据减1,若R5中数据不等于0,则程序转至PROM5。
(6)子程序返回。
9.已知外RAM(2040H)=50H,ROM(2090H)=96H,内RAM(20H)=85H,试求下列程序依次运行后有关单元中的内容。
MOV
MOVX
MOVC
ADD
DA
SWAP
10.试求下列程序依次运行后有关单元中的内容。
MOV
MOV
ORL
CPL
SETB
MOV
RLC
MOV
11.已知:(60H)=23H,(61H)=61H,以下程序段执行后(62H)=
CLR
MOV
SUBB
ADD
DA
MOV
12.已知:(A)=02H,(SP)=40H,(41H)=FFH,(42H)=FFH,以下程序段执行后(A)=
(PC)=
POP
POP
MOV
RR
MOV
MOVC
PUSH
MOV
INC
MOVC
PUSH
RET
ORG
DB
13.以下程序段执行后(A)=
MOV
MOV
MOV
MOV
ANL
ORL
SWAP
CPL
XRL
ORL
14.已知(59H)=50H,以下程序段执行后(A)=
(51H)=
MOV
MOV
MOV
MOV
MOV
MOV
MOV
15.完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下每种操作的指令序列。
16.若(R1)=30H,(A)=40H,(30H)=60H,(40H)=08H。试分析执行下列程序段后上述各单元内容的变化。
17.若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,(20)=0FH,试写出下列各指令独立执行后有关寄存器和存储单元的内容?若该指令影响标志位,试指出CY.AC.和OV的值。
18.若(50H)=40H,试写出执行以下程序段后累加器A.寄存器R0及内部RAM的40H.41H.42H单元中的内容各为多少?
MOV
MOV
MOV
ADD
MOV
INC
MOV
INC
MOV
19.MOV
20.改正下列指令
MOV
MOV
INC
DEC
ADDC
21.若(10H)=0FFH,(11H)=00H,(12H)=0FFH,(13H)=00H,写出每一步指令运行结果
MOV
ANL
MOV
ORL
MOV
XRL
MOV
XRL
(10H)=
22.MOV
23.MOV
24.改正下列指令
MOV
MOV
MOV
MOVX
ADD
25.设内部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,问执行下列指令后,各有关存储单元(即R0,R1,A,B,P1,30H,40H及5AH单元)的内容如何?(8分)
26.位地址为M.N.Y,程序如下:
MOV C,M ;(M) ➞C
ANL
MOV
ORL
MOV
求程序功能表达式:
27.阅读下列程序并回答问题
CLR
MOV
请问该程序执行何种操作?
28.已知初值:(60H)=23H,(61H)=61H,请问运行程序后:(62H)=(
(1).程序如下
2506H
问:(1)执行POP10H后堆栈内容?
(2)执行M5A:SJMP M5A后,(SP)=? (20H)=?
29.解读下列程序,然后填写有关寄存器内容
(1)
(2)
若PSW=00,当执行完上述程序段后,将PSW各位状态填入下表:
PSW
CY |
AC |
F0 |
RS1 |
RS0 |
OV |
F1 |
P |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
30.(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(4BH)=20H
问执行和程序后,R0.A和4BH.40H单元内容的变化如何?
31.设(R0)=7EH,DPTR=10FEH,片内RAM 7FH和7FH两单元的内容分别是FFH和38H,请写出下列程序段的每条指令的执行结果。
INC @R0
INC R0
INC @R0
INC DPTR
INC DPTR
INC DPTR
32.设R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,
(26H)=6 FH,(27H)=76H,下列程序执行程序后,结果如何?
LOOP:
NEXT:
(20H)=(
A=
33.设片内RAM中(59H)=50H,执行下列程序段
MOV A,59H
MOV R0,A
MOV @R0,A
MOV A,#25H
MOV 51H,A
MOV 52H,#70H
A=
34.
(1)
(2)
(3)
(4)
(5)
35.
ANL
ORL
XRL
CPL
36.
MOV
MOV
MOV
PUSH
PUSH
POP
POP
37.
(1).
NADD:
TBJ:
(2).
36.设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A,R0和内部RAM中50H,51H单元的内容为何值?
MOVA, 59H
MOVR0, A
MOVA, #00H
MOV@R0, A
MOVA, #25H
MOV51H, A
MOV52H, #70H
37.已知(A)=83H,(R0)=17H,(17H)=34H。请写出执行完下列程序段后A的内容。
ANLA,#17H
ORL17H, A
XRLA, @R0
CPLA
38.使用位操作指令实现下列逻辑操作,要求不得改变未涉及位的内容。
(1)使ACC.0置1;
(2)清除累加器高4位;
(3)清除ACC.3,ACC.4, ACC.5, ACC.6。
39.试分析下列程序段,当程序执行后,位地址00H,01H中的内容为何值?P1口的8条I/0线为何状态?
CLRC
MOVA,#66H
JCLOOP1
CPLC
SETB01H
LOOP1:ORLC,ACC.0
JBACC.2,LOOP2
CLR00H
LOOP2:MOVP1,
40.指出下列指令各是什么寻址方式?
MOV
MOV
MOV
MOV
参考答案:
1.
2. A=50H
3. A=C8H
4. (00H)=1
5. (1) R1=11H
6. (1) Y=55H
7. (1) A=16H
9.
10.
11. (62H)=38H
12. (A)=05H
13. (A)=4EH
14. (A)=25H
15. (1) MOV A,R0
16. (R1)=7FH
17. (1) (A)=2CH
18. (A)=3BH
19.
20.
21.
22.
23.
24.
25.
26.
27.
30.
31.
33.
34.
35.
36.
37.
36.
37.
38.
39.
40.
(注:本答案仅供参考,不对指出请指正)