51汇编指令集

来源:百度文库 编辑:神马文学网 时间:2024/04/29 06:01:01
标签:51汇编 51汇编指令集   其实51汇编的指令就这么简单!!!
(1)数据传送类指令(7种助记符)
MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;
MOVC(Move Code)读取程序存储器数据表格的数据传送;
MOVX (Move External RAM) 对外部RAM的数据传送;
XCH (Exchange) 字节交换;
XCHD (Exchange low-order Digit) 低半字节交换;
PUSH (Push onto Stack) 入栈;
POP  (Pop from Stack) 出栈;

(2)算术运算类指令(8种助记符)
ADD(Addition) 加法;
ADDC(Add with Carry) 带进位加法;
SUBB(Subtract with Borrow) 带借位减法;
DA(Decimal Adjust) 十进制调整;
INC(Increment) 加1;
DEC(Decrement) 减1;
MUL(Multiplication、Multiply) 乘法;
DIV(Division、Divide) 除法;

(3)逻辑运算类指令(10种助记符)
ANL(AND Logic) 逻辑与;
ORL(OR Logic) 逻辑或;
XRL(Exclusive-OR Logic) 逻辑异或;
CLR(Clear) 清零;
CPL(Complement) 取反;
RL(Rotate left) 循环左移;
RLC(Rotate Left throught the Carry flag) 带进位循环左移;
RR(Rotate Right) 循环右移;
RRC (Rotate Right throught the Carry flag) 带进位循环右移;
SWAP (Swap) 低4位与高4位交换;

(4)控制转移类指令(17种助记符)
ACALL(Absolute subroutine Call)子程序绝对调用;
LCALL(Long subroutine Call)子程序长调用;
RET(Return from subroutine)子程序返回;
RETI(Return from Interruption)中断返回;
SJMP(Short Jump)短转移;
AJMP(Absolute Jump)绝对转移;
LJMP(Long Jump)长转移;
CJNE (Compare Jump if Not Equal)比较不相等则转移;
DJNZ (Decrement Jump if Not Zero)减1后不为0则转移;
JZ (Jump if Zero)结果为0则转移;
JNZ (Jump if Not Zero) 结果不为0则转移;
JC (Jump if the Carry flag is set)有进位则转移;
JNC (Jump if Not Carry)无进位则转移;
JB (Jump if the Bit is set)位为1则转移;
JNB (Jump if the Bit is Not set) 位为0则转移;
JBC(Jump if the Bit is set and Clear the bit) 位为1则转移,并清除该位;
NOP (No Operation) 空操作;

(5)位操作指令(1种助记符)
SETB(Set Bit) 位 置1 。