-痒
v1.0
可编辑可修改
1
.程序如下:
MOV
SP
,
#13H
MOV
33H
,
#7FH
MOV
44H
,
#0ABH
PUSH 33H
PUSH
44H
POP 33H
POP 44H
程序执行后,
(
33H
)
=0AB
h
,
(
44H
)
=7Fh
2
.下列各条指令其源操作数的寻址方式是什么各条指令单独执行后,
A
中的结果是什么设
(
60H
)
=35H
,
(
A
)
=19H
,
(
R0
)
=30H
,
(
30H<
/p>
)
=0FH
。
(
1
)
MOV
A
,
#48H
;寻址方式:
(
A
)
=
48H
(
2
)
ADD
A
,
60H
;寻址方式:
(
A
)
=
4DH
(
3
)
ANL
A
,
@R0
;寻址方式:
(
A
)
=
10H
3
.阅读下列程序段,写出每条指令
执行后的结果,并说明此程序段完成什么功能
MOV
R1
,
#30H
;
< br>(
R1
)
=30H
MOV
A
,
#64H
;
(
A
)
= 64H
ADD
A
,
#47H
;
(
A
)
=ABH
p>
,
(
CY
)
= 0
,
(
AC
)
=
0
DA
A
<
/p>
;
(
A
)
=31H
,
(
CY
)
=1
,
(
AC
)
=
MOV
@R1
,
A
;
(
R1
)
= 30H
p>
,
(
30H
)
p>
= 31H
1
v1.0
可编辑可修改
此程序段完成的功能
4
.设
(A)=38H,R0=28H,(28H)
=18H,
执行下列程序后,
(
A
p>
)
=0
ORL
A
,
#27H
ANL
A
,
28H
XCHD
A
,
@R0
CPL A
5
.设
(A)=38H,(20H)=49H,PSW=0
0H,(B)=02H,
填写以下中间结果。
SETB C
ADDC A,
20H (A)= 82H (CY)= 0 (AC)= 1
RLC A (A)=04H (CY)=1
(P)= 1
MUL AB (A)=08H
(B)=00H (OV)=0
6
.已知(
R0
)
p>
=20H,
(20H
)
=10H,
(P0)
=30H,
(R2)
=20H,
执行如下程序段后
(
40H
)
=15H
MOV @R0 , #11H
(20H)=11H
MOV A , R2 A=20H
ADD A , 20H A=40H
MOV PSW , #80H
SUBB A , P0
A=10H
XRL A , #45H
MOV 40H , A
7.
已知
( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H,
执行过程如下:
MOV A , @R0 A=36H
MOV R0 , A
R0=36H
MOV A , @R0
A=34H
ADD A , 21H
A=4BH
A=15H
(
40H
)
=15H
2
v1.0
可编辑可修改
ORL A , #21H
RL A
A=21H
A=42H
R2=42H
MOV R2 , A
RET
则执行结束(
R0
)
< br>=36H (R2)= 42H
8.
设在
3
1H
单元存有#
23H,
执行下面程序
:
MOV A, 31H
A=23H
ANL A,
#0FH
A=03H
MOV 41H, A (41H)=03H
MOV A, 31H A=23H
ANL A, #0F0H
A=20H
SWAP A
A=02H
(42H)=02H
MOV 42H, A
则
(41H)= 03H (42H)=
02H
9
.
(R0)=4BH,(A)=84H,
片内
RAM(4BH)=7FH,(40)=20H
MOV
A,@R0
A=7FH
MOV
@R0,40H
(4BH)=20H
MOV
40H,A
(40H)=7FH;
MOV
R0,#35H
R0=35H
问执行程序后
,R0=35H A= 7FH
4BH= 20H 40H=
7FH
10.
若
PSW=00,
执行下列程序后
,PSW
的
CY,AC,OV,P
各位状态如何
MOV A,#0FBH A=FBH
MOV PSW,#10H
ADD A,#7FH A=7AH CY=1; AC=1;OV=1;
P=1;
3
v1.0
可编辑可修改
11
.程序存储器空间表格如下:
地址
2000H
2001H
2002H
2003H
.
.
.
内容
3FH
06H
5BH
4FH
.
.
.
p>
已知:片内RAM的20H中为01H,执行下列程序后(30H)=
A3H
MOV
A,20H
A=O1H
INC
A
A=02H
MOV
DPTR,#2000H
DPRT=2000H
MOVC
A,@A+DPTR
A=5BH
CPL
A
A=A3H
MOV
30H,A (30H) =A3H
SJMP $$
END
执行程序后
,(30H)=
A3H
12
.分析程序段:
CLR
C
清零
cy
指令
MOV
A,#91H
给
A
立即数
SUBB
A,61H
;
A
寄存器
与地址(
61h
)的值相减
ADD
A,61H
;
A
寄存器
与地址(
61h
)的值相加
DA
A
;
BDC
码调整指令
MOV
62H,A
把累加器
A
的值送给地址寄存器
62h
(
1
)
程序执行何种操作
对
91H
做
BDC
码调整;
<
/p>
(
2
)若已知初值:
(
60H
)
=24H,(61H)
=72H,
则运行后,
(
62H
)
= 91H
。
13
.设(R0)=7EH,DPT
R=10FEH,片内RAM
7
E<
/p>
H和7FH两单元的
内容分别是FFH和38H,请写出下列程序
段的每条指令的执行结果。
INC
@
R0
4
(7E)=00H
INC
R0
R0=7FH
INC
@
R0
(7FH)=39H
INC
DPTR
DPTR=10FFH
INC
DPTR
DPTR=1100H
INC
DPTR
DPTR=1101H
14
.设
R0=20H,R1=25H,
(20H)=80H
,
(21H)=90H
p>
,
(22H)=A0H
,
< br>(25H)=A0H
,
(26H)=6 FH
,
(27H)=76H
,
下列程序执行程序后,结果如何
CLR
C
C=0;
MOV R2,#3
R2=3;
LOOP: MOV A,@R0
A=80H A=90H
ADDC A,@R1
A=20H
MOV @R0,A
(20H)=20H;(21H)=00H; (22H)=16H
INC
R0
R0=21H;
INC
R1
R1=26H
DJNZ
R2,LOOP
JNC
NEXT1
MOV @R0,#01H
(23H)=01H
SJMP
$$
NEXT: DEC R0
SJMP
$$
(
20H
)
=20H
、
(21H)=
00H
、
(22H)=16H
、
(23H)= 01H
、
CY=1
A=16H
、
R0=23H
、
R1=27H
。
15
.
MOV
DPTR,#2000H
(
DPTR
)
= 2000H
MOV A,#80H
(
A
)
=
80H
MOVX @DPTR,A
(
2000H
)
= 80H
5
v1.0
可编辑可修改
v1.0
可编辑可修改
INC
DPTR
(
DPTR
)
= 2001
MOV A,#90H
(
A
)
=
90H
MOVX @DPTR,A
(
2001H
)
= 90H
MOV
DPTR,#2000H
(
DPTR
)
= 2000H
MOVX A,@DPTR
(
A
)
=
80H
MOV B,A
(
B
)
=80
H
INC DPTR
(
DPTR
)
= 2001H
MOVX
A,@DPTR
(
A
)
=
90H
16
< br>.若
(10H)=0FFH,(11H)=00H,(12H)=0FFH,(1
3H)=00H,
写出每一步指令运行结果
MOV A,10H (A)= FFH
,
ANL A,#01H
(A)= 01H
,
MOV
A,11H (A)= 00H
,
ORL A,#01H (A)= 01H
,
MOV A,12H
(A)= FFH
,
XRL A,#01H (A)= FEH
,
MOV A,13H
(A)= 00H
,
XRL A,#0AA (A)= AAH
,
(10H)= FFH
, (11H)= 00H , (12H)= FFH , (13H)= 00H
17.
阅读程序并回答下列问题:
X
DATA
50H
Y
DATA
51H
ORG
00H
JMP
START
ORG
100H
START:
MOV SP,#60H
6