小白學單片機:詳解AT89S51邏輯運算與循環類指令(24條)

邏輯運算指令:與、或、異或、清0和取反。循環指令:左、右移,帶進位位左、右移。

一、邏輯與指令

小白學單片機:詳解AT89S51邏輯運算與循環類指令(24條)

這組指令功能:將兩數按位進行邏輯與操作。它的規則是1∧1=1,1∧0=0,0∧0=0;即1 ∧X=X, 0 ∧X=0,所以“ANL”操作常用來屏蔽字節中的某些位,要保留的位用“1”去“與”,要清除的位用“0”去“與” 。

二、邏輯或

小白學單片機:詳解AT89S51邏輯運算與循環類指令(24條)

這組指令功能:將兩數按位進行邏輯或操作,即1 ∨ X=1, 0 ∨ X= X ,“ORL”操作常用來對字節中的某些位置“1”,要保留的位用“0”去“或”,要置1的位用“1”去“或”。

三、邏輯異或

小白學單片機:詳解AT89S51邏輯運算與循環類指令(24條)

這組指令功能是:將兩數按位進行邏輯異或操作。它的規則是1⊕1=0,1⊕0=1,0⊕0=0,即1⊕X=/X ,0⊕X=X,“XRL”操作常用來對字節中的某些位求反,要取反的位用“1” 去“異或”,要保留的位用“0”去“異或”。

四、 邏輯清0和取反

CPL A ;A ←/ A

這條指令的功能是:對A按位求反,結果送入A中。它的規則是/ 1=0,/0=1。

CLR A ;A ← 0

例 設A中內容為34H,分別執行下列程序寫結果:

(1)ANL A,#0F0H ;A=30H;屏蔽A的低4位

(2)ORL A,#0F0H ;A=F4H;A的高4位置1

(3)XRL A,#0F0H ;A=C4H;A的高4位取反

(4)CPL A ;A=CBH :A的內容取反

五、累加器循環移位

小白學單片機:詳解AT89S51邏輯運算與循環類指令(24條)

小白學單片機:詳解AT89S51邏輯運算與循環類指令(24條)

例 利用循環移位指令,編程實現對累加器A中的內容進行乘10的操作。

RL A ;設A中的內容為,A=2

MOV B,A ;B=2

RL A ;A=2*2=4

RL A ;A=2*4=8

ADD A,B ;A=8+2=10


分享到:


相關文章: