四、指令中常用符号说明 Rn 当前寄存器区的8个工作寄存器RO~R7(n≠0~7): R 当前寄存器区可作地址寄存器的2个工作寄存器 R0和R1(i=O,1): direct-一8位内部数据存储器单元的地址及特殊功能 寄存器的地址: #data- 表示8位常数(位即数); #datal6 表示16位常数: add 16- 表示16位地址: addrll-—表示11位地址; rel- 8位带符号的地址偏移量; bit- 表示位地址: @一间接寻址寄存器或基址寄存器的前缀: 表示括号中单元的内容 表示间接寻址的内容;
四、指令中常用符号说明 Rn——当前寄存器区的8个工作寄存器R0~R7(n=0~7); Ri——当前寄存器区可作地址寄存器的2个工作寄存器 R0和R1(i=0,1); direct——8位内部数据存储器单元的地址及特殊功能 寄存器的地址; #data——表示8位常数(立即数); #datal6——表示16位常数; add 16——表示16位地址; addrll——表示11位地址; rel——8位带符号的地址偏移量; bit——表示位地址; @——间接寻址寄存器或基址寄存器的前缀; ( )——表示括号中单元的内容 (( ))——表示间接寻址的内容;
五、MCS- 51指令简介 1.以累加器A为目的操作数的指令 MOV A. data;A←- data MOV A R ;n=0~7, A-(R) MOV A, @R ;i=0,1, A-(R) MOV A, direct A-R)direct为内部RAM或SFR地址 注: 例: MOV A.@Rj ; 以R的内容为地址,把该地址中 MOVR0#30用 的内容送到A中去。A一(R) M0V30H,60日 MOV A,RO ; 将R0的内容送到A去。A-(R) MOVA.@RO MOV A. #20H;(A)=20HA的内容为20H (A)=? MOV A. 20H;(A)=(20H田A的内容为20H中的内容 注意以上两组指令的不同点
五、MCS-51指令简介 1. 以累加器A为目的操作数的指令 MOV A, #data ; A← #data MOV A, Rn ;n=0~7,A←(Rn ) MOV A, @Ri ; i=0,1 ,A← ((Ri )) MOV A, direct ; A←(Rn ) direct为内部RAM或SFR地址 注: MOV A, @Ri ; 以Ri的内容为地址,把该地址中 的内容送到A中去。A←((Ri )) MOV A, R0 ; 将R0的内容送到A去。A←(R0 )) MOV A, #20H ; (A) = 20H A的内容为20H MOV A, 20H ; (A) = (20H) A的内容为20H中的内容 注意以上两组指令的不同点 例: MOV R0, #30H MOV 30H, #60H MOV A, @R0 (A)=?
2.以R为目的操作数的指令 MOV Rn,A Rn←-(A)八n=0~7 MOV Rn,direct /;Rn←-(direct) MOV Rn,#data Rn#data
2. 以Rn为目的操作数的指令 MOV Rn, A ;Rn ← (A) , n=0~7 MOV Rn , direct ;Rn ← (direct) MOV Rn ,#data ;Rn ← #data
3.以直接地址为目的操作数的指令 MOV direct.A direct(A) MOV direct,Rn direct (R) n=0~7 MOV direct, @R direct((Ri)). =0,1 MOV direct. direct direct(direct) MOV direct,#data; direct#data
3. 以直接地址为目的操作数的指令 MOV direct, A ;direct← (A) MOV direct, Rn ; direct← (Rn ) , n=0~7 MOV direct, @Ri ; direct← (( Ri) ) , i=0,1 MOV direct, direct ;direct← (direct) MOV direct, #data ;direct← #data
4.以寄存器间接地址为目的操作数指令 MOV @Ri,A (R))k-A),=0,1 MOV @R;,direct ((Ri))(direct) MOV @R;,data ((Ri))#data
4. 以寄存器间接地址为目的操作数指令 MOV @Ri, A ; ((Ri ) )← (A) ,i=0,1 MOV @Ri , direct ; ((Ri ) )← (direct) MOV @Ri ,#data ; ((Ri ) )← #data