編程取反
『壹』 pic單片機怎麼用戶匯編語言實現位取反
1、pic單片機的匯編語言中,目前還沒有直接能對位取反的指令,只有對寄存器取反的指令,比如:
    COMF    F,d    ; 
    這條語句中「F」是寄存器的名稱,當「d=1」時,結果存入「F」,當「d=0」時,結果存入「W」。這個「W」書面解釋是工作寄存器。可理解為過渡寄存器或臨時寄存器,做中轉數據用。
 2、在匯編語言中要實現位取反,可通過位狀態檢測判斷來對位進行「置1」或「清零」,詳見以下程序。
   目的:將寄存器 PROTB,3 取反
;*******************************************************************
       BTFSS    PORTB,3    ;    檢測PORTB,3位,為1跳轉QINGLING。
        GOTO    ZHIYI    ;    為0跳轉到ZHIYI。
QINGLING    ;    清零程序段,這是網路標號,可理解為一段程序的名稱。
        BCF    PORTB,3    ;    判斷之前PORTB,3位為1,這句作用是將 PORTB,3 清零 。   
        GOTO    WORK    ;    跳轉到 WORK 程序段繼續運行。
ZHIYI    ;    置1程序段,  這是網路標號,可理解為一段程序的名稱。
        BSF        PORTB,3    ;     判斷之前PORTB,3位為0,這句作用是將 PORTB,3 置1。 
        GOTO    WORK    ;    跳轉到 WORK 程序段繼續運行。
WORK
        ... ...
;********************************************************************
;注意注意,編程時,指令必須用TAB鍵空出一格,網路標號必須頂格
;*******************************************************************
