3)以直接地址为目的地址的指令 MOV directA ; direct←(A) MOV directR direct←(R MOV direct, direct direct (direct) MOV direct aR direct←(R) MOV direct #data ; direct←data 4)以寄存器间接地址为目的的地址的指令 MOV OR, A (R)←(A) MOV OR, direct (R)←( direct) MOV @R, #data (R)<-data 5)16位数据传送指令 MOV DPTR #data16, DPTR data16 DPL←dat1-0 ;DH←da5~8
4)以寄存器间接地址为目的的地址的指令 MOV @Ri,A ;(Ri )←(A) MOV @Ri,direct ;(Ri )←(direct) MOV @Ri,#data ;(Ri )←data 3)以直接地址为目的地址的指令 MOV direct,A ;direct ← (A) MOV direct,Rn ;direct ← (Rn ) MOV direct,direct ;direct ← (direct) MOV direct ,@Ri ;direct ← ((Ri )) MOV direct ,#data ;direct ← data 5)16位数据传送指令 MOV DPTR,#data16 ;DPTR ← data16 ;DPL ← data7~0 ;DPH ← data15~8
Direct(直接寻址) @R;(间接寻址) A(累加器) Ran(寄存器寻址) Data(立即数寻址) 图3-5MOV指令8位数据传送路线示意图
Direct(直接寻址) @R (间接寻址) i A(累加器) R (寄存器寻址) n Data(立即数寻址) 图3-5 MOV指令8位数据传送路线示意图
〔例3-3〕设RAM40H单元的内容为80H,80H单元 内容为47H,P1口的输入状态为0FFH,试判断下列程 序执行结果 MOV Ro, #40H ;Rn←40H MOV A, aRo A←(40H)=80H MOVRA ;R1←80H MOV B, aRI B←(80H)=47H MOV OR P MOV PP (80H)←OFFH ;P,←OFFH 〔解〕执行结果为:(A)=80H,(B)=47H,(R0) =40H,(R1)=80H,(P1)=0FFH,(P2)=0FFH (80H)=0FFH
〔例3-3〕 设RAM 40H单元的内容为80H,80H单元 内容为47H,P1口的输入状态为0FFH,试判断下列程 序执行结果。 MOV R0,#40H MOV A,@R0 MOV R1,A MOV B,@R1 MOV @R1,P1 MOV P2,P1 〔解〕执行结果为:(A)=80H,(B)=47H,(R0) =40H,(R1)=80H,(P1)=0FFH,(P2)=0FFH, (80H)=0FFH。 ; R0 ← 40H ; A ← ( 40H)=80H ; R1 ← 80H ; B ← ( 80H)=47H ;( 80H)← 0FFH ; P2 ← 0FFH
2数据交换指令 1)字节交换指令XCH XCH A,R ;(A)←→→(Rn XCHA, direct;(A)←→( direct XCHA,@R1:(A→((R) 功能:将累加器A中内容与源操作数互换。 例:设(A)=08H,(R)=0DCH,执行指令 XCH A R 结果为:(A=DCH,(R)=08H
1)字节交换指令XCH XCH A,Rn ;(A)←→ (Rn ) XCH A,direct ;(A)←→ (direct) XCH A,@Ri ;(A)←→( (Ri )) 2.数据交换指令 例:设(A)=08H,(R7 )=0DCH, 执行指令 XCH A, R7 结果为:(A)=0DCH, (R7 )=08H 功能:将累加器A中内容与源操作数互换
2)半字节交换XCHD XCHD A,@R1;(A)低4位←→(R)低4位 功能:累加器A中内容与源操作数低4位交换,高4位不变。 例:(A=80H,(R0)=30H,(30H=FH,执行指令 XCHD A, OR 结果为:(A=8FH,(30H)=00H 3)累加器高低数字节交换指令 SWAP A SWAP A ;(A)低4位←→(A)高4位 功能:A中高4位与低4位互换。 例:(A=80H,执行 SWAP A结果为:(A)=08H
例:(A)=80H,(R0 )=30H,(30H)=0FH,执行指令 XCHD A, @R 结果为:(A)=8FH, (30H)=00H 2)半字节交换XCHD XCHD A, @Ri ;(A)低4位←→( (Ri ))低4位 功能:累加器A中内容与源操作数低4位交换,高4位不变。 3)累加器高低数字节交换指令SWAP A SWAP A ;(A)低4位←→ (A)高4位 功能:A中高4位与低4位互换。 例:(A)=80H ,执行SWAP A结果为:(A)=08H