第五部分 程序阅读题
1. 设(A)=38H, (20H)=49H, PSW=00H, (B)=02H,填写以下结果。 SETB
C
ADDC A, 20H RLC A MUL
(A)= ______;(CY)= ______;(P)= ______;
(B)= ______;
AB
2. 阅读程序并回答下列问题:
X DATA 50H Y DATA 51H ORG
00H
JMP START ORG
100H
START: MOV SP,#60H
SUB:
MOV X,#10 MOV Y,#10 LCALL SUB NOP INC DEC
X Y
MOV A,Y JZ
SUBRET
LCALL SUB NOP RET
SUBRET:
计算X和Y的值是多少?
(X)= ; (Y)= ;
3. 执行下列程序后,R2,R3的内容是什么?请在要求注释的地方给程序加上注释
MOV R3,#45H MOV MOV ANL
DPTR,#TABL A,R3 A,#0FH
;注释:
;注释:
MOVC A,@A+DPTR MOV MOV ANL SWAP
R2,A A,R3 A,#0F0H A
;注释:
MOVC A,@A+DPTR MOV
R3,A
………………………..
TABL: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H
(R2)= ; (R3)= ; 4. 51单片机振荡频率为12MHz,阅读程序后说明
ORG 0000H LJMP MAIN ORG
001BH
LJMP INTT1 ORG
0040H
INTT1:
MOV TH1, #3CH
MOV TL1, #0B0H DJNZ R7, L2 MOV R7, #20 CPL
P1.2
L2:
RETI
0100H
ORG
MOV SP, #5FH MOV R7, #20
MOV TMOD, ① MOV TH1, #3CH MOV TL1, #0B0H SETB EA
SETB ② SETB TR1 SJMP $
1) 根据程序内容填空:① ;② ; 2) 定时器T1的定时时间是多少? 3) 寄存器R7在程序中的作用是什么? 4) 该程序完成什么功能?
5. 执行下面一段程序;填写运行结果 MOV SP, #60H MOV A, #10H MOV B, #01H PUSH A PUSH B POP A POP B
A , B的(B)= ;
内容是:(A)=
6. 设自变量为X,存放在ARE单元,应变量Y存放在BUF单元。给程序标注注释,说
明该段子程序的功能并写出该程序的函数关系式。(7分) START: MOV DPTR,#ARE
MOVX A,@DPTR JZ SUL
JB ACC.7,NEG MOV A,#02H MOVX @DPTR,A
RET
SUL
NEG: MOV A,#0FEH SJMP
;注释:
SUL: MOV DPTR,#BUF
;注释:
7. 执行下列程序段后,(P1)=_______。 MOV P1,#5DH CPL P1.1 CPL P1.2 CLR P1.6 SETB P1.7
8. 执行下列程序段后,(A)=_______,(CY)=____。 MOV A,#C5H RL A
9.下列程序段执行后,(R0)=_______,(7EH)=____,(7FH)=_______。 MOV R0,#7EH MOV 7EH,#0FFH MOV 7FH,#40H 1NC @R0 1NC R0 1NC @R0
10. 已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALL SUBTRN双字节指令后,(PC)=___,(61H)=_______,(62H)= ____。
11.阅读下列程序,说明其功能。 MOV R0,#data MOV A,@R0 RL A
MOV R1,A RL A RL A
ADD A,R1 MOV @R0,A RET
12.下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A中的结果是什么?设(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。 (1)MOV A,#48H ;寻址方式:
(A)= (2)ADD A,60H ;寻址方式:
(A)= (3)ANL A,@R0 ;寻址方式:
(A)=
13.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能? MOV R1,#30H ;(R1)= MOV A,#64H ;(A)= ADD A,#47H ;(A)= ,(CY)= , (AC)= DA A ;(A)= ,(CY)= , (AC)= MOV @R1,A ;(R1)= ,(30H)=
此程序段完成的功能:
14. 已知(R0)=20H, (20H ) =10H, (P0) =30H, (R2) =20H, 执行如下程序段后( 40H ) = MOV @R0 , #11H MOV A , R2 ADD A , 20H MOV PSW , #80H SUBB A , P0 XRL A , #45H MOV 40H , A
15. 已知 ( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 执行过程如下: MOV A , @R0
MOV R0 , A MOV A , @R0 ADD A , 21H ORL A , #21H RL A MOV R2 , A RET
则执行结束(R0)= (R2)= 16. 执行下面一段程序; MOV SP, #60H MOV A, #10H MOV B, #01H PUSH A PUSH B POP A POP B
A , B的内容是:(A)= (B)= 17. 设在31H单元存有#23H,执行下面程序: MOV A, 31H ANL A, #0FH MOV 41H, A MOV A, 31H ANL A, #0F0H SWAP A
MOV 42H, A
则(41H)= (42H)= 18.程序填空
1)数据块传送,将RAM从30H开始的连续32个单元的内容传递给片内RAM从60H开始的连续32个单元。 ORG 1000H
MOV R7,_____