助記符

助記符(mnemonic)是便於人們記憶、並能描述指令功能和指令運算元的符號,助記符是表明指令功能的英語單詞或其縮寫。 彙編語言由於採用了助記符號來編寫程式,比用機器語言的二進制代碼編程要方便些,在一定程度上簡化了編程過程。彙編語言的特點是用符號代替了機器指令代碼,而且助記符與指令代碼一一對應,基本保留了機器語言的靈活性。使用彙編語言能面向機器並較好地發揮機器的特性,得到質量較高的程式。 按指令作用對象來分,可分為偽指令和真指令(硬指令)。偽指令也就是作用於彙編程式的命令;真指令就是作用於真正處理器的命令。

介紹

助記符說明表
助記符指令說明位元組數周期數
(數據傳遞類指令)
MOV A,Rn 暫存器傳送到累加器 1 1
MOV A,direct 直接地址傳送到累加器 2 1
MOV A,@Ri 累加器傳送到外部RAM(8 地址) 1 1
MOV A,#data 立即數傳送到累加器 2 1
MOV Rn,A 累加器傳送到暫存器 1 1
MOV Rn,direct 直接地址傳送到暫存器 2 2
MOV Rn,#data 累加器傳送到直接地址 2 1
MOV direct,Rn 暫存器傳送到直接地址 2 1
MOV direct,direct 直接地址傳送到直接地址 3 2
MOV direct,A 累加器傳送到直接地址 2 1
MOV direct,@Ri 間接RAM 傳送到直接地址 2 2
MOV direct,#data 立即數傳送到直接地址 3 2
MOV @Ri,A 累加器傳送到間接RAM 1 2
MOV @Ri,direct 直接地址傳送到間接RAM 2 1
MOV @Ri,#data 立即數傳送到間接RAM 2 2
MOV DPTR,#data16 16 位常數載入到數據指針 3 1
MOVC A,@A+DPTR 代碼位元組傳送到累加器 1 2
MOVC A,@A+PC 代碼位元組傳送到累加器 1 2
MOVX A,@Ri 外部RAM(8 地址)傳送到累加器 1 2
MOVX A,@DPTR 外部RAM(16 地址)傳送到累加器 1 2
MOVX @Ri,A 累加器傳送到外部RAM(8 地址) 1 2
MOVX @DPTR,A 累加器傳送到外部RAM(16 地址) 1 2
PUSH direct 直接地址壓入堆疊 2 2
POP direct 直接地址彈出堆疊 2 2
XCH A,Rn 暫存器和累加器交換 1 1
XCH A, direct 直接地址和累加器交換 2 1
XCH A, @Ri 間接RAM 和累加器交換 1 1
XCHD A, @Ri 間接RAM 和累加器交換低4 位位元組 1 1
(算術運算類指令)
INC A 累加器加1 1 1
INC Rn 暫存器加1 1 1
INC direct 直接地址加1 2 1
INC @Ri 間接RAM 加1 1 1
INC DPTR 數據指針加1 1 2
DEC A 累加器減1 1 1
DEC Rn 暫存器減1 1 1
DEC direct 直接地址減1 2 2
DEC @Ri 間接RAM 減1 1 1
MUL AB 累加器和B 暫存器相乘 1 4
DIV AB 累加器除以B 暫存器 1 4
DA A 累加器十進制調整 1 1
ADD A,Rn 暫存器與累加器求和 1 1
ADD A,direct 直接地址與累加器求和 2 1
ADD A,@Ri 間接RAM 與累加器求和 1 1
ADD A,#data 立即數與累加器求和 2 1
ADDC A,Rn 暫存器與累加器求和(帶進位) 1 1
ADDC A,direct 直接地址與累加器求和(帶進位) 2 1
ADDC A,@Ri 間接RAM 與累加器求和(帶進位) 1 1
ADDC A,#data 立即數與累加器求和(帶進位) 2 1
SUBB A,Rn 累加器減去暫存器(帶借位) 1 1
SUBB A,direct 累加器減去直接地址(帶借位) 2 1
SUBB A,@Ri 累加器減去間接RAM(帶借位) 1 1
SUBB A,#data 累加器減去立即數(帶借位) 2 1
(邏輯運算類指令)
ANL A,Rn 暫存器“與”到累加器 1 1
ANL A,direct 直接地址“與”到累加器 2 1
ANL A,@Ri 間接RAM“與”到累加器 1 1
ANL A,#data 立即數“與”到累加器 2 1
ANL direct,A 累加器“與”到直接地址 2 1
ANL direct, #data 立即數“與”到直接地址 3 2
ORL A,Rn 暫存器“或”到累加器 1 2
ORL A,direct 直接地址“或”到累加器 2 1
ORL A,@Ri 間接RAM“或”到累加器 1 1
ORL A,#data 立即數“或”到累加器 2 1
ORL direct,A 累加器“或”到直接地址 2 1
ORL direct, #data 立即數“或”到直接地址 3 1
XRL A,Rn 暫存器“異或”到累加器 1 2
XRL A,direct 直接地址“異或”到累加器 2 1
XRL A,@Ri 間接RAM“異或”到累加器 1 1
XRL A,#data 立即數“異或”到累加器 2 1
XRL direct,A 累加器“異或”到直接地址 2 1
XRL direct, #data 立即數“異或”到直接地址 3 1
CLR A 累加器清零 1 2
CPL A 累加器求反 1 1
RL A 累加器循環左移 1 1
RLC A 帶進位累加器循環左移 1 1
RR A 累加器循環右移 1 1
RRC A 帶進位累加器循環右移 1 1
SWAP A 累加器高、低4 位交換 1 1
(控制轉移類指令)
JMP @A+DPTR 相對DPTR 的無條件間接轉移 1 2
JZ rel 累加器為0 則轉移 2 2
JNZ rel 累加器為1 則轉移 2 2
CJNE A,direct,rel 比較直接地址和累加器,不相等轉移 3 2
CJNE A,#data,rel 比較立即數和累加器,不相等轉移 3 2
CJNE Rn,#data,rel 比較暫存器和立即數,不相等轉移 2 2
CJNE @Ri,#data,rel 比較立即數和間接RAM,不相等轉移 3 2
DJNZ Rn,rel 暫存器減1,不為0 則轉移 3 2
DJNZ direct,rel 直接地址減1,不為0 則轉移 3 2
NOP 空操作,用於短暫延時 1 1
ACALL add11 絕對調用子程式 2 2
LCALL add16 長調用子程式 3 2
RET 從子程式返回 1 2
RETI 從中斷服務子程式返回 1 2
AJMP add11 無條件絕對轉移 2 2
LJMP add16 無條件長轉移 3 2
SJMP rel 無條件相對轉移 2 2
(布爾指令)
CLR C 清進位位 1 1
CLR bit 清直接定址位 2 1
SETB C 置位進位位 1 1
SETB bit 置位直接定址位 2 1
CPL C 取反進位位 1 1
CPL bit 取反直接定址位 2 1
ANL C,bit 直接定址位“與”到進位位 2 2
ANL C,/bit 直接定址位的反碼“與”到進位位 2 2
ORL C,bit 直接定址位“或”到進位位 2 2
ORL C,/bit 直接定址位的反碼“或”到進位位 2 2
MOV C,bit 直接定址位傳送到進位位 2 1
MOV bit, C 進位位位傳送到直接定址 2 2
JC rel 如果進位位為1 則轉移 2 2
JNC rel 如果進位位為0 則轉移 2 2
JB bit,rel 如果直接定址位為1 則轉移 3 2
JNB bit,rel 如果直接定址位為0 則轉移 3 2
JBC bit,rel 直接定址位為1 則轉移並清除該位 2 2

相關詞條

相關搜尋

熱門詞條

聯絡我們