組合語言51微控制器111條指令懷舊錦集

2021-10-08 11:03:14 字數 4811 閱讀 2993

微控制器:單晶元形態,整合了微型計算機的各種功能狀態,面向嵌入式的計算機應用系統。

微控制器中的定址方式為7種方式,分別為:立即定址,直接定址,位定址,暫存器定址,暫存器間接定址,變址定址,相對定址。

條目指令

位元組週期描述1

mov a,rn11

暫存器內容送入累加器

2mov a,direct21

直接位址單元中的資料送入累加器

3mov a,@ri11

間接ram 中的資料送入累加器

4mov a,#tata21

立即數送入累加器

5mov rn,a11

累加器內容送入暫存器

6mov rn,direct22

直接位址單元中的資料送入暫存器

7mov rn,#data21

立即數送入暫存器

8mov direct,a21

累加器內容送入直接位址單元

9mov direct,rn22

暫存器內容送入直接位址單元

10mov direct,direct32

直接位址單元中的資料送入另乙個直接位址單元

11mov direct,@ri22

間接ram 中的資料送入直接位址單元

12mov direct,#data32

立即數送入直接位址單元

13mov @ri,a11

累加器內容送間接ram 單元

14mov @ri,direct22

直接位址單元資料送入間接ram 單元

15mov @ri,#data21

立即數送入間接ram 單元

16mov drtr,#dat1632

16位立即數送入位址暫存器

17movc a,@a+dptr12

以dptr為基位址變址定址單元中的資料送入累加器

18movc a,@a+pc12

以pc為基位址變址定址單元中的資料送入累加器

19movx a,@ri12

外部ram(8 位位址)送入累加器

20movx a,@dptr12

外部ram(16 位位址)送入累加器

21movx @ri,a12

累計器送外部ram(8 位位址)

22movx @dptr,a12

累計器送外部ram(16 位位址)

23push direct22

直接位址單元中的資料壓入堆疊

24pop direct22

彈棧送直接位址單元

25xch a,rn11

暫存器與累加器交換

26xch a,direct21

直接位址單元與累加器交換

27xch a,@ri11

間接ram與累加器交換

28xchd a,@ri11

間接ram 的低半位元組與累加器交換

條目指令

位元組週期描述1

add a,rn11

暫存器內容加到累加器

2add a,direct21

直接位址單元的內容加到累加器

3add a,@ri11

間接rom 的內容加到累加器

4add a,#data21

立即數加到累加器

5addc a,rn11

暫存器內容帶進製加到累加器

6addc a,direct21

直接位址單元的內容帶進製加到累加器

7addc a,@ri11

間接rom 的內容帶進製加到累加器

8addc a,#data21

立即數帶進製加到累加器

9subb a,rn11

累加器帶借位減暫存器內容

10subb a,direct21

累加器帶借位減直接位址單元的內容

11subb a,@ri11

累加器帶借位減間接ram 中的內容

12subb a,#data21

累加器帶借位減立即數

13inc a11

累加器加1

14inc rn11

暫存器加1

15inc direct21

直接位址單元加1

16inc @ri11

間接ram 單元加1

17dec a11

累加器減1

18dec rn11

暫存器減1

19dec direct21

直接位址單元減1

20dec @ri11

間接ram單元減1

21inc dptr11

位址暫存器dptr加1

22mul ab14

a乘以b,結果放在a

23div ab14

a除以b,結果放在a

24da a11

累加器十進位制調整

條目指令

位元組週期描述1

clr c11

清進製位

2clr bit21

清直接位址位

3setb c11

置進製位

4setb bit21

置直接位址位

5cpl c11

進製位求反

6cpl bit21

置直接位址位求反

7anl c,bit22

進製位和直接位址位相「與」

8anl c,bit22

進製位和直接位址位的反碼相「與」

9orl c,bit22

進製位和直接位址位相「或」

10orl c,bit22

進製位和直接位址位的反碼相「或」

11mov c,bit21

直接位址位送入進製位

