微机原理及应用 复习题5-阅读程序
第一章基础知识
第二章51单片机结构 第三章指令系统
1.已知:(R0)=4BH,(A)=84H,片内RAM (4BH)=7FH,(40H)=20H,下面程序段执行后,R0,A和4BH,40H单元内容的如何?(本题5分)
MOV A, @R0 MOV @R0, 40H MOV 40H, A MOV R0, #35H
2.写出下面程序执行后的最后结果。(本题5分)
CLR A MOV R0,#20H LOOP:MOVX @R0,A INC R0
CJNE R0,#31H,LOOP SJMP $
3.已知(60H)=23H,(61H)=68H,分析下面程序段,写出程序的功能及执行结果(62H)=?(A)=?(60H)=?(61H)=? (本题5分) CLR C MOV A, 61H ADDC A, 60H DA A MOV 62H,A SJMP $
4.如果初始时(A)= 3FH,(R0)= 4AH执行下面程序段后(A)=? (CY )=? (20H)=? (R0)=?并指出该程序段的功能。(本题5分)
CLR C SUBB A,R0 MOV 20H,A
5.如果初始时(20H)=5EH,(21H)=B3H,执行下面程序段后(A)=? (20H)=? (21H)=?并指出该程序段的功能。(本题5分)
MOV A,20H CPL A ADD A,#01H MOV 20H,A MOV A,21H CPL A ADDC A,#00H MOV 21H,A SJMP $
6.指出下面子程序的功能;设进入下面子程序时(40H)=03H,写出程序运行结果:(A)=?(40H)=?(DPTR)=?(本题5分)
ORG 1000H SUB1:MOV A,40H MOV DPTR, #TAB MOVC A,@A+DPTR MOV 40H,A RET ORG 2000H
TAB:DB 30H,31H,32H,33H,34H DB 35H,36H,37H,38H,39H
7.若(20H)=35H,执行下面程序后(21H)=?(22H)=?(A)=?(R0)=?(R0H)=?并指出该段程序的功能。(本题5分)
MOV R0,#21H MOV A, 20H ANL A, #0FH MOV @R0,A INC R0 MOV A, 20H SWAP A ANL A, #0FH MOV @R0, A
8.若初始时片外RAM单元内容如下,指出下面子程序的功能及程序执行结果。(本题5分)
地址 内容 2000H 0FH 2001H 0EH 2002H 0DH 2003H 0CH 2004H 0BH 2005H 0AH 2006H 09H 2007H 08H 2008H 07H MOV R2,#08H MOV R1, #30H MOV DPTR,#2000H
LOOP: MOVX A,@DPTR
MOV @R1,A
INC DPTR INC R1
DJNZ R2,LOOP RET
9.如果(A)=43,(R5)=78。执行下面指令后(A)=?(R5)=?(CY)=?(本题5分)
ADD A, R5 DA A
10.程序存储器空间表格如下:(本题5分)
地址 内容 2000H 3FH 2001H 06H 2002H 5BH 2003H 4FH 已知:片内RAM的20H中为01H,执行下列程序后(30H)=?(A)=?(DPTR)=?(20H)=?
MOV A, 20H INC A
MOV DPTR,#2000H MOVC A,@A+DPTR CPL A
MOV 30H, A SJMP $
11.分析下面程序段,指出其功能并写出执行该程序段后(A)=?,(30H)=? (本题5分)
MOV A, #3FH ADD A, #40H JZ LOOP1 MOV 30H, A SJMP LOOP2
LOOP1: MOV 30H, #00H LOOP2: SJMP LOOP2
12. 已知(A)=83H,(R0)=17H,(17H)=34H,请指出在执行下列程序段后(A)=?(R0)=?(17H)=?(本题5分) ANL A,#17H ORL 17H,A XRL A,@R0
CPL A
13. 若(R1)=30H,(A)=40H,(30H)=60H,(40H)=08H。试分析执行下列程序段后上述各单元内容的变化。
MOV A,@R1 ;(A)=60H 其余不变 MOV @R1,40H ;(30H)=40H 其余不变 MOV 40H,A MOV R1,#7FH
;(40H) =60H 其余不变 ;(R1)=7FH 其余不变
14、若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,(20H)=0FH,试写出下列各指令独立执行后有关寄
存器和存储单元的内容?若该指令影响标志位,试指出CY、AC、和OV的值。
(1)MOV A,@R0 ; (A)=2CH 其余不变 (2)ANL 40H,#0FH ;(40H)=0CH
(3)ADD A,R4 ;AC=1,OV=0,CY=1,(A)=22H (4)SWAP A ;(A)=8EH (5)DEC @R1 ; (20H)=0EH (6)XCHD A,@R1 ;(A)=EFH,(20H)=08H
15、若(50H)=40H,试写出执行以下程序段后累加器A、寄存器R0及内部RAM的40H、41H、42H单元中的内容各为多少?
MOV A,50H ;(A)=40H MOV R0,A ;(R0)=40H MOV A,#00H ;(A)=00H MOV @R0,A ;(40H)=00H MOV A,#3BH ;(A)=3BH MOV 41H,A ;(41H) =3BH MOV 42H,41H ;(42H)=3BH
16.已知:(30H)= X7X6X5X4X3X2X1X0 B ,(31H)=Y7Y6Y5Y4Y3Y2Y1Y0 B ,请给出下列每条指令执行后注释中的结果。( 7 分)
MOV 32H,30H ; ( 32H ) = ANL 32H,#0FH ; ( 32H ) = MOV A,31H ; ( A ) = SWAP A ;( A ) = RL A ; ( A ) = ANL A,#0F0H ; ( A ) = ORL 32H , A ; ( 32H ) =
17.执行下列程序后,问( A ) = ?、( R0 ) = ?、( R1 ) = ?。( 8 分)
ORG 0000H LJMP MAIN ORG 0030H
MAIN : MOV SP , #50H LCALL SBRUT SJMP $
SBRUT :MOV R0 , #00H MOV R1 , #0AH MOV A , #00H MOV DPTR , #DATA LOOP : MOV A , R0 MOVC A , @A+DPTR CJNE A , #0FFH , LOOP1 SJMP EXIT LOOP1 :INC R0 DJNZ R1 , LOOP EXIT : RET
DATA : DB 00H ,11H ,22H ,33H ,44H DB 55H ,66H ,77H ,88H ,99H END
18. 已知(SP)=60H,(DPTR)=3456H,在执行下列指令后,(SP)=______,内部RAM(61H)=______.
PUSH DPH PUSH DPL
19. 执行下列程序后,(A)=______,(B)=______.
MOV A,#0AH MOV B,#20H MUL AB
20. 请分析下面程序执行后的操作结果,(A)=______,(R0)=______.
MOV A,#60H MOV R0,#40H MOV @R0,A MOV 41H,R0 XCH A,R0
21. 内部RAM从list单元开始存放一单字节正数表,表中之数作无序排列,并以-1作结束标志。编程实现表中找出最小值。
MOV R0,#LIST MOV A,@R0 MOV MIN,A LOOP5:INC R0
MOV A,@R0
CJNE A,#0FFH,LOOP3 RET
LOOP3:CJNE A,MIN,LOOP1 LOOP1:JNC___ LOOP2