MCS-51系列单片机具有十分丰富的指令系统,使用了42种操作码助记符来描述,共有33种操作功能。其中有的操作可以有多种寻址方式,这样就构成了111条指令。其分类如下。
按功能分类:数据传送指令29条,算术运算指令24条,逻辑运算指令24条,控制转移指令17条,位操作指令17条。
按指令字长分类:单字节指令49条,双字节指令46条,三字节指令16条。
按执行时间分类:单机器周期指令64条,双机器周期指令45条,四机器周期指令2条。
在分类介绍指令之前,先把描述指令的一些符号意义作一简单的介绍。
Rn:当前选中的寄存器区的8个工作寄存器R0~R7。
Ri:当前选中的寄存器区中可作间接寻址的两个工作寄存器R0、R1。
direct:8位内部数据存储器单元的地址,可以是内部RAM单元的地址及SFR的地址。
#data:8位立即数,立即数前面必须加“#”。
#data 16:16位立即数。
addr16:16位目的地址,用于LCALL和LJMP指令中,范围是64 KB程序存储器空间。
addr11:11位目的地址,用于ACALL和AJMP指令中,目的地址必须与下一条指令的第一字节在同一个2 KB程序存储器地址空间。
rel:8位带符号偏移量,用于SJMP和所有条件转移指令。(www.xing528.com)
DPTR:数据指针,可用作16位地址寄存器。
bit:内部RAM或SFR中的直接寻址位。
A:累加器。
B:特殊功能寄存器,用于MUL和DIV指令。
CY:进位标志或进位位,是布尔处理机中的运算器。
@:间接寄存器或基址寄存器的前缀,如@RI。
/:位操作数的前缀标志,在位操作指令中表示对该位操作数先求反再参与操作,但不影响该位操作数原值,如/bit。
(×):×中的内容。
((×)):×中内容作为地址单元中的内容。
←:箭头左边的内容被箭头右边的内容所代替。
↔:数据交换。
$:当前指令的起始地址。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。