强化指令9
XCHD A ,@Ri ;间接寻址RAM单元与累加器A低半字节内容交换
强化指令10:交换指令
1,XCH A,Rn
2,XCH A,direct
3,XCH A,@Ri
强化指令11:访问外部RAM指令
1,MOVX A,@Ri
2,MOVX A,@DPTR
3,MOVX @Ri,A
4,MOVX @DPTR,A
强化指令12:乘除法指令
1,MUL AB
2,DIV AB
强化指令13
SWAP A ;累加器A中的内容高低半字节交换
程序阅读填空题12
假定(SP)=53H,(52H)=52H,(53H)=51H,执行下列指令:
POP DPH
POP DPL
后, DPTR的内容为:,SP的内容为:
程序阅读填空题13
假定(A)=85H,(R0)=30H,(30H)=0AFH。执行指令:
ADD A,@R0
后,累加器A的内容为,CY的内容为,AC的内容为,OV
的内容为
程序阅读填空题15
假定 A=83H,(R0)=17H,(17H)=34H,执行以下指令:
ANL A,#17H
ORL 17H,A
XRL A,@R0
CPL A
后,A的内容为
答案:0CBH
程序阅读填空题14
设 SP=60H,片内 RAM的(30H)=24H,(31H)=51H,在下列程序段注释中填写执行结果。
PUSH 30H ;SP= 61H ,(SP)= 24H
PUSH 31H ;SP= 62H ,(SP)= 51H
POP DPL ;SP= 61H ,DPL= 51H
POP DPH ;SP= 60H ,DPH= 24H
MOV A,#00H
MOVX @DPTR,A
最后执行结果是:
程序阅读填空题16
ORG 0000H
LJMP START
ORG 30H
START:
MOV SP,#5FH
MOV A,#0
MOV R2,#8
MOV R0,#20H
LOOP:
MOV @R0,A
INC A
INC R0
DJNZ R2,LOOP
SETB 02H
MOV A,R2
SETB C
ADDC A,20H
MOV P2,A
PUSH ACC
PUSH 22H
END
上述程序执行完毕后,回答下述问题:
(P2)= 05H (Cy)= 0
(R0)= 28H (22H)= 02H
程序阅读填空题17
ORG 0000H
MOV B,#2
MOV R0,#21H
MOV A,#5
DEC A
DIV AB
MOV @R0,A
SETB 08H
MOV DPTR,#2000H
MOV A,@R0
MOVX @DPTR,A
PUSH B
POP DPH
SETB 0AH
MOV A,@R0
SWAP A
INC A
END
上述程序执行完毕后,回答下述问题:
(A)= (Cy)=
(DPTR)= (2000H)= (R0)=
小知识点补充61
1,用一条指令: 可以取代下列 4 条指令:
MOV DPTR,#1234H
PUSH DPL
PUSH DPH
RET
答案:
LJMP 1234H
2,80C51 单片机的片内 RAM低 128单元分哪 3 个主要部分?各部分的主要功能是什么?
答:
80C51单片机的片内 RAM 低 128单元分为:
寄存器区( 00H-1FH),共有四个寄存器组,主要为寄存器访问方式,常用数据存储
位寻址区( 20H-2FH),主要用于位数据存放,也可用于存放字节数据
普通用户 RAM 区(30H-7FH),只用于存放字节数据
程序阅读填空题18
ORG 0000H
MOV SP,#60H
CLR A
MOV R0,#20H
DEC A
MOV @R0,A
INC @R0
MOV DPTR,#1000H
INC 20H
MOV A,@R0
MOV B,#4
INC A
MUL AB
PUSH B
POP DPH
MOVX @DPTR,A
PUSH ACC
POP DPL
MOV A,@R0
MOVX @DPTR,A
END
上述程序执行完毕后,回答下述问题:
(A)= (R0)=
(DPTR)= (1000H)= (SP)=
程序阅读填空题19
ORG 0000H
LJMP START
ORG 0040H
START:
MOV 20H,#22H
MOV 21H,#7FH
MOV 22H,#0E5H
MOV A,#19H
MOV DPTR,#2000H
MOV R0,#20H
XCH A,@R0
INC R0
INC R0
XCHD A,@R0
INC DPTR
MOVX @DPTR,A
INC A
DEC R0
MOV @R0,A
RL A
RL A
END
上述程序执行完毕后,回答下述问题:
(A)= (20H)= (2001H)=
(21H)= (22H)=
程序阅读填空题20
ORG 0000H
MOV R0,#20H
MOV R2,#16
MOV A,#0F9H
ORL A,#02H
MOV @R0,A
MOV A,20H
SWAP A
MOV P1,A
ADD A,R2
MOV DPTR,#3100H
MOVX @DPTR,A
XRL A,#0FH
INC DPTR
MOVX @DPTR,A
DEC DPL
DEC DPH
END
上述程序执行完毕后,回答下述问题:
(20H)= (P1)=
(DPTR)= (3100H)= (3101H)=
强化指令14:循环指令
1,RR A
2,RRC A
3,RL A
4,RLC A
强化指令15
空指令 NOP,主要用于延时
强化指令16:子程序调用指令
1,ACALL addr11
2,LCALL addr16
强化指令17:子程序返回指令
RET:注意此指令影响堆栈中的内容