PIC汇编
PIC18F系列
d:目標寄存器選擇位 0表示結果保存至W寄存器中,1表示保存到文件寄存器f中。
a: 快速操作RAM位 0表示快速操作RAM內的RAM單元(BSR寄存器被忽略)。1表示存儲區由BSR指定
面向字節的操作指令
1、ADDWF f,d,a;將f中的內容與W中的內容相加,存儲在d提定的寄存器中.
2、ADDWFC f,d,a;將f中的內容與W中的內容帶進位相加
3、ANDWF f,d,a;將f中的內容與W中的內容邏輯與運算
4、CLRF ?f,a; 將f清零
5、COMF ?f,d,a;將f取反
6、CPFSEQ f,a; 將f與w作比較,相等則跳過下一句
7、CPFSGT f,a; 將f與w作比較,大于則跳過
8、CPFSLT f,a; 將f與w作比較,小于則跳過
9、DECF f,d,a; f減1
10、DECFSZ f,d,a; f減1,為0則跳過
11、DCFSNZ f,d,a; f減1,非0則跳過
12、INCF f,d,a; f加1
13、INCFSZ f,d,a; f加1,為0則跳過
14、INFSNZ f,d,a; f加1,非0則跳過
15、IORWF f,d,a; 將f中的內容與W中的內容邏輯或運算
16、MOVF f,d,a; 傳送f
17、MOVFF fs,fd; 將fs(源地址)傳送給fd(目的地址)
18、MOVWF f,a;將w傳給f
19、MULWF f,a;將w乘以f
20、NEGF f,a;將f取補
21、RLCF f,d,a;將F執行帶進位循環左移
22、RLNCF f,d,a;將F執行不帶進位循環左移
23、RRCF f,d,a;將F執行帶進位循環右移
24、RRNCF f,d,a;將F執行不帶進位循環左移
25、SETF f,a;將F全部置1
26、SUBFWB f,d,a;將W減去F(帶借位)
27、SUBWF f,d,a;將f減去W
28、SUBWFB f,d,a;將f減去W(帶借位)
29、SWAPF f,d,a;將f中的兩個半字節進行交換
30、TSTFSZ f,a; 測試f,為0則跳過
31、XORWF f,d,a; W與f作邏輯異或運算
面向位的操作類指令
32、BCF f,b,a; 將F寄存器中的某位清零
33、BSF f,b,a; 將F寄存器中的某位置1
34、BTFSC f,b,a; F中的某位為0則跳過
35、BTFSS f,b,a; F中的某位為1則跳過
36、BTG f,b,a; F中的某位取反
控制操作類指令
37、BC n; 進位則跳轉
38、BN n; 為負則跳轉
39、BNC n;無進位則跳轉
40、BNN n;不為負則跳轉
41、BNOV n;不溢出則跳轉
42、BNZ n;不為零則跳出
43、BOV n;溢出則跳轉
44、BRA n;無條件跳轉
45、BZ n;為零則跳轉
46、CALL n,s;調用子程序
47、CLRWDT ;清看門狗
48、DAW ;將W進行十進制調整
49、GOTO n;跳轉到地址
50、NOP ;空操作
51、POP ;出棧
52、PUSH;壓棧
53、RCALL n;相對調用
54、RETFIE s;中斷返回使能
55、RESET ;用軟件使器件復位
56、RETLW k;返回時將立即數送入W
57、RETURN s;從子程序返回
58、SLEEP 進入待機模式
立即數操作指令
59、ADDLW k;W與立即數相加
60、ANDLW K;立即數與W作邏輯與運算
61、IORLW k;立即數與W作邏輯或運算
62、LFSR f,k; 將立即數送給FSR
63、MOVLB k;將立即數傳送給BSR
64、MOVLW k;將立即數傳送給W
65、MULLW k;立即數與W相乘
66、RETLW k;返回時將立即數與W相乘
67、SUBLW k;立即數減去W
68、XORLW k;立即數與WREG作邏輯異或運算
數據存儲器---程序存儲器操作類指令
69、TBLRD* ;表讀
70、TBLRD* +;后增表讀
71、TBLRD* -;后減表讀
72、TBLRD+ *;預增表讀
73、TBLWT* ?;表寫
74、TBLWT* +;后增表寫
75、TBLWT* -;后減表寫
76、TBLWT+ *;預增表寫
PIC16系列
1、ADDWF f,d;將f中的內容與W中的內容相加,存儲在d提定的寄存器中.
2、ANDWF f,d;將f中的內容與W中的內容邏輯與運算
3、CLRF ?f;將f清零
4、CLRW ?;將W清零
5、COMF ?f,d;將f取反
6、DECF f,d; f減1
7、DECFSZ f,d; f減1,為0則跳過
8、INCF f,d; f加1
9、INCFSZ f,d; f加1,為0則跳過
10、IORWF f,d; 將f中的內容與W中的內容邏輯或運算
11、MOVF f,d; 傳送f,d=0則傳給W,d=1則傳給自已
12、MOVWF f;將w傳給f
13、RLF f,d;將F執行帶進位循環左移
14、RRF f,d;將F執行帶進位循環右移
15、SUBWF f,d;將f減去W
16、SWAPF f,d;將f中的兩個半字節進行交換
17、XORWF f,d; W與f作邏輯異或運算
面向位的操作類指令
18、BCF f,b; 將F寄存器中的某位清零
19、BSF f,b; 將F寄存器中的某位置1
20、BTFSC f,b; F中的某位為0則跳過
21、BTFSS f,b; F中的某位為1則跳過
立即數操作指令
22、ADDLW k;W與立即數相加
23、ANDLW K;立即數與W作邏輯與運算
24、IORLW k;立即數與W作邏輯或運算
25、MOVLW k;將立即數傳送給W
26、CALL k;調用子程序
27、GOTO k;跳轉到地址
28、RETFIE ;中斷返回使能
29、RETLW k;返回時將立即數送入W
30、RETURN ;從子程序返回
31、SLEEP 進入待機模式
32、SUBLW k;立即數減去W
33、XORLW k;立即數與WREG作邏輯異或運算
34、NOP
總結
- 上一篇: python 三维数据绘制等值高线剖面图
- 下一篇: 新能源硫酸钠溶液除镍钴锰分离树脂技术