单片机指令(二)
(3)以直接地址为目的操作数的指令
MOV direct,A 例: MOV 20H,A
MOV direct,Rn MOV 20H,R1
MOV direct1,direct2 MOV 20H,30H
MOV direct,@Ri MOV 20H,@R1
MOV direct,#data MOV 20H,#34H
(4)以间接地址为目的操作数的指令
MOV @Ri,A 例:MOV @R0,A
MOV @Ri,direct MOV @R1,20H
MOV @Ri,#data MOV @R0,#34H
(5)十六位数的传递指令
MOV DPTR,#data16
8051是一种8位机,这是**的一条16位立即数传递指令,其功能是将一个16位的立即数送入DPTR中去。其中高8位送入DPH,低8位送入DPL。例:MOV DPTR,#1234H,则执行完了之后DPH中的值为12H,DPL中的值为34H。反之,如果我们分别向DPH,DPL送数,则结果也一样。如有下面两条指令:MOV DPH,#35H,MOV DPL,#12H。则就相当于执行了MOV DPTR,#3512H。
综合练习:
MOV 23H,#30H MOV 12H,#34H MOV R0,#23H MOV R7,#22H MOV R1,12H MOV A,@R0 MOV 34H,@R1 |
(23h)=30h (12h)=34h (R0)=23H (R7)=22H (R1)=12H (A)=30H (34H)=34H |
MOV 45H,34H MOV DPTR,#6712H MOV 12H,DPH MOV R0,DPL MOV A,@R0 |
(45H)=34H (DPTR)=6712H (12H)=67H (R0)=12H (A)=67H |
说明:用括号括起来代表内容,如(23H)则代表内部RAM23H单元中的值,(A)则代表累加器A单元中的值。
此次大家就用用熟这个软件吧,说实话,我并不很喜欢它,操作起来不方便,但给我的机器只能上这个,没办法,下次再给网友单独介绍一个好一点的吧。