助記符

助記符

助記符(mnemonic)是便於人們記憶、並能描述指令功能和指令操作數的符號,助記符是表明指令功能的英語單詞或其縮寫。

彙編語言由於採用了助記符號來編寫程序,比用機器語言的二進位代碼編程要方便些,在一定程度上簡化了編程過程。彙編語言的特點是用符號代替了機器指令代碼,而且助記符與指令代碼一一對應,基本保留了機器語言的靈活性。使用彙編語言能面向機器並較好地發揮機器的特性,得到質量較高的程序。

按指令作用對象來分,可分為偽指令和真指令(硬指令)。偽指令也就是作用於彙編程序的命令;真指令就是作用於真正處理器的命令。

基本介紹


助記符說明表
助記符指令說明位元組數周期數
(數據傳遞類指令)
MOVA,Rn寄存器傳送到累加器11
MOVA,direct直接地址傳送到累加器21
MOVA,@Ri累加器傳送到外部RAM(8 地址)11
MOVA,#data立即數傳送到累加器21
MOVRn,A累加器傳送到寄存器11
MOVRn,direct直接地址傳送到寄存器22
MOVRn,#data累加器傳送到直接地址21
MOVdirect,Rn寄存器傳送到直接地址21
MOVdirect,direct直接地址傳送到直接地址32
MOVdirect,A累加器傳送到直接地址21
MOVdirect,@Ri間接RAM 傳送到直接地址22
MOVdirect,#data立即數傳送到直接地址32
MOV@Ri,A累加器傳送到間接RAM12
MOV@Ri,direct直接地址傳送到間接RAM21
MOV@Ri,#data立即數傳送到間接RAM22
MOVDPTR,#data1616 位常數載入到數據指針31
MOVCA,@A+DPTR代碼位元組傳送到累加器12
MOVCA,@A+PC代碼位元組傳送到累加器12
MOVXA,@Ri外部RAM(8 地址)傳送到累加器12
MOVXA,@DPTR外部RAM(16 地址)傳送到累加器12
MOVX@Ri,A累加器傳送到外部RAM(8 地址)12
MOVX@DPTR,A累加器傳送到外部RAM(16 地址)12
PUSHdirect直接地址壓入堆棧22
POPdirect直接地址彈出堆棧22
XCHA,Rn寄存器和累加器交換11
XCHA, direct直接地址和累加器交換21
XCHA, @Ri間接RAM 和累加器交換11
XCHDA, @Ri間接RAM 和累加器交換低4 位位元組11
(算術運算類指令)
INCA累加器加111
INCRn寄存器加111
INCdirect直接地址加121
INC@Ri間接RAM 加111
INCDPTR數據指針加112
DECA累加器減111
DECRn寄存器減111
DECdirect直接地址減122
DEC@Ri間接RAM 減111
MULAB累加器和B 寄存器相乘14
DIVAB累加器除以B 寄存器14
DAA累加器十進位調整11
ADDA,Rn寄存器與累加器求和11
ADDA,direct直接地址與累加器求和21
ADDA,@Ri間接RAM 與累加器求和11
ADDA,#data立即數與累加器求和21
ADDCA,Rn寄存器與累加器求和(帶進位)11
ADDCA,direct直接地址與累加器求和(帶進位)21
ADDCA,@Ri間接RAM 與累加器求和(帶進位)11
ADDCA,#data立即數與累加器求和(帶進位)21
SUBBA,Rn累加器減去寄存器(帶借位)11
SUBBA,direct累加器減去直接地址(帶借位)21
SUBBA,@Ri累加器減去間接RAM(帶借位)11
SUBBA,#data累加器減去立即數(帶借位)21
(邏輯運算類指令)
ANLA,Rn寄存器“與”到累加器11
ANLA,direct直接地址“與”到累加器21
ANLA,@Ri間接RAM“與”到累加器11
ANLA,#data立即數“與”到累加器21
ANLdirect,A累加器“與”到直接地址21
ANLdirect, #data立即數“與”到直接地址32
ORLA,Rn寄存器“或”到累加器12
ORLA,direct直接地址“或”到累加器21
ORLA,@Ri間接RAM“或”到累加器11
ORLA,#data立即數“或”到累加器21
ORLdirect,A累加器“或”到直接地址21
ORLdirect, #data立即數“或”到直接地址31
XRLA,Rn寄存器“異或”到累加器12
XRLA,direct直接地址“異或”到累加器21
XRLA,@Ri間接RAM“異或”到累加器11
XRLA,#data立即數“異或”到累加器21
XRLdirect,A累加器“異或”到直接地址21
XRLdirect, #data立即數“異或”到直接地址31
CLRA累加器清零12
CPLA累加器求反11
RLA累加器循環左移11
RLCA帶進位累加器循環左移11
RRA累加器循環右移11
RRCA帶進位累加器循環右移11
SWAPA累加器高、低4 位交換11
(控制轉移類指令)
JMP@A+DPTR相對DPTR 的無條件間接轉移12
JZrel累加器為0 則轉移22
JNZrel累加器為1 則轉移22
CJNEA,direct,rel比較直接地址和累加器,不相等轉移32
CJNEA,#data,rel比較立即數和累加器,不相等轉移32
CJNERn,#data,rel比較寄存器和立即數,不相等轉移22
CJNE@Ri,#data,rel比較立即數和間接RAM,不相等轉移32
DJNZRn,rel寄存器減1,不為0 則轉移32
DJNZdirect,rel直接地址減1,不為0 則轉移32
NOP空操作,用於短暫延時11
ACALLadd11絕對調用子程序22
LCALLadd16長調用子程序32
RET從子程序返回12
RETI從中斷服務子程序返回12
AJMPadd11無條件絕對轉移22
LJMPadd16無條件長轉移32
SJMPrel無條件相對轉移22
(布爾指令)
CLRC清進位位11
CLRbit清直接定址位21
SETBC置位進位位11
SETBbit置位直接定址位21
CPLC取反進位位11
CPLbit取反直接定址位21
ANLC,bit直接定址位“與”到進位位22
ANLC,/bit直接定址位的反碼“與”到進位位22
ORLC,bit直接定址位“或”到進位位22
ORLC,/bit直接定址位的反碼“或”到進位位22
MOVC,bit直接定址位傳送到進位位21
MOVbit, C進位位位傳送到直接定址22
JCrel如果進位位為1 則轉移22
JNCrel如果進位位為0 則轉移22
JBbit,rel如果直接定址位為1 則轉移32
JNBbit,rel如果直接定址位為0 則轉移32
JBCbit,rel直接定址位為1 則轉移並清除該位22