64位汇编中的布尔指令
生活随笔
收集整理的這篇文章主要介紹了
64位汇编中的布尔指令
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
多數(shù)情況下,64位模式中的64位指令與32位模式中的操作數(shù)是一樣的,比如源操作數(shù)是16/8位常數(shù),而目標(biāo)操作數(shù)是64位的內(nèi)存操作數(shù)或者64位的寄存器,那么目標(biāo)操作數(shù)中的所有位都會受到影響。
.data;在這里聲明變量val qword 0ffffffffffffffffh;.code ;這里寫自己的代碼mov rax,val; RAX=FFFFFFFFFFFFFFFFand rax,80h; RAX=0000000000000080mov rax,val; RAX=FFFFFFFFFFFFFFFFand rax,8080h; RAX=0000000000008080 mov rax,val; RAX=FFFFFFFFFFFFFFFFand rax,808080h; RAX=0000000000808080源操作數(shù)不能為16/8位內(nèi)存操作數(shù)或者寄存器,因?yàn)椴僮鲾?shù)大小不匹配。
如果源操作數(shù)是32位的常數(shù),而目標(biāo)操作數(shù)是64位的內(nèi)存操作數(shù)或者64位的寄存器,那么目標(biāo)操作數(shù)只有低32位會受到影響,高32位不變。
mov rax,val RAX=FFFFFFFFFFFFFFFF and rax,80808080h RAX=FFFFFFFF80808080總而言之,32位操作數(shù)是一個(gè)特殊情況,需要與其它大小的操作數(shù)分開考慮。
總結(jié)
以上是生活随笔為你收集整理的64位汇编中的布尔指令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 判断素数或者求出素数的基本算法 《挑战程
- 下一篇: Java成长之路