(5)十六位数据传送指令 MOV DPTR, #data16 ;DPH← datah,DPL← dataL 唯一的16位立即数传送指令
(5)十六位数据传送指令: MOV DPTR, #data16 ;DPH←dataH, DPL←dataL 唯一的16位立即数传送指令
例3-1:设内部RAM(30H)=40H,(40H)=10H, (10H)=00H,(P1)=0CAH,分析以下程序执行后,各单 元及寄存器、P2口的内容 Mov RO, #30H R0←30H MOV A, RO ;A←((R0)) MOV R1,A R1←(A) MOV B RI B←((R1)) MOV aRl, PI (R1)←(P1) MOV P2, P1 ;P2←(P1) MOV 10H,#20H 10H←20H 结果:(R0)=30H;(R1)=(A)=40H;(B)=10H ;(40H)=(P1)=(P2)=0CAH;(10H)=20H
例 3 - 1: 设内部 RAM (30H)=40H,(40H)=10H, (10H)=00H,(P1)=0CAH,分析以下程序执行后,各单 元及寄存器、P2口的内容。 MOV R0,#30H ;R0←30H MOV A,@R0 ;A←((R0)) MOV R1,A ;R1←(A) MOV B,@R1 ;B←((R1)) MOV @R1,P1 ;(R1)←(P1) MOV P2,P1 ;P2←(P1) MOV 10H,#20H ;10H←20H 结 果:( R0)=30H;(R1)=(A)=40H;(B)=10H ;(40H)=(P1)=(P2)=0CAH;(10H)=20H
(2)累加器A与外部RAM之间数据传送指令(4条) 寻址方式:寄存器间接寻址方式,使用DPTR、R作间址寄存 器 (1)使用DPTR进行间接寻址 MOVX A, aDPTR ;A←-((DPTR) MOVX aDPTR, A ;(DPTR)←(A) 指令的寻址范围:64KB (2)使用R进行间接寻址 MOVX A,Ri ;A←((Ri)) MOVX @Ri, (Ri)←(A) i=0或 指令的寻址范围:只限于外部RAM的低256单元
(2)累加器A与外部RAM之间数据传送指令(4条) 寻址方式:寄存器间接寻址方式,使用DPTR、Ri作间址寄存 器。 (1) 使用DPTR进行间接寻址 MOVX A,@DPTR ;A←((DPTR)) MOVX @DPTR,A ;(DPTR)←(A) 指令的寻址范围:64KB。 (2) 使用Ri进行间接寻址 MOVX A,@Ri ;A←((Ri)) MOVX @Ri,A ;(Ri)←(A) i=0或1。 指令的寻址范围:只限于外部RAM的低256单元
例3-2:设外部RAM(2023H)=0FH,执行以下指令: MOV DPTR, #2023H DPTR<-2023H MOVX A,@ DPTR ;A←-((DPTR)) MOV 30H,A ;30H←(A) MOV A,#00H ;A<-00H MOVX a DPTR, A ;(DPTR)←(A) 结果:(DPTR)=2023H,(30H)=0FH,(A)=00H, (2023H)=00H
例3-2:设外部RAM (2023H)=0FH,执行以下指令: MOV DPTR,#2023H ;DPTR←2023H MOVX A,@ DPTR ;A←((DPTR)) MOV 30H,A ;30H←(A) MOV A,#00H ;A←00H MOVX @ DPTR,A ;(DPTR)←(A) 结果:(DPTR)=2023H,(30H)=0FH,(A)=00H, (2023H)=00H
对外部RAM数据传送指令作如下说明: ①外部数据存储器数据传送指令就是外部RAM的读写 指令。(RD*、WR*) ②外部RAM数据传送指令与内部RAM数据传送指令的 助记符不同。 内部RAM:MOV, 外部RAM:MoX。增加的“X”表示外部之意 ③外部RAM传送,只能通过累加器A进行
对外部RAM数据传送指令作如下说明: ① 外部数据存储器数据传送指令就是外部RAM的读写 指令。(RD*、WR*) ② 外部RAM数据传送指令与内部RAM数据传送指令的 助记符不同。 内部RAM:MOV, 外部RAM:MOVX。 增加的“X”表示外部之意 。 ③ 外部RAM传送,只能通过累加器A进行