汇编语言布尔和比较指令简介
生活随笔
收集整理的這篇文章主要介紹了
汇编语言布尔和比较指令简介
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
前面介紹了四種基本的布爾代數(shù)操作:AND、OR、XOR 和 NOT。用匯編語言指令,這些操作可以在二進制位上實現(xiàn)。同樣,這些操作在布爾表達式層次上也很重要,比如 IF 語句。
?
首先了解按位指令,這里使用的技術(shù)也可以用于操作硬件設備控制位,實現(xiàn)通信協(xié)議以及加密數(shù)據(jù),這里只列舉了幾種應用。Intel 指令集包含了 AND、OR、XOR 和 NOT 指令,它們能直接在二進制位上實現(xiàn)布爾操作,如下表所示。此外,TEST 指令是一種非破壞性的 AND 操作。
| AND | 源操作數(shù)和目的操作數(shù)進行邏輯與操作 |
| OR | 源操作數(shù)和目的操作數(shù)進行邏輯或操作 |
| XOR | 源操作數(shù)和目的操作數(shù)進行邏輯異或操作 |
| NOT | 對目標操作數(shù)進行邏輯非操作 |
| TEST | 源操作數(shù)和目的操作數(shù)進行邏輯與操作,并適當?shù)卦O置 CPU 標志位 |
布爾指令影響零標志位、進位標志位、符號標志位、溢出標志位和奇偶標志位。下面簡單回顧一下這些標志位的含義:
- 操作結(jié)果等于 0 時,零標志位置 1。
- 操作使得目標操作數(shù)的最高位有進位時,進位標志位置 1。
- 符號標志位是目標操作數(shù)高位的副本,如果標志位置 1,表示是負數(shù);標志位清 0,表示是正數(shù)。(假設 0 為正。)
- 指令產(chǎn)生的結(jié)果超出了有符號目的操作數(shù)范圍時,溢岀標志位置 1。
- 指令使得目標操作數(shù)低字節(jié)中有偶數(shù)個 1 時,奇偶標志位置 1。
接下來分別為大家講解 AND、OR、XOR 和 NOT 的實際應用。
- 《AND指令》
- 《OR指令》
- 《XOR指令》
- 《NOT指令》
- 6.1?布爾和比較指令簡介
6.2?AND指令
6.3?OR指令
6.4?位向量(位映射)
6.5?XOR指令
6.6?NOT(反碼)指令
6.7?TEST指令
6.8?CMP(比較)指令
6.9?置位和清除單個CPU標志位
6.10?64位模式下的布爾指令
6.11?條件跳轉(zhuǎn)簡介
6.12?條件跳轉(zhuǎn)指令匯總
6.13?條件跳轉(zhuǎn)應用及示例
6.14?LOOPZ和LOOPE指令
6.15?LOOPNZ和LOOPNE指令
6.16?使用匯編語言實現(xiàn)IF語句
6.17?使用匯編語言實現(xiàn)邏輯表達式
6.18?使用匯編語言實現(xiàn)WHILE循環(huán)
6.19?表驅(qū)動選擇
6.20?有限狀態(tài)機
6.21?條件控制流偽指令
6.22 .IF、.ELSE、.ELSEIF、.ENDIF偽指令
6.23?用.REPEAT和.WHILE實現(xiàn)循環(huán)
總結(jié)
以上是生活随笔為你收集整理的汇编语言布尔和比较指令简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 汇编语言ALIGN伪指令:对齐一个变量
- 下一篇: 链表队列入队算法