微控制器指令系統 1

2021-09-02 07:55:52 字數 3709 閱讀 7153

本篇部落格主要列出了微控制器的主要指令,供開發人員參考。作為乙個微控制器初學者,記住指令特別的痛苦,不過主要還是要理解,多練習指令,寫多了就記住了,這是乙個很自然的過程。

目錄

一、定址方式

二、指令分類

1 資料傳送類指令

2 算術運算類指令

定址方式有七種:

1.立即定址

如:mov a,#3ah

2.直接定址

如:mov  a,3ah

3.暫存器定址

如:mov  a,r2

4.暫存器間接定址

如:mov  a,@r0

5.變址定址

如:movc  a,@a+dptr

6.相對定址

如:jc  03h

7.位定址

如:setb 3dh

對於剛接觸指令的人來說,記住指令是非常痛苦的,其實只需要記住兩個圖就ok了。

上述兩個圖全面的展示了指令的操作,箭頭所指的方向表示某一值或某一位址裡面的值可以送入。

下面分類介紹指令:

1.1  內部ram資料傳送指令

(1)累加器為目的運算元的指令

mov a,rn         ;(rn)->a

mov a,dir ;(dir)->a

mov a,@ri ;((ri))->a

mov a,#data ;data->a

(2)以暫存器rn為目的運算元的指令

mov rn,a            ;(a)->rn

mov rn,dir ;(dir)->rn

mov rn,#data ;data-.rn

(3)以直接位址為目的運算元的指令

mov dir,a               ;(a)->dir

mov dir,rn ;(rn)->dir

mov dir,dir ;(dir)->dir

mov dir,@ri ;((ri))->dir

mov dir,#data ;data->dir

(4)以間接位址為目的運算元的指令

mov @ri,a               ;(a)->(ri)

mov @ri,dir ;(dir)->(ri)

mov @ri,#data ;data->(ri)

(5)16位資料傳送指令

mov dptr,#data16        ;datah->dph,datal->dpl
1.2 外部資料傳送指令

movx a,@dptr            ;((dptr))->a

movx @dptr,a ;(a)->(dptr)

movx a,@ri ;((ri))->a

movx @ri,a ;(a)->(ri)

1.3 查表指令

movc a,@a+pc            ;(pc)+1->pc,((a)+(pc))->a

movc a,@a+dptr ;((a)+(dptr))->a

1.4 堆疊操作指令

push dir            ;(sp)+1->sp,(dir)->(sp)

pop dir ;((sp))->dir,(sp)-1->sp

1.5 交換指令

xch a,rn            ;(a)(rn)

xch a,dir ;(a)(dir)

xch a,@rn ;(a)((rn))

xchd a,@ri ;(a3~0)((ri3~0))

swap a; ;(a3~0)(a7~4)

2.1 加法指令

add a,rn            ;(a)+(rn)->a

add a,dir ;(a)+(dir)->a

add a,@ri ;(a)+((ri))->a

add a,#data ;(a)+data->a

2.2 帶進製加法指令

addc a,rn            ;(a)+(rn)+cy->a

addc a,dir ;(a)+(dir)+cy->a

addc a,@ri ;(a)+((ri))+cy->a

addc a,#data ;(a)+data+cy->a

2.3 帶借位減法指令

subb a,rn            ;(a)-(rn)-cy->a

subb a,dir ;(a)-(dir)-cy->a

subb a,@ri ;(a)-((ri))-cy->a

subb a,#data ;(a)-data-cy->a

2.4 乘法指令

mul ab            ;(a)x(b)->ba,b15~8,a7~0
2.5 除法指令

div ab            ;a/b->a,a%b->b
2.6 減1指令

dec a            ;(a)-1->a

dec rn ;(rn)-1->rn

dec dir ;(dir)-1->dir

dec @ri ;((ri))-1->(ri)

2.7 十進位制調整指令

da a
(by:chenyunhe 2018-12-6  )

微控制器基礎 對微控制器指令系統中七種定址方式的理解

5.基址加變址定址 6.相對定址 7.位定址 立即定址就是不定址,直接把被操作的資料 立即數 寫在指令當中。在指令 中,需要在立即數前面加上 表示立即定址。例如 把資料40h傳送到累加器acc中。指令 執行第三步程式時,暫存器a內資料變為十六進製制0x40。直接定址就是將被操作的資料在儲存器中的位址...

ir指令 立即數的作用 微控制器指令系統與定址方式

微控制器要正常運作,事先需編制程式,再把程式放入存貯器中,然後由cpu執行該程式。程式是由指令組成的,指令的基本組成是操作碼和運算元。微控制器的品種很多,設計時怎樣表示操作碼和運算元,都有各自的規定,再有指令 也各不相同,因此,必須對所選微控制器的全部指令,也就是所謂 指令系統 有足夠的了解。各個系...

指令系統1

指令的一般格式 操作碼 長度固定操作碼 便於硬體設計,指令解碼時間短 長度變化操作碼 採用擴充套件操作碼技術 位址碼 用一些硬體資源 如pc,acc 承擔指令字中需指明的位址碼可在不改變指令字長的前提下擴大指令運算元的直接定址範圍 指令字長 取決於操作碼的長度,運算元位址的長度,運算元位址的個數。不...