51单片机常用汇编语言助记符英文全称
(1)数据传送类指令(7种助记符)
MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;
MOVC(MoveCode)读取程序存储器数据表格的数据传送;
MOVX(MoveExternalRAM)对外部RAM的数据传送;
XCH(Exchange)字节交换;
XCHD(Exchangelow-orderDigit)低半字节交换;
PUSH(PushontoStack)入栈;
POP(PopfromStack)出栈;
(2)算术运算类指令(8种助记符)
ADD(Addition)加法;
ADDC(AddwithCarry)带进位加法;
SUBB(SubtractwithBorrow)带借位减法;
DA(DecimalAdjust)十进制调整;
INC(Increment)加1;DEC(Decrement)减1;
MUL(Multiplication、Multiply)乘法;
DIV(Division、Divide)除法;
(3)逻辑运算类指令(10种助记符)
ANL(ANDLogic)逻辑与;
XRL(Exclusive-ORLogic)逻辑异或;
CLR(Clear)清零;CPL(Complement)取反;
RL(Rotateleft)循环左移;
RLC(RotateLeftthroughttheCarryflag)带进位循环左移;
RR(RotateRight)循环右移;
RRC(RotateRightthroughttheCarryflag)带进位循环右移;
SWAP(Swap)低4位与高4位交换;
(4)控制转移类指令(17种助记符)
ACALL(AbsolutesubroutineCall)子程序绝对调用;
LCALL(LongsubroutineCall)子程序长调用;
RET(Returnfromsubroutine)子程序返回;
RETI(ReturnfromInterruption)中断返回;
SJMP(ShortJump)短转移;LJMP长转移;
AJMP(AbsoluteJump)绝对转移;
CJNE(CompareJumpifNotEqual)比较不相等则转移;
DJNZ(DecrementJumpifNotZero)减1后不为0则转移;
JZ(JumpifZero)结果为0则转移;
JNZ(JumpifNotZero)结果不为0则转移;
JC(JumpiftheCarryflagisset)有进位则转移;
JNC(JumpifNotCarry)无进位则转移;
JB(JumpiftheBitisset)位为1则转移;
JNB(JumpiftheBitisNotset)位为0则转移;
(3)JBC(JumpiftheBitissetandClearthebit)位为1则转移,并清除该位;
NOP(NoOperation)空操作;
(5)位操作指令(1种助记符)
SETB(SetBit)位置1。
1.通用数据传送指令.
MOV---->move
MOVSX---->extendedmovewithsigndata
MOVZX---->extendedmovewithzerodata
PUSH---->pushPOP---->pop
PUSHA---->pushall
POPA---->popall
PUSHAD---->pushalldata
POPAD---->popalldata
BSWAP---->byteswap
XCHG---->exchange
CMPXCHG---->compareandchange
XADD---->exchangeandadd
XLAT---->translate
2.输入输出端口传送指令.
IN---->input
OUT---->output
3.目的地址传送指令.
LEA---->loadeffectiveaddress
LDS---->loadDS
LES---->loadES
LFS---->loadFS
LGS---->loadGS
LSS---->loadSS
4.标志传送指令.
LAHF---->loadAHfromflag
SAHF---->saveAHtoflag
PUSHF---->pushflagPOPF---->popflag
PUSHD---->pushdflagPOPD---->popdflag二、算术运算指令
ADD---->add
ADC---->addwithcarry
INC---->increase1
AAA---->asciiaddwithadjust
DAA---->decimaladdwithadjust
SUB---->substract
SBB---->substractwithborrow
DEC---->decrease1
NEC---->negative
CMP---->compare
AAS---->asciiadjustonsubstract
DAS---->decimaladjustonsubstract
MUL---->multiplication
IMUL---->integermultiplication
AAM---->asciiadjustonmultiplication
DIV---->divide
IDIV---->integerdivide
AAD---->asciiadjustondivide
CBW---->changebytetoword
CWD---->changewordtodoubleword
CWDE---->changewordtodoublewordwithsigntoEAX
CDQ---->changedoublewordtoquadrateword
三、逻辑运算指令
AND---->and
OR---->or
XOR---->xor
NOT---->not
TEST---->test
SHL---->shiftleft
SAL---->arithmaticshiftleft
SHR---->shiftright
SAR---->arithmaticshiftright
ROL---->rotateleft
ROR---->rotateright
RCL---->rotateleftwithcarry
RCR---->rotaterightwithcarry
四、串指令
MOVS---->movestring
CMPS---->comparestring
SCAS---->scanstring
LODS---->loadstring
STOS---->storestring
REP---->repeat
REPE---->repeatwhenequal
REPZ---->repeatwhenzeroflag
REPNE---->repeatwhennotequal
REPNZ---->repeatwhenzeroflag
REPC---->repeatwhencarryflag
REPNC---->repeatwhennotcarryflag
五、程序转移指令
1>无条件转移指令(长转移)
JMP---->jump
CALL---->call
RET---->return
RETF---->returnfar
2>条件转移指令(短转移,-128到+127的距离内)
JAE---->jumpwhenaboveorequal
JNB---->jumpwhennotbelow
JB---->jumpwhenbelow
JNAE---->jumpwhennotaboveorequal
JBE---->jumpwhenbeloworequal
JNA---->jumpwhennotabove
JG---->jumpwhengreater
JNLE---->jumpwhennotlessorequal
JGE---->jumpwhengreaterorequal
JNL---->jumpwhennotless
JL---->jumpwhenless
JNGE---->jumpwhennotgreaterorequal
JLE---->jumpwhenlessorequal
JNG---->jumpwhennotgreater
JE---->jumpwhenequal
JZ---->jumpwhenhaszeroflag
JNE---->jumpwhennotequal
JNZ---->jumpwhennothaszeroflag
JC---->jumpwhenhascarryflag
JNC---->jumpwhennothascarryflag
JNO---->jumpwhennothasoverflowflag
JNP---->jumpwhennothasparityflag
JPO---->jumpwhenparityflagisodd
JNS---->jumpwhennothassignflag
JO---->jumpwhenhasoverflowflag
JP---->jumpwhenhasparityflag
JPE---->jumpwhenparityflagiseven
JS---->jumpwhenhassignflag3>循环控制指令(短转移)
LOOP---->loop
LOOPE---->loopequal
LOOPZ---->loopzero
LOOPNE---->loopnotequal
LOOPNZ---->loopnotzero
JCXZ---->jumpwhenCXiszero
JECXZ---->jumpwhenECXiszero
4>中断指令
INT---->interrupt
INTO---->overflowinterrupt
IRET---->interruptreturn
5>处理器控制指令
HLT---->halt
WAIT---->wait
ESC---->escape
LOCK---->lock
NOP---->nooperation
STC---->setcarry
CLC---->clearcarry
CMC---->carrymakechange
STD---->setdirection
CLD---->cleardirection
STI---->setinterrupt
CLI---->clearinterrupt
六、伪指令
DW---->defineword
PROC---->procedure
ENDP---->endofprocedure
SEGMENT---->segment
ASSUME---->assume
ENDS---->endsegment(段,节,片断)
END---->end