1、单片机习题和试题库之六单片机习题和试题库之六读程序(附参考答案)1.写出下列指令执行的结果(1).MOV A,#20HMOV R0,#20HMOV R0,AANL A, #0FHORL A, #80HXRL A, R0A=_ ; R0= ; (20H)=_(2).MOV DPTR, #2314HMOV R0, DPHMOV 14H, #22HMOV R1, DPLMOV 23H, #56HMOV A, R0XCH A, DPH执行以上指令后A=_ DPTR=_(3).MOV A,#50HMOV B,#77HPUSH ACCPUSH BPOP ACCPOP B执行完本段指令后(A)=_ (B)=
2、_2.设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A,R0和内部RAM中50H,51H单元的内容为何值?MOVA, 59HMOVR0, AMOVA, #00HMOVR0, AMOVA, #25HMOV51H, AMOV52H, #70H3.已知(A)=83H,(R0)=17H,(17H)=34H。请写出执行完下列程序段后A的内容。ANLA,#17HORL17H, AXRLA, R0CPLA4. 试分析下列程序段,当程序执行后,位地址00H,01H中的内容为何值?P1口的8条I/0线为何状态?CLRCMOVA,#66HJCLOOP1CPLCSETB01HLOOP1:ORL
3、C,ACC.0JBACC.2,LOOP2CLR00HLOOP2:MOVP1,A5.若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、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)=
5、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 CMOV A,9AHSUBB A,60HADD A,61HDA AMOV 62H,A12已知:(A)02H,(SP)4
6、0H,(41H)FFH,(42H)FFH,以下程序段执行后(A) .(SP) .(41H) .(42H) .(PC) 。POP DPHPOP DPLMOV DPTR,3000HRR AMOV B,AMOVC A,ADPTRPUSH ACCMOV A,BINC AMOVC A,ADPTRPUSH ACCRETORG 3000HDB 10H,80H,30H,50H,30H, 50H13以下程序段执行后(A)= ,(30H) 。MOV 30H,0A4HMOV A,0D0HMOV R0,30HMOV R2,5EHANL A,R2ORL A,R0SWAP ACPL AXRL A,0FEHORL 30H,
7、A14已知(59H)50H,以下程序段执行后(A)= ,(50H) ,(51H) ,(R0) 。MOV A,59HMOV R0,AMOV A,00MOV R0,AMOV A,25HMOV 51H,AMOV 52H,70H15.完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下每种操作的指令序列。 (1)将R0的内容传送到R1; (2)内部RAM单元60H的内容传送到寄存器R2; (3)外部RAM单元1000H的内容传送到内部RAM单元60H; (4)外部RAM单元1000H的内容传送到寄存器R2; (5)外部RAM单元1000H的内容传送到外部RAM单元2000H。16.若(R1)
8、=30H,(A)=40H,(30H)=60H,(40H)=08H。试分析执行下列程序段后上述各单元内容的变化。 MOV A,R1 MOV R1,40H MOV 40H,A MOV R1,#7FH17.若(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,R118.若(50H)=40H,试写出执行以
9、下程序段后累加器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,41HMOV 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)=19MOV DPTR,#2000H (DPTR)= MOV A,#80H (A)= MOVX DPTR,A (2000H)= INC
10、 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 IDEC 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)= ,O
11、RL 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)= ,()= ,()= ,23MOV SP,#60H MOV A,#01H(A)= , MOV B,#02H()= , PUSH A()= , PUSH B()= , POP A POP B()= ,24改正下列指令MOV A,DPTRMOV DPTR,10HMO
12、V DPTR,40HMOVX 40H,#30HADD 20H,#10H25.设内部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)=20H26.位地址为M.
13、N.Y,程序如下:MOV, ;() ANL C, ;(M) MOV Y,C ;(Y)=(M)MOV C,M ;(M) C ANL C,N ;(M)ORL CY ;MOV Y,C 求程序功能表达式:27.阅读下列程序并回答问题CLR CMOV 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; 2509MOV 10H,0FH; 250CH MOV 11H,#0BH; 250FH ACAL
14、L XHD; 2511H MOV 20H,11H 2514H M5A: SJMP M5A XHD: PUSH 10H PUSH 11H POP 10H POP 11H RET问:()执行后堆栈内容?()执行:后,()?()?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若,当执
15、行完上述程序段后,将各位状态填入下表:30.(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(4BH)=20H MOV A,R0 ;7FHA MOV R0,40,40H ;20H4BH MOV 40H,A ;7FH40H MOV R0,#35H问执行和程序后,R0.A和4BH.40H单元内容的变化如何?31.设(),片内和两单元的内容分别是和,请写出下列程序段的每条指令的执行结果。32.设R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,(26H)=6 FH,(27H)=76H,下列程序执行程序后,结果如何? CLR C
16、 MOV R2,#3LOOP: 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.设片内中(),执行下列程序段, ,() ,() ,() 34. 说明下列各条指令画线部分寻址方式,并用图说明指令实现的操作。(1) ADD A,30H(2) MOVX A,DPTR(3) MOVC A,A+PC(4) ORL 60H,#23H(5) M
17、OV R1,A35. 若A=80H,R0=17H,(17H)=34H,执行下列程序后,A=?ANL A,#17HORL 17H,AXRL A,R0CPL A36. 说明下列程序执行过程中,SP的内容以及堆栈中内容的改变过程。MOV SP,#20HMOV A,#20HMOV B,#30HPUSH ACCPUSH BPOP ACCPOP B37. 读程序,说明该程序完成的功能.(1). JMP: MOV DPTR, #TBJ MOV A, R2 ADD A, R2 JNC NADD INC DPHNADD: JMP A+DPTRTBJ: 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 RET36.设内部RAM中59H单元的内容为50H,写出当执行下列程序
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1