邏輯運算指令
邏輯運算指令
1.ANL類指令(6條)
ANL類是邏輯與指令,其功能是將源操作數(shù)作數(shù)內(nèi)容和目的操作數(shù)內(nèi)容按位相“與”,結(jié)果存入目的操作數(shù)指定單元中,源操作數(shù)不變。
ANL A, Rn ;A∩Rn→A
ANL A, direct ;A∩(direct) →A
ANL A, @Ri ;A∩(Ri) →A
ANL A, #data ;A∩data→A
ANL direct, A ;(direct)∩A→(direct)
ANL direct, #data ;(direct)∩data→(direct)
例 設(shè)A=F6H,(30H)=0FH
執(zhí)行 ANL A, 30H ;A∩ (30H) →A
操作如下:
11110110 (F6H)
∩ 00001111 (0FH) 注意:按位相“與”
00000110 (06H)
結(jié)果:A=06H, 30H地址內(nèi)容不變,即(30H)=0FH
若執(zhí)行ANL 30H, A ;(30H)∩ A→(30H)
操作同上,結(jié)果放在30H地址中,A中內(nèi)容不變,即(30H)=06H, A=F6H。
2.ORL類指令(6條)
ORL類指令是邏輯或指令,其功能是將源操作數(shù)作數(shù)內(nèi)容和目的操作數(shù)內(nèi)容按位邏輯“或”,結(jié)果存入目的操作數(shù)指定單元中,源操作數(shù)不變。
ORL A, Rn ;A∪Rn→A
ORL A,direct ;A∪(direct) →A
ORL A, @Ri ;A∪(Ri) →A
ORL A, #data ;A∪data→A
ORL direct, A ;(direct)∪A→(direct)
ORL direct, #data ;(direct)∪data→(direct)
“或”運算和“與”運算過程類似,這里不再舉例。
3.XRL類指令(6條)
XRL類是異或指令,其功能是將兩個操作數(shù)指定內(nèi)容按位“異或”,結(jié)果存于目的操作數(shù)指定單元中。“異或”原則是相同為“0”,相異為“1”。
XRL A, Rn ;A⊕Rn→A
XRL A, direct ;A⊕(direct) →A
XRL A, @Ri ;A⊕(Ri) →A
XRL A, #data ;A⊕data→A
XRL direct, A ;(direct)⊕A →(direct)
XRL direct, #data ;(direct)⊕data→(direct)
例 (50H)=05H
執(zhí)行 XRL 50H, #06H ;(50H)⊕06H→(50H)
操作如下:
00000101 (05H)
⊕ 00000110 (06H)
00000011 (03H)
結(jié)果:(50H)=03H
4.循環(huán)移位指令(4條)
循環(huán)移位指令的功能是將累加器A中內(nèi)容循環(huán)位移或者和進位位一起移位。
例 A=01H, Cy=1
若執(zhí)行一次 RRC A后,結(jié)果為:A=10000000B Cy=1
若執(zhí)行一次 RLC A后,結(jié)果為:A=00000011B Cy=0
5.取反、清0指令
CPL A ;累加器內(nèi)容按位取反。如果1就變0,如果0就變1
CLR A ;累加器A清0
編輯:admin 最后修改時間:2018-05-19