微控制器:單晶元形態,整合了微型計算機的各種功能狀態,面向嵌入式的計算機應用系統。
微控制器中的定址方式為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儲...