指令名称:位条件转移清0指令 指令代码:10H
指令功能:对指定位的状态进行测试。若为1,则把该位清0并进行转移;否则程序顺序执行。 操作内容:若(bit)=1,则PC←(PC)+3+rel,bit←0 若(bit)≠1,则PC←(PC)+3 字节数: 3 机器周期:2 3、JC rel
指令名称:累加位条件转移指令 指令代码:40H
指令功能:根据累加位(C)的状态决定程序是否转移,若为1则转移,否则顺序执行。 操作内容:若(C)=1,则PC←(PC)+2+rel 若(C)≠1,则PC←(PC)+2 字节数: 2 机器周期:2 4、JMP @A+DPTR
指令名称:无条件间接转移指令 指令代码:72H
指令功能:A内容与DPTR内容相加作为转移目的地址,进行程序转移。 操作内容:PC←(A)+(DPTR) 字节数: 1 机器周期;2 5、JNB bit,rel
指令名称:位条件转移指令 指令代码:30H
指令功能:根据指定位的状态,决定程序是否转移。若为0则转移;否则顺序执行。 操作内容:若(bit)=0,则PC←(PC)+3+rel 若(bit)≠0,则PC←(PC)+3 字节数: 3 机器周期:2 6、JNC rel
指令名称:累加位条件转移指令 指令代码:50H
指令功能:根据累加位(C)的状态决定程序是否转移。若为o则转移;否则顺序执行。 操作内容:若(C)=0,则PC←(PC)+2+rel 若(C)≠0,则PC←(PC)+2 字节数: 2 机器周期:2 7、JNZ rel
指令名称:判0转移指令 指令代码:70H
指令功能:累加位(A)的内容不为0,则程序转移;否则程序顺序执行。 操作内容:若(A)≠0,则PC←(PC)+2+rel 若(A)=0,则PC←(PC)+2
字节数: 2 机器周期:2 8、JZ rel
指令名称:判0转移指令 指令代码:60H
指令功能:累加位(A)的内容为o,则程序转移;否则程序顺序执行。 操作内容:若(A)=0,则PC←(PC)+2+rel 若(A)≠0,则PC←(PC)+2 字节数: 2 机器周期:2
MCS-51系列单片机指令以L开头的指令就2条,分别为: LCALL addr16 LJMP addrl6 1、LCALL addr16 指令名称:长调用指令 指令代码:12H
指令功能:按指令给定地址进行子程序调用 操作内容:PC←(PC)+3 SP←(SP)+1 (SP)←(PC)7~0 SP←(SP)+1 (SP)←(PC)15~8 PC←addrl6 字节数: 3 机器周期:2
使用说明:在64KB的范围内调用子程序 2、LJMP addrl6 指令名称:长转移指令 指令代码:02H
指令功能:使程序按指定地址进行无条件转移 操作内容:PC←addrl6 字节数: 3 机器周期:2
MCS-51系列单片机指令以M开头的指令有24条,分别为:
MOV A,Rn MOV A,direct MOV A,@Ri MOV A,#data MOV Rn,A MOV Rn,direct MOV Rn,#data MOV direct,A MOV direct,Rn MOV direct2,direct1 MOV direct, @Ri MOV direct,#data MOV @Ri,A MOV @Ri,direct MOV @Ri,data MOV C,bit MOV bit,C MOV DPTR,#datal6 MOVC A,@A+DPTR MOVC A,@A+PC MOVX A,@Ri MOVX A,@DPTR MOVX @Ri,A MOVX @DPTR,A MUL AB 1、MOV A,Rn
指令名称:寄存器数据传送指令 指令代码:E8H~EFH
指令功能:寄存器内容送累加器
操作内容:A←(Rn), n=0~7 字节数: 1 机器周期:1 2、MOV A,direct
指令名称:直接寻址数据传送指令 指令代码:E5H
指令功能:内部RAM低126单元或专用寄存器内容送累加器 操作内容:A←(direct) 字节数: 2 机器周期:1 3、MOV A,@Ri
指令名称:间接寻址数据传送指令 指令代码:E6H~E7H
指令功能:内部RAM低128单元内容送累加器 操作内容:A←((Ri)), i=0,1 字节数: 1 机器周期:1 4、MOV A,#data
指令名称:立即数据传送指令 指令代码:74H
指令功能:立即数送累加器 操作内容:A←data 字节数: 2 机器周期:1 5、 MOV Rn,A
指令名称:累加器数据传送指令 指令代码:F8H~FFH
指令功能:累加器内容送寄存器 操作内容:Rn←(A) 字节数: 1 机器周期:1 6、MOV Rn,direct
指令名称:直接寻址数据传送指令 指令代码:A8H~AFH
指令功能:内部RAM低128单元或专用寄存器内容送累加器 操作内容:Rn←(direct),n=0~7 字节数: 2 机器周期:2 7、MOV Rn,#data
指令名称:立即数据传送指令 指令代码:78H~7FH 指令功能:立即数送寄存器 操作内容:Rn←data,n=0~7 字节数: 2
机器周期:1 8、MOV direct,A
指令名称:累加器数据传送指令 指令代码:F5H
指令功能:累加器内容送内部RAM低128单元或专用寄存器 操作内容:direct←(A) 字节数: 2 机器周期:1 9、MOV direct,Rn
指令名称:寄存器数据传送指令 指令代码:88H~8FH
指令功能:寄存器内容送内部RAM低128单元或专用寄存器 操作内容:direct←(Rn), n=0~7 字节数: 2 机器周期:2
10、MOV direct2,direct1 指令名称:直接寻址数据传送指令 指令代码:85H
指令功能:内部RAM低123单元或专用寄存器之间的相互传送 操作内容:direct2←(direct1) 字节数: 3 机器周期:2
11、MOV direct, @Ri
指令名称:间接寻址数据传送指令 指令代码:86H~87H
指令功能:内部RAM低128单元内容送内部RAM低128单元或专用寄存器 操作内容:direct←((Ri)),i=0,1 字节数: 2 机器周期:2
12、MOV direct,#data 指令名称:立即数传送指令 指令代码:75H
指令功能:立即数送内部RAM低128单元或专用寄存器 操作内容:direct←data 字节数: 3 机器周期:2 13、MOV @Ri,A
指令名称:累加器数据传送指令 指令代码:F6H~F7H
指令功能:累加器内容送内部RAM低128单元 操作内容:(Ri)←(A),i=0,1 字节数: 1 机器周期:1
14、MOV @Ri,direct