51微控制器彙編指令速查表

2021-05-11 03:43:21 字數 4781 閱讀 2605

51微控制器彙編指令速查表

指令格式 功能簡述 位元組數 週期

一、資料傳送類指令

mov a,rn 暫存器送累加器

1 1

mov rn,a 累加器送暫存器

1 1

mov a ,@ri 內部ram單元送累加器

1 1

mov @ri ,a 累加器送內部ram單元

1 1

mov a ,#data 立即數送累加器

2 1

mov a ,direct 直接定址單元送累加器

2 1

mov direct ,a 累加器送直接定址單元

2 1

mov rn,#data 立即數送暫存器

2 1

mov direct ,#data 立即數送直接定址單元

3 2

mov @ri ,#data 立即數送內部ram單元

2 1

mov direct ,rn 暫存器送直接定址單元

2 2

mov rn ,direct 直接定址單元送暫存器

2 2

mov direct ,@ri 內部ram單元送直接定址單元

2 2

mov @ri ,direct 直接定址單元送內部ram單元

2 2

mov direct2,direct1 直接定址單元送直接定址單元

3 2

mov dptr ,#data16 16位立即數送資料指標

3 2

movx a ,@ri 外部ram單元送累加器(8位位址

) 1 2

movx @ri ,a 累加器送外部ram單元(8位位址

) 1 2

movx a ,@dptr 外部ram單元送累加器(16位位址

) 1 2

movx @dptr ,a 累加器送外部ram單元(16位位址

) 1 2

movc a ,@a+dptr 查表資料送累加器(dptr為基址

) 1 2

movc a ,@a+pc 查表資料送累加器(pc為基址

) 1 2

xch a ,rn 累加器與暫存器交換

1 1

xch a ,@ri 累加器與內部ram單元交換

1 1

xchd a ,direct 累加器與直接定址單元交換

2 1

xchd a ,@ri 累加器與內部ram單元低4位交換

1 1

swap a 累加器高4位與低4位交換

1 1

pop direct 棧頂彈出指令直接定址單元

2 2

push direct 直接定址單元壓入棧頂2 2

二、算術運算類指令

add a,rn 累加器加暫存器

1 1

add a, @ri 累加器加內部ram單元

1 1

add a,direct 累加器加直接定址單元

2 1

add a,#data 累加器加立即數

2 1

addc a,rn 累加器加暫存器和進製標誌

1 1

addc a, @ri 累加器加內部ram單元和進製標誌

1 1

addc a,#data 累加器加立即數和進製標誌

2 1

addc a,direct 累加器加直接定址單元和進製標誌

2 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

da a 十進位制調整

1 1

subb a,rn 累加器減暫存器和進製標誌

1 1

subb a, @ri 累加器減內部ram單元和進製標誌

1 1

subb a,#data 累加器減立即數和進製標誌

2 1

subb a,direct 累加器減直接定址單元和進製標誌

2 1

dec a 累加器減

1 1 1

dec rn 暫存器減

1 1 1

dec @ri 內部ram單元減

1 1 1

dec direct 直接定址單元減

1 2 1

mul ab 累加器乘暫存器

b 1 4

div ab 累加器除以暫存器b 1 4

三、邏輯運算類指令

anl a,rn 累加器與暫存器

1 1

anl a, @ri 累加器與內部ram單元

1 1

anl a,#data 累加器與立即數

2 1

anl a,direct 累加器與直接定址單元

2 1

anl direct,a 直接定址單元與累加器

2 1

anl direct,#data 直接定址單元與立即數

3 1

orl a,rn 累加器或暫存器

1 1

orl a,@ri 累加器或內部ram單元

1 1

orl a,#data 累加器或立即數

2 1

orl a,direct 累加器或直接定址單元

2 1

orl direct,a 直接定址單元或累加器

2 1

orl direct,#data 直接定址單元或立即數

3 1

xrl a,rn 累加器異或暫存器

1 1

xrl a,@ri 累加器異或內部ram單元

1 1

xrl a,#data 累加器異或立即數

2 1

xrl a,direct 累加器異或直接定址單元

2 1

xrl direct,a 直接定址單元異或累加器

2 1

xrl direct,#data 直接定址單元異或立即數

3 2

rl a 累加器左迴圈移位

1 1

rlc a 累加器連進製標誌左迴圈移位

1 1

rr a 累加器右迴圈移位

1 1

rrc a 累加器連進製標誌右迴圈移位

1 1

cpl a 累加器取反

1 1

clr a 累加器清零1 1

四、控制轉移類指令類

accall addr11 2kb範圍內絕對呼叫

2 2

ajmp addr11 2kb範圍內絕對轉移

2 2

lcall addr16 2kb範圍內長呼叫

3 2

ljmp addr16 2kb範圍內長轉移

3 2

sjmp rel 相對短轉移

2 2

jmp @a+dptr 相對長轉移

1 2

ret 子程式返回

1 2

ret1 中斷返回

1 2

jz rel 累加器為零轉移

2 2

jnz rel 累加器非零轉移

2 2

cjne a ,#data ,rel 累加器與立即數不等轉移

3 2

cjne a ,direct ,rel 累加器與直接定址單元不等轉移

3 2

cjne rn,#data ,rel 暫存器與立即數不等轉移

3 2

cjne @ri ,#data,rel ram單元與立即數不等轉移

3 2

djnz rn ,rel 暫存器減1不為零轉移

2 2

djnz direct ,rel 直接定址單元減1不為零轉移

3 2

nop 空操作1 1

五、布林操作類指令

mov c

,bit

直接定址位送

c 2 1

mov bit

,c c

送直接定址位

2 1

clr c c

清零1 1

clr bit

直接定址位清零

2 1

cpl c c

取反1 1

cpl bit

直接定址位取反

2 1

setb c c

置位1 1

setb bit

直接定址位置位

2 1

anl c

,bit c

邏輯與直接定址位

2 2

anl c

,/bit c

邏輯與直接定址位的反

2 2

orl c

,bit c

邏輯或直接定址位

2 2

orl c

,/bit c

邏輯或直接定址位的反

2 2

jc rel c為1

轉移2 2

jnc rel c

為零轉移

2 2

jb bit

,rel

直接定址位為1轉移

3 2

jnb bit

,rel

直接定址為0轉移

mo彙編指令 彙編指令速查表

一 資料傳輸指令 它們在存貯器和暫存器 暫存器和輸入輸出埠之間傳送資料.1.通用資料傳送指令.mov 傳送字或位元組.movsx 先符號擴充套件,再傳送.movzx 先零擴充套件,再傳送.push 把字壓入堆疊.pop 把字彈出堆疊.pusha 把 ax,cx,dx,bx,sp,bp,si,di 依...

vim指令速查表

命令 描述vim filename 開啟或新建檔案,並將游標置於第一行首 vim n filename 開啟檔案,並將游標置於第n行首 vim filename 開啟檔案,並將游標置於最後一行首 vim pattern filename 開啟檔案,並將游標置於第乙個與pattern匹配的串處 vim...

linux重要指令速查表

brew install findutils with default namesdocker build t link v2 qemu img create f qcow2 test vm 1.qcow2 10g f 選項用於指定映象的格式,qcow2 格式是 qemu 最常用的映象格式,採用來寫...