單片機邏輯運算類指令:24條
對2個8位二進制數進行與、或、非和異或等單片機邏輯運算,對單片機數據進行邏輯處理,適合於傳送、存儲和輸出等。
一:邏輯與指令(共6條)
特點:
是相乘的關係,又稱邏輯乘指令;
和0相與,不管原來是什麼,都為0;
和1相與,原來是什麼,現在仍然是什麼。
功能:
ANL A,direct;是將累加器A中的內容和直接地址direct中的內容相“與”,其結果送回A中。
ANL A,Rn;是將累加器A中的內容和寄存器Rn中的內容相“與”,其結果送回A中。
ANL A,@Ri;是將累加器A中的內容和寄存器間接尋址單元中的內容相“與”,其結果送回A中。
ANL A,#data;是將累加器A中的內容和立即數data相“與”,其結果送回A中。
ANL direct,A;是將直接地址direct中的內容和累加器A中的內容相“與”,其結果送回直接地址direct單元中。
ANL direct,#data;是將直接地址direct中的內容和立即數data相“與”,其結果送回直接地址direct單元中。
注意:
在單片機實際編程中,邏輯與指令主要用於從某個存儲單元中取出某幾位,而把其他位變為0。
除前面4條累加A為目的操作數僅影響單片機PSW中的P標誌,後面2條指令均不影響PSW中的任何標誌位。
二:邏輯或指令(共6條)
特點:
是相加的關係,又稱邏輯加指令;
和1相或,不管原來是什麼,都為1;
和0相或,原來是什麼,現在仍然是什麼。
功能:
和邏輯與指令類似,區別是執行的是相加的單片機邏輯指令,指令的理解請參照邏輯與指令功能敘述。
注意:
在單片機實際編程中,邏輯或指令用於對某個存儲單元或累加器A中的數據進行變換,使其中的某些位變為“1”,其餘位不變。
除前面4條累加A為目的操作數僅影響單片機PSW中的P標誌,後面2條指令均不影響PSW中的任何標誌位。
三:邏輯異或指令(共6條)
特點:
異或:就是參加運算的兩個值相異為1 ,相同為0。
和0異或,原數保留不改變(原狀態保持不變);
和1異或,原數被取反。哪1位要取反,就和1異或。其它位用0異或即可保留不變。
功能:
和前兩類指令類似,區別是執行的操作是單片機邏輯異或,指令的理解請參照邏輯與指令功能敘述。
注意:
在單片機實際編程中,邏輯異或指令用於對某個存儲單元或累加器A中的數據進行變換,使其中的某些位取反,其餘位不變。
除前面4條累加A為目的操作數僅影響單片機PSW中的P標誌,後面2條指令均不影響PSW中的任何標誌位。
閱讀更多 電工人家 的文章