(2)Rn、内部RAM、SFR与累加器A传送数据(今 ◇间接寻址aR是以R的内容作为地址进行寻址,由于Ri 为8位寄存器,所以其寻址范围可为00H~FFH。例如: MOV RI.#82H MOV A, RI 上述指令对STC12C5A60S2单片机而言,其功能是将内 部RAM地址82H单元中内容送到A中。内部80H~FFH 的RAM单元,只能用这种间接寻址方式进行访问。 ◇欲从DPL取数到累加器A,用直接寻址方式: MOVA,82H;执行后A的值是DPL(地址为82H)中的值 也可使用下面指令「特殊功能寄存器(见表3-2) MOV A DPL 只能直接寻址或位寻址 14 19:12:56
(2)Rn、内部RAM、SFR与累加器A传送数据 间接寻址@Ri是以Ri的内容作为地址进行寻址, 由于Ri 为8位寄存器, 所以其寻址范围可为00H~FFH。例如: MOV R1, #82H MOV A, @R1 上述指令对STC12C5A60S2单片机而言, 其功能是将内 部RAM地址82H单元中内容送到A中。内部80H~FFH 的RAM单元, 只能用这种间接寻址方式进行访问。 14 19:12:56 欲从DPL取数到累加器A,用直接寻址方式: MOV A, 82H;执行后A的值是DPL(地址为82H)中的值 也可使用下面指令 MOV A, DPL 特殊功能寄存器(见表3-2) 只能直接寻址或位寻址
1、MOV指令(16条) (3)Rn、SFR和内部数据RAM之间的数据传送。 有5条指令: MOV addr8,adr8;(addr8目)←(addr8源) MOV addr8, @Ri ( addr8)-(Ri) MOV addre Rn ;(addr8)←Rn MOV Ri, addr8 Ri<(addr8) MOV Rn, addr8 Rnt(addr) 例:MOV60H,50H;把50单元内容送到60单元 19:12:56
1、MOV指令(16条) (3)Rn、SFR和内部数据RAM之间的数据传送。 有5条指令: MOV addr8, addr8 ;(addr8目)←(addr8源) MOV addr8, @Ri ;(addr8)←(Ri) MOV addr8, Rn ;(addr8)←Rn MOV @Ri, addr8 ;(Ri)←(addr8) MOV Rn, addr8 ;Rn←(addr8) 15 19:12:56 例: MOV 60H, 50H ; 把50H单元内容送到60H单元
1、MOV指令(16条) ◇例:MOv60H,50H;把50H单元内容送到60H单元 ◇例,若设PSw中标志位RS1,RS0为“01”,则选中第1 组(有四组:0,1,2,3)工作寄存器区(08H-0FFH),此时, “MOV40H2R0”与 机器码:88H40H MOV40H,08H”是等价的。机器码:85H08H40H ◇例如,用立即寻址指令可直接给内部RAM中30H和 Pl口上置数(注:这里书中举例应属于(1) MOV 30H#25H MOV PI. #OCAF 执行后:(30H)=25H,(P1)=0CAH。 619:12:57
1、MOV指令(16条) 例: MOV 60H, 50H ; 把50H单元内容送到60H单元 例, 若设PSW中标志位RS1, RS0为“01” , 则选中第1 组(有四组: 0,1,2,3)工作寄存器区(08H~0FFH), 此时, “MOV 40H, R0” 与 “MOV 40H, 08H” 是等价的。 例如,用立即寻址指令可直接给内部RAM中30H和 P1口上置数(注:这里书中举例应属于(1) ): MOV 30H, #25H MOV P1, #0CAH 执行后:(30H)=25H,(P1)=0CAH。 16 19:12:57 机器码:88H 40H 机器码:85H 08H 40H
1、MOV指令(16条) ◇例,若设PSW中标志位RS1,RS0为“01”,则R0-R7 选中第1组(有四组:0,1,2,3)工作寄存器区(08H-0FFH), 此时, “MOV40H,R0”与 “MOV40H,08H”是等价的。 ◇例如,用立即寻址指令可直接给内部RAM中30H和 Pl口上置数(注:这里书中举例应属于(1): MOV 30H#25H MOV PI. #OCAH 执行后:(30H)=25H,(P1)=0CAH 719:12:57
1、MOV指令(16条) 例, 若设PSW中标志位RS1, RS0为“01” , 则R0~R7 选中第1组(有四组: 0,1,2,3)工作寄存器区(08H~0FFH), 此时, “MOV 40H, R0” 与 “MOV 40H, 08H” 是等价的。 例如,用立即寻址指令可直接给内部RAM中30H和 P1口上置数(注:这里书中举例应属于(1) ): MOV 30H, #25H MOV P1, #0CAH 执行后:(30H)=25H,(P1)=0CAH。 17 19:12:57
1、MOV指令(16条) (4)目标地址传送(1条) ◇功能:把16位常数装入数据指针DPTR。只有 条指令: MOV DPTR. #data16 ◇例如: MOV DPTR,#0150H 表示把16位常数装入数据指针。执行后, DPTR=0150H,其中DPH=01H,DPL=50H 819:12:57
1、MOV指令(16条) (4)目标地址传送(1条) 功能:把16位常数装入数据指针DPTR 。只有 一条指令: MOV DPTR , #data16 例如: MOV DPTR , #0150H 表示把16位常数装入数据指针。执行后, DPTR=0150H,其中DPH=01H,DPL=50H 18 19:12:57