強化指令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:注意此指令影響堆棧中的內容