助記符
運算元指令說明
位元組數週期數
(資料傳遞類指令)
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
直接位址傳送到直接位址12
mov@ri,direct
直接位址傳送到間接ram21
mov@ri,#data
立即數傳送到間接ram22
movdptr,#data16
16 位常數載入到資料指標31
movc
a,@a+dptr
**位元組傳送到累加器12
movc
a,@a+pc
**位元組傳送到累加器12
movx
a,@ri
外部ram(8 位址)傳送到累加器12
movx
a,@dptr
外部ram(16 位址)傳送到累加器12
movx
@ri,a
累加器傳送到外部ram(8 位址)12
movx
@dptr,a
累加器傳送到外部ram(16 位址)12
push
direct
直接位址壓入堆疊22
popdirect
直接位址彈出堆疊22
xcha,rn
暫存器和累加器交換11
xcha, direct
直接位址和累加器交換21
xcha, @ri
間接ram 和累加器交換11
xchd
a, @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
addc
a,rn
暫存器與累加器求和(帶進製)11
addc
a,direct
直接位址與累加器求和(帶進製)21
addc
a,@ri
間接ram 與累加器求和(帶進製)11
addc
a,#data
立即數與累加器求和(帶進製)21
subb
a,rn
累加器減去暫存器(帶借位)11
subb
a,direct
累加器減去直接位址(帶借位)21
subb
a,@ri
累加器減去間接ram(帶借位)11
subb
a,#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
swap
a累加器高、低4 位交換11
(控制轉移類指令)
jmp@a+dptr
相對dptr 的無條件間接轉移12
jzrel
累加器為0 則轉移22
jnzrel
累加器為1 則轉移22
cjne
a,direct,rel
比較直接位址和累加器,不相等轉移32
cjne
a,#data,rel
比較立即數和累加器,不相等轉移32
cjne
rn,#data,rel
比較暫存器和立即數,不相等轉移22
cjne
@ri,#data,rel
比較立即數和間接ram,不相等轉移32
djnz
rn,rel
暫存器減1,不為0 則轉移32
djnz
direct,rel
直接位址減1,不為0 則轉移32
nop空操作,用於短暫延時11
acall
add11
絕對呼叫子程式22
lcall
add16
長呼叫子程式32
ret從子程式返回12
reti
從中斷服務子程式返回12
ajmp
add11
無條件絕對轉移22
ljmp
add16
無條件長轉移32
sjmp
rel無條件相對轉移22
(布林指令)
clrc
清進製位11
clrbit
清直接定址位21
setb
c置位進製位11
setb
bit置位直接定址位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
80C51微控制器介紹
80c51微控制器屬於mcs 51系列微控制器,由intel公司開發,其結構是8048的延伸,改進了8048的缺點。增加了如乘 mul 除 div 減 subb 比較 cmp 16位資料指標 布林代數運算等指令,以及序列通訊能力和5個中斷源。採用40引腳雙列直插式dip dual in line p...
MCS 51系列和80C51系列微控制器是否相同
mcs是intel公司微控制器的系列符號。intel推出有mcs 48 mcs 51 mcs 96系列微控制器。mcs 51系列單既包括三個基本型80c31 8051 8751,以及對應的低功耗型號80c31 8051 87c51,因而mcs 51特指intel的這幾種型號。在計算機領域,系列機是指...
80C51微控制器模仿例項100 1 LED閃爍
為了儲存住假期裡學習過的微控制器,盡量做到乙個星期模仿乙個例項,也是進一步學習proteus。今天編寫的是led間隔閃光,時間為1s,軟體proteus。created 週六 11月 25 2017 processor 80c52 compiler keil for 8051 author chen...