以字母的順序排列(a--z)
a:1、acall addr11
指令名稱:絕對呼叫指令
指令**:
指令功能:構造目的位址,進行子程式呼叫其方法是以指令提供的11位位址(al0~a0),
取代pc的低11位,pc的高5位不變。
操作內容:
pc←(pc)+2
sp←(sp)+1
(sp)←(pc)7~0
sp←(sp)+1
(sp)←(pc)15~8
pc10~0←addrl0~0
位元組數: 2
機器週期:2
使用說明:由於指令只給出子程式入口位址的低11位,因此呼叫範圍是2kb。
2、add a,rn
指令名稱:暫存器加法指令
指令**:28h~2fh
指令功能:累加器內容與暫存器內容相加
操作內容:a←(a)+(rn), n=0~7
位元組數: 1
機器週期;1
影響標誌位:c,ac,ov
3、add a,direct
指令名稱:直接定址加法指令
指令**:25h
指令功能:累加器內容與內部ram單元或專用暫存器內容相加
操作內容:a←(a)+(direct)
位元組數: 2
機器週期:1
影響標誌位:c,ac,ov
4、add a,@ri
指令名稱:間接定址加法指令
指令**:26h~27h
指令功能:累加器內容與內部ram低128單元內容相加
操作內容:a←(a)+((ri)), i=0,1
位元組數: 1
機器週期:1
影響標誌位:c,ac,ov
5、add a,#data
指令名稱:立即數加法指令
指令**:24h
指令功能:累加器內容與立即數相加
操作內容:a←(a)+data
位元組數: 2
機器週期:1
影響標誌位:c,ac,ov
6、addc a,rn
指令名稱:暫存器帶進製加法指令
指令**:38h~3fh
指令功能:累加器內容、暫存器內容和進製位相加
操作內容:a←(a)+(rn)+(c), n=0~7
位元組數: 1
機器週期:1
影響標誌位:c,ac,ov
7、addc a,direct
指令名稱:直接定址帶進製加法指令
指令**:35h
指令功能:累加器內容、內部ram低128單元或專用暫存器內容與進製位加
操作內容:a←(a)+(direct)+(c)
位元組數: 2
機器週期:1
影響標誌位:c,ac,ov
8、addc a,@ri
指令名稱:間接定址帶進製加法指令
指令**:36h~37h
指令功能:累加器內容、內部ram低128單元內容及進製位相加
操作內容:a←(a)+((ri))+(c), i=0,1
位元組數: 1
機器週期:1
影響標誌位:c,ac,ov
9、addc a,#data
指令名稱:立即數帶進製加法指令
指令**:34h
指令功能:累加器內容、立即數及進製位相加
操作內容:a←(a)+data+(c)
位元組數: 2
機器週期:1
影響標誌位:c,ac,ov
10、ajmp addr11
指令名稱:絕對轉移指令
指令**:
指令功能:構造目的位址,實現程式轉移。其方法是以指令提供的11位位址,取代pc的低11位,.而pc的高5位保持不變。
操作內容:pc←(pc)+2
pcl0~0←addrll
位元組數: 2
機器週期:2
使用說明:由於addrll的最小值是000h,最大值是7ffh,因此位址轉移範圍是2kb。
11、anl a,rn
指令名稱:暫存器邏輯與指令
指令**:58h~5fh
指令功能:累加器內容邏輯與暫存器內容
操作內容:a←(a)∧(rn), n=0~7
位元組數: 1
機器週期:1
12、anl a,direct
指令名稱:直接定址邏輯與指令
指令**:55h
指令功能:累加器內容邏輯與內部ram低128單元或專用暫存器內容
操作內容:a←(a)∧(diret)
位元組數: 2
機器週期:1
13、anl a,@ri
指令名稱:間接定址邏輯與指令
指令**:56h~57h
指令功能:累加器內容邏輯與內部ram低128單元內容
操作內容:a←(a)∧((ri)) i=0,1
位元組數: 1
機器週期:1
14、anl a,#data
指令名稱:立即數邏輯與指令
指令**:54h
指令功能:累加器內容邏輯與立即數
操作內容:a←(a)∧data
位元組數: 2
機器週期:1
15、anl direct,a
指令名稱:累加器邏輯與指令
指令**:52h
指令功能:內部ram低128單元或專用暫存器內容邏輯與累加器內容
操作內容:direct←(a)∧(direct)
位元組數: 2
機器週期:1
16、anl direct, #data
指令名稱:邏輯與指令
指令**:53h
指令功能:內部ram低128單元或專用暫存器內容邏輯與立即數
操作內容:direct←(direct)∧data
位元組數: 3
機器週期:2
17、anl c,bit
指令名稱:位邏輯與指令
指令**:82h
指令功能:進製標誌邏輯與直接定址位
操作內容:c←(c)∧(bit)
位元組數: 2
機器週期:2
18、anl c,/bit
指令名稱:位邏輯與指令
指令**:b0h
指令功能:進製標誌邏輯與直接定址位的反
操作內容:c←(c)∧(bit)
位元組數: 2
機器週期:2
c:1、cjne a,dircet,rel
指令名稱:數值比較轉移指令
指令**:b5h
指令功能:累加器內容與內部ram低節或專用暫存器內容比較,不等則轉移。
操作內容:若(a)=(direct),則pc←(pc)+3,c←0
若(a)>(direct),則pc←(pc)+3+rel,c←0
若(a)<(direct),則pc←(pc)+3+rel,c←1
位元組數: 3
機器週期:2
2、cjne a,#data,rel
指令名稱:數值比較轉移指令
指令**:b4h
指令功能:累加器內容與立即數比較,不等則轉移。
操作內容:若(a)=data,則pc←(pc)+3,c←0
若(a)>data,則pc←(pc)+3+rel,c←0
若(a)<data,則pc←(pc)+3+rel,c←1
位元組數: 3
機器週期:2
3、cjne rn,#data,rel
指令名稱:數值比較轉移指令
指令**:b8h~bfh
指令功能:暫存器內容與立即數比較,不等則轉移。
操作內容:若(rn)=data,則pc←(pc)+3,c←0
若(rn)>data,則pc←(pc)+3+rel,c←0
若(rn)<data,則pc←(pc)+3+rel,c←1
位元組數: 3
機器週期:2
4、cjne @ri,#data,rel
指令名稱:數值比較轉移指令
指令**:b6h~b7h
指令功能:內部ram低128單元內容與立即數比較,不等則轉移。
操作內容:若((ri))=data,則pc←(pc)+3,c←0
若((ri))>data,則pc←(pc)+3+rel,c←0
若((ri))<data,則pc←(pc)+3+rel,c←1
位元組數: 3
機器週期:2
5、clr a
指令名稱:累加器清0指令
指令**:e4h
指令功能:累加器清0
操作內容:a←0
位元組數: 1
機器週期:1
6、clr c
指令名稱:進製標誌清0指令
指令**:c3h
指令功能:進製位清0
操作內容:c←0
位元組數: 1
機器週期:1
7、clr bit
指令名稱:直接定址位清0指令
指令**:c2h
指令功能:直接定址位清0
操作內容:bit←0
位元組數: 2
機器週期:1
8、cpl a
指令名稱:累加器取反指令
指令**:f4h
指令功能:累加器取反
操作內容:a←(a)
位元組數: 1
機器週期:1
9、cpl c
指令名稱:進製標誌取反指令
指令**:b3h
指令功能:進製標誌位狀態取反
操作內容:c←(c取反)
位元組數: 1
機器週期:1
10、 cpl bit
指令名稱:直接定址位取反指令
MCS 51微控制器指令全總結
1 運算元中有direct data bit的都是2位元組指令 2 在運算元中沒有以上三個變數卻有 標誌的都是1位元組指令 3 凡是3位元組指令的都是兩週期的指令 4 乘除是單位元組四週期的指令 5 位元組呼叫指令 位元組 位轉移指令 位元組 位邏輯指令 進 出棧指令 返回指令 inc dptr m...
MCS 51微控制器實用子程式庫
標號 功能 雙位元組 碼小數轉換成雙位元組十六進製制小數 入口條件 待轉換的雙位元組 碼小數在r4 r5中。出口資訊 轉換後的雙位元組十六進製制小數在r2 r3中。影響資源 psw a r2 r6 堆疊需求 位元組 bhd2 mov r6,10h 準備計算兩個位元組小數 bhd3 mov a,r5 ...
MCS 51系列微控制器模擬SPI匯流排的方法
1.mcu序列輸入子程式spiin 從x25f008的spiso線上接收8位資料並放入暫存器r0中的應用子程式如下 spiin setb p1.1使p1.1 時鐘 輸出為1 clr p1.2選擇從機 mov r1,08h置迴圈次數 spiin1 clr p1.1使p1.1 時鐘 輸出為0 nop延時...