8051算術指令組


在8051微控制器中,算術指令組共有24條不同的指令,總共有64個操作碼。進位標誌(CY)、輔助進位標誌(AC)和溢位標誌(OV)會根據ADD、ADDC、SUBB等指令的結果而變化。乘法和除法指令會清除進位標誌,並且不影響輔助進位標誌。乘法執行後,如果結果大於FFH,則溢位標誌為1,否則為0。類似地,除法執行後,如果除數B的內容在除法前為00H,則溢位標誌為1,否則為0。DA A(十進位制調整累加器)指令隻影響進位標誌。

在下表中,我們將看到指令助記符、位元組數、執行時間(以機器週期為單位)、操作碼數量等。

助記符
位元組數
執行時間操作碼數量
ADD A, Rn
1
1
8
ADD A, a8
2
1
1
ADD A, @Ri
1
1
2
ADD A, #d8
2
1
1
ADDC A, Rn
1
1
8
ADDC A, a8
2
1
1
ADDC A, @Ri
1
1
2
ADDC A, #d8
2
1
1
SUBB A, Rn
1
1
8
SUBB A, a8
2
1
1
SUBB A, @Ri
1
1
2
SUBB A, #d8
2
1
1
INC A
1
1
1
INC Rn
1
1
8
INC a8
2
1
1
INC @Ri
1
1
2
DEC A
1
1
1
DEC Rn
1
1
8
DEC a8
2
1
1
DEC @Ri
1
1
2
INC DPTR
1
2
1
MUL AB
1
4
1
DIV AB
1
4
1
DA A
1
1
1



示例

序號指令及說明
1ADD A, 32H
這是一個ADD A, #d8型別的指令。將立即數32H加到暫存器A中。結果也儲存在A中。
2ADDC A, @R1
這是一個ADDC A, @Ri型別的指令。這意味著將暫存器R1指向的內部RAM位置上的內容加到A中。
3SUBB A, R5
這是一個SUBB A, Rn型別的指令。SUBB代表帶借位的減法。因此,將R5的內容從A中減去。
4INC 40H
這是一個INC a8型別的指令。這裡將地址為40H的區域性RAM中的內容加1。
5INC DPTR
它可以將DPTR的內容加1。此指令需要兩個機器週期來執行。
6MUL AB
此指令用於將暫存器A和B的內容相乘。16位結果將儲存在B和A暫存器中。B將儲存高位位元組,A將儲存低位位元組。
7DIV AB
此指令用於將A暫存器的內容除以B暫存器的內容。8位商儲存到A暫存器中,8位餘數儲存到B暫存器中。


更新於:2020年6月27日

11K+ 瀏覽量

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告