12mov bit,c22

進製位送入直接位址位

13jc rel22

進製位為1則轉移

14jnc rel22

進製位為0則轉移

15jb bit,rel32

直接位址位為1則轉移

16jnb bit,rel32

直接位址位為0則轉移

17jbc bit,rel32

直接位址位為1則轉移,該位清零

條目指令

位元組週期描述1

anl a,rn11

累加器與暫存器相「與」

2anl a,direct21

累加器與直接位址單元相「與」

3anl a,@ri11

累加器與間接ram 單元相「與」

4anl a,#data21

累加器與立即數相「與」

5anl direct,a21

直接位址單元與累加器相「與」

6anl direct,#data32

直接位址單元與立即數相「與」

7orl a,rn11

累加器與暫存器相「或」

8orl a,direct21

累加器與直接位址單元相「或」

9orl a,@ri11

累加器與間接ram 單元單元相「或」

10orl a,#data21

累加器與立即數相「或」

11orl direct,a21

直接位址單元與累加器相「或」

12orl direct,#data32

直接位址單元與立即數相「或」

13xrl a,rn11

累加器與暫存器相「異或」

14xrl a,direct21

累加器與直接位址單元相「異或」

15xrl a,@ri11

累加器與間接ram 單元單元相「異或」

16xrl a,#data21

累加器與立即數相「異或」

17xrl direct,a21

直接位址單元與累加器相「異或」

18xrl direct,#data32

直接位址單元與立即數相「異或」

19clr a11

累加器清「0」

20cpl a11

累加器求反

21rl a11

累加器迴圈左移

22rlc a11

累加器帶進製位迴圈左移

23rr a11

累加器迴圈右移

24rrc a11

累加器帶進製位迴圈右移

25swap a11

累加器半位元組交換

條目指令

位元組週期描述1

acall addr1122

絕對(短)呼叫子程式

2lcall addr1632

長呼叫子程式

3ret12

子程式返回

4reti22

中數返回

5ajmp addr1122

絕對(短)轉移

6ljmp addr1632

長轉移7

sjmp rel22

相對轉移

8jmp @a+dptr12

相對於dptr 的間接轉移

9jz rel22

累加器為零轉移

10cjne rel22

累加器非零轉移

11cjne a,direct,rel32

累加器與直接位址單元比較,不相等則轉移

12cjne a,#data,rel32

累加器與立即數比較,不相等則轉移

13cjne rn,#data,rel32

暫存器與立即數比較,不相等則轉移

14cjne @ri,#data,rel32

間接ram 單元與立即數比較,不相等則轉移

15djnz rn,rel22

暫存器減1,非零轉移

16djnz direct,erl32

直接位址單元減1,非零轉移

17nop11

空操作

tiri微控制器 51微控制器 微控制器組合語言學習

mcs 51微控制器的特殊功能暫存器 符號位址 功能介紹 bf0h b暫存器 acce0h 累加器psw d0h程式狀態字 th2 cdh定時器 計數器2 高8位 tl2 cch定時器 計數器2 低8位 rcap2h cbh外部輸入 p1.1 計數器 自動再裝入模式時初值暫存器高八位 rcap2l ...

組合語言 微控制器基礎

以老師上課講的例題為例,進行程式分析。前兩步為跳過中斷區,一般程式都直接加上 org 0000h ljmp main org 1000h 定義源位址為1000h main mov a,30h 將 立即數30h 賦給 累加器a movc a,a pc 將 累加器a 下一條命令後程式計數器的值 對應位址...

微控制器彙編程式設計300例 微控制器基礎組合語言程式設計例項

微控制器組合語言程式設計 1 編寫程式,用位處理指令實現 p1.4 p1.0 p1.1 p1.2 p1.3 的邏輯功能。mov c,p1.1 anl c,p1.2 orl c,p1.0 orl c,p1.3 mov p1.3,c 2 編寫程式,若累加器a的內容分別滿足下列條件,則程式轉到lable儲...