单片机习题和试题库之六 读程序(附参考答案) |
您所在的位置:网站首页 › acall指令例题 › 单片机习题和试题库之六 读程序(附参考答案) |
1.写出下列指令执行的结果 (1). MOV A,#20H MOV R0,#20H MOV @R0,A 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)=_______ 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,在注释区写出分别执行下列指令后果的结果。 (1)MOV R1,A ; (2)MOV R3,#11H ; (3)MOV @R0,#22H ; (4)MOV A, @R0 ; (5)MOV B,33H ; (6)MOV 40H,R0 ; 6.若A=78H,R0=34H,(34H)=DCH,(56H)=ABH,Cy=1,求分别执行下列指令后Y和Cy中的数据。 (1)ADDC A,@R0 ; (2)SUBB A,56H ; (3)DEC @R0 ; (4)INC 56H ; 7.若A=B7H,R0=5EH,(23H)=A1H,Cy=0,将分别执行下列指令的结果写在注释区。 (1)ANL A,R0 ; (2)ORL A,#23H ; (3)XRL 23H,A ; (4)RLC A ; 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 DPTP,#2040H ; MOVX A,@DPTR ; MOVC A,@A+DPTR ; ADD A,20H ; DA A ; SWAP A ; 10.试求下列程序依次运行后有关单元中的内容。 MOV 20H,#A7H ; MOV C,07H ; ORL C,/H ; CPL 00H ; SETB 03H ; MOV A,20H ; RLC A ; MOV 20H,A ; 11.已知:(60H)=23H,(61H)=61H,以下程序段执行后(62H)= 。 CLR C MOV A,#9AH SUBB A,60H ADD A,61H DA A MOV 62H,A 12.已知:(A)=02H,(SP)=40H,(41H)=FFH,(42H)=FFH,以下程序段执行后(A)= .(SP)= .(41H)= .(42H)= . (PC)= 。 POP DPH POP DPL MOV DPTR,#3000H RR A MOV B,A MOVC A,@A+DPTR PUSH ACC MOV A,B INC A MOVC A,@A+DPTR PUSH ACC RET ORG 3000H DB 10H,80H,30H,50H,30H, 50H 13.以下程序段执行后(A)= ,(30H)= 。 MOV 30H,#0A4H MOV A,#0D0H MOV R0,#30H MOV R2,#5EH ANL A,R2 ORL A,@R0 SWAP A CPL A XRL A,#0FEH ORL 30H,A 14.已知(59H)=50H,以下程序段执行后(A)= ,(50H)= , (51H)= ,(R0)= 。 MOV A,59H MOV R0,A MOV A,#00 MOV @R0,A MOV A,#25H MOV 51H,A MOV 52H,#70H 15.完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下每种操作的指令序列。 (1)将R0的内容传送到R1; (2)内部RAM单元60H的内容传送到寄存器R2; (3)外部RAM单元1000H的内容传送到内部RAM单元60H; (4)外部RAM单元1000H的内容传送到寄存器R2; (5)外部RAM单元1000H的内容传送到外部RAM单元2000H。 16.若(R1)=30H,(A)=40H,(30H)=60H,(40H)=08H。试分析执行下列程序段后上述各单元内容的变化。 MOV A,@R1 MOV @R1,40H MOV 40H,A MOV R1,#7FH 17.若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,(20)=0FH,试写出下列各指令独立执行后有关寄存器和存储单元的内容?若该指令影响标志位,试指出CY.AC.和OV的值。 (1)MOV A,@R0 (2)ANL 40H,#0FH (3)ADD A,R4 (4)SWAP A (5)DEC @R1 (6)XCHD A,@R1 18.若(50H)=40H,试写出执行以下程序段后累加器A.寄存器R0及内部RAM的40H.41H.42H单元中的内容各为多少? MOV A,50H MOV R0,A MOV A,#00H MOV @R0,A MOV A,3BH MOV 41H,A MOV 42H,41H MOV A,#10H (A)= MOV B,A (B)= MOV A,B (A)= ADD A,B (A)= MOV 20H,A (20H)= INC A (A)= MOV 21H,A (21H)= INC A (A)= MOV 22H,A (22H)= 19.MOV DPTR,#2000H (DPTR)= MOV A,#80H (A)= MOVX @DPTR,A (2000H)= INC DPTR (DPTR)= MOV A,#90H (A)= MOVX @DPTR,A (2001H)= MOV DPTR,#2000H (DPTR)= MOVX A,@DPTR (A)= MOV B,A (B)= INC DPTR (DPTR)= MOVX A,@DPTR (A)= 20.改正下列指令 MOV @R3,A MOV DPTR,A INC @R3 I DEC DPTR ADDC #30H,A 21.若(10H)=0FFH,(11H)=00H,(12H)=0FFH,(13H)=00H,写出每一步指令运行结果 MOV A,10H (A)= , ANL A,#01H (A)= , MOV A,11H (A)= , ORL A,#01H (A)= , MOV A,12H (A)= , XRL A,#01H (A)= , MOV A,13H (A)= , XRL A,#0AA (A)= , (10H)= , (11H)= , (12H)= , (13H)= 22.MOV 30H,#60H MOV R0,#60H MOV A,30H MOV B,A MOV @R0,B (A)= ,(R0)= ,(B)= , 23.MOV SP,#60H MOV A,#01H (A)= , MOV B,#02H (B)= , PUSH A (SP)= , PUSH B (SP)= , POP A POP B (60H)= , 24.改正下列指令 MOV A,DPTR MOV DPTR,10H MOV DPTR,40H MOVX 40H,#30H ADD 20H,#10H 25.设内部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,问执行下列指令后,各有关存储单元(即R0,R1,A,B,P1,30H,40H及5AH单元)的内容如何?(8分) MOV R0,#30H ;R0=30H MOV A,@R0 ;A=5AH MOV R1,A ;R1=5AH MOV B,R1 ;B=5AH MOV @R1,P1 ;(5AH)=7FH MOV A,P1 ;A=7FH MOV 40H,#20H ;(40H)=20H MOV 30H,40H ;(30H)=20H 26.位地址为M.N.Y,程序如下: MOV C,M ;(M) ➞C ANL C, ;(M) MOV Y,C ;(Y)=(M) MOV C,M ;(M) ➞C ANL C,N ;(M) ORL CY ; MOV Y,C 求程序功能表达式: 27.阅读下列程序并回答问题 CLR C MOV A,#9AH SUBB A,60H ADD A,61H, DA A MOV 62H,A 请问该程序执行何种操作? 28.已知初值:(60H)=23H,(61H)=61H,请问运行程序后:(62H)=( )? (1).程序如下 2506H M5: MOV SP,#58H; 2509H MOV 10H,0FH; 250CH MOV 11H,#0BH; 250FH ACALL XHD; 2511H MOV 20H,11H 2514H M5A: SJMP M5A XHD: PUSH 10H PUSH 11H POP 10H POP 11H RET 问:(1)执行POP10H后堆栈内容? (2)执行M5A:SJMP M5A后,(SP)=? (20H)=? 29.解读下列程序,然后填写有关寄存器内容 (1) MOV R1,#48H MOV 48H,#51H CJNE @R1,#51H,00H JNC NEXT1 MOV A,#0FFH SJMP NEXT2 NEXT: MOV A,#0AAH NEXT2: SJMP NEXT2 累加器 A=( ) (2) MOV A,#0FBH MOV PSW,#10H ADD A,#7FH 若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 MOV A,@R0 ;7FH➞A MOV @R0,40,40H ;20H➞4BH MOV 40H,A ;7FH➞40H MOV R0,#35H 问执行和程序后,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,下列程序执行程序后,结果如何? CLR C MOV R2,#3 LOOP: MOV A,@R0 ADDC A,@R1 MOV @R0,A INC R0 INC R1 DJNZ R2,LOOP JNC NEXT1 MOV @R0,#01H SJMP $ NEXT: DEC R0 SJMP $ (20H)=( ).(21H)= .(22H)= .(23H)= . CY= A= .R0= .R1= 。 33.设片内RAM中(59H)=50H,执行下列程序段 MOV A,59H MOV R0,A MOV @R0,A MOV A,#25H MOV 51H,A MOV 52H,#70H A= ,(50H)= ,(51H)= ,(52H)= . 34. 说明下列各条指令画线部分寻址方式,并用图说明指令实现的操作。 (1) ADD A,30H (2) MOVX A,@DPTR (3) MOVC A,@A+PC (4) ORL 60H,#23H (5) MOV @R1,A 35. 若A=80H,R0=17H,(17H)=34H,执行下列程序后,A=? ANL A,#17H ORL 17H,A XRL A,@R0 CPL A 36. 说明下列程序执行过程中,SP的内容以及堆栈中内容的改变过程。 MOV SP,#20H MOV A,#20H MOV B,#30H PUSH ACC PUSH B POP ACC POP B 37. 读程序,说明该程序完成的功能. (1). JMP: MOV DPTR, #TBJ MOV A, R2 ADD A, R2 JNC NADD INC DPH NADD: JMP @A+DPTR TBJ: AJMP PRG0 AJMP PRG1 ………………. AJMP PRGn (2). ADD: MOV R3, #0 MOV R4, #0 MOV R0, #50H LOOP: MOV A, R4 ADD A, @R0 MOV R4, A INC R0 CLR A ADDC A, R3 MOV R3, A DJNZ R2, LOOP RET 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 A, diret MOV A, #data MOV A, R0 MOV A, @R1
参考答案: 1. (1) A=A0H R0=20H (20H)=20H (2) A=23H DPTR=5614H (3) (A)=77H (B)=50H 2. A=50H R0=50H A=00H (50H)=00H A=25H (51H)=25H (52H)=70H 3. A=C8H 4. (00H)=1 (01H)=1 P1: 01100111 5. (1) R1=11H (2) R3=11H (3) (33H)=22H (4) A=44H (5) B=44H (6) (40H)=33H 6. (1) Y=55H Cy=1 (2) Y=CCH Cy=1 (3) Y=DBH Cy=1 (4) Y=57H Cy=1 7. (1) A=16H (2) A=B7H (3) (23H)=16H (4) A=6EH Cy=1 9. DPTR=2040H A=50H A=96H A=1BH A=81H A=18H 10. (20H)=A7H C=0 C=1H 20H的0位取反 20H的3位置1 A=AEH A=5DH (20H)=5DH 11. (62H)=38H 12. (A)=05H (SP)=40H (41H)=30H (42H)=50H (PC)=4241H 13. (A)=4EH (30H)=7EH 14. (A)=25H (50H)=00H (51H)=25H (52H)=70H 15. (1) MOV A,R0 MOV R1,A (2) MOV R2,60H (3) MOV DPTR,#1000H MOV A,@DPTR MOV 60H,A (4) MOV DPTR,#1000H MOV A,@DPTR MOV R2,A (5) MOV DPTR,#1000H MOVX A,@DPTR MOV DPTR,#2000H MOVX @DPTR,A 16. (R1)=7FH (A)=60H (30H)=08H (40H)=60H 17. (1) (A)=2CH (2) (40H)=0H (3) (A)=22H Cy=1 Ac=1 OV=0 (4) (A)=8EH (5) (20H)=0EH (6) (A)=EFH (20H)=08H 18. (A)=3BH (R0)=40H (40H)=00H (41H)=3BH (42H)=3BH (A)=10H (B)=10H (A)=10H (A)=20H (20H)=20H (A)=21H (21H)=21H (A)=22H (22H)=22H 19. (DPTR)=2000H (A)=80H (2000H)=80H (DPTR)=2001H (A)=90H (2001H)=90H (DPTR)=2000H (A)=80H (B)=80H (DPTR)=2001H (A)=90H 20. MOV R0,A MOV @DPTR,A INC @R0 DEC @DPTR ADDC A,#30H 21. (A)=0FFH (A)=01H (A)=00H (A)=01H (A)=0FFH (A)=0FEH (A)=00H (A)=0AH (10H)=0FFH (11H)=00H (12H)=0FFH (13H)=00H 22. (A)=60H (R0)=60H (B)=60H 23. (A)=01H (B)=02H (SP)=61H (SP)=62H (60H)=01H 24. MOVX A,@DPTR MOVX @DPTR,10H MOVX @DPTR,40H MOV 40H,#30H ADD A,#10H 25. R0=30H R1=5AH A=7FH B=5AH P1=7FH (30H)=20H (40H)=20H (5AH)=7FH 26. Y=MN+M 27. 十进制加法 30. R0=35H A=7FH (4BH)=20H (40H)=7FH 31. (7EH)=00H (R0)=7FH (7FH)=39H DPTR=10FFH DPTR=1100H DPTR=1101H 33. A=25H (50H)=50H (51H)=25H (52H)=70H 34. (1)直接寻址 (2)寄存器间接寻址 (3)寄存器间接寻址 (4)立即寻址 (5)寄存器间接寻址 35. A=CBH 36. A=30H B=20H 37. (1) 实现程序的多分枝转移 (2) 累加 36. A=25H R0=50H (50H)=00H (51H)=25H (52H)=70H 37. A=CBH 38. (1) SETB E0H (2) ANL A,#0FH (3) ANL A,#87H 39. (00H)=1 (01H)=1 P1: 01100111 40. 直接寻址 立即寻址 寄存器寻址 寄存器间接寻址 (注:本答案仅供参考,不对指出请指正) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |