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. 直接寻址 立即寻址 寄存器寻址 寄存器间接寻址
(注:本答案仅供参考,不对指出请指正)