三,位操作类指令:包括逻辑运算指令,测试指令和移位指令
1,測試運算指令:有四條,其格式與功能本別為:
與: AND DEST,SRC
EDST <= (SRC) ^(DEST)
或:OR DEST,SRC
DEST <= (SRC) v (DEST)
異或:XOR DEST,SRC
DEST <= (SRC) O+ (DEST)
上述三條指令影響:SF,ZF,PF,CF,OF 置零,AF不確定
非:NOT DEST
DEST<=(DEST) ,不影響標志位
2測試指令: TEST DEST,SRC
(SRC) ^ (DEST)
按結果置SF,ZF,PF
例子:測試AL中最低位的狀態,可用指令:
TEST AL,01H
TEST 執行完后,如最低位為0,則ZF = 1
如最低位為1,則ZF = 0
3移位指令: 有8條,分為算術,邏輯,循環移位指令
(1)算術移位指令
算術左移位:SAL DEST,COUNT
算術右移位:SAR DEST,COUNT
受影響的標志位:OF,SF,ZF,PF,CF。AF不確定
(2)邏輯移位指令
算術左移位:SHL DEST,COUNT
算術右移位:SHR DEST,COUNT
受影響的標志位:OF,SF,ZF,PF,CF。AF不確定
(3)循環移位指令
循環左移指令:ROL DEST,COUNT
循環右移指令:ROR DEST,COUNT
受影響的標志位:OF,CF。
帶進位循環左移指令:RCL DEST,COUNT
帶進位循環右移指令:RCR DEST,COUNT
受影響的標志位:OF,CF。
總結
以上是生活随笔為你收集整理的三,位操作类指令:包括逻辑运算指令,测试指令和移位指令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅谈静态测试
- 下一篇: distinct的用法