shl邏輯左移指令
shl oprd m;把運算元oprd左移m位,m為位移次數,為1或為cl(位移超過1次用cl表示)
;每移動一位右邊用0補足一位,移出的最高位進入cf(最後移出的一位寫入cf)mov al,00010011b ;13h 00010011b
shl al,1 ;把al左移1位,移出的最高位0進入cf,右邊0補足1位 0 00100110b
mov al,00001111b ;0fh
mov cl,4 ;左移4位 0000 1111b
shl al,cl; 11110000b 最後移出的0寫入cf
shr邏輯右移指令
shr oprd m ;右移m位 將最後移出的一位寫入cf,最高位用0補足
邏輯運算指令和移位指令
and xortest shlsal rolrcl ornot shrsar rorrcr and,or xor 和 test都是雙位元組操作指令,運算元的定址方式的規定與算術運算指令相同.not是單位元組操作指令,不允許使用立即數.邏輯運算均是按位進行操作,真值表如下 and 位與 or 位或 x...
算術移位和邏輯移位
算術移位和邏輯移位 unsigned int i 8 int main 上面的變數i是採用邏輯移位還是算術移位呢?邏輯移位,簡單理解就是物理上按位進行的左右移動,兩頭用0進行補充,不關心數值的符號問題 算術移位,同樣也是物理上按位進行的左右移動,兩頭用0進行補充,但必須確保符號位不改變 但我們好奇的...
算術移位和邏輯移位
算術移位和邏輯移位 unsigned int i 8 int main 上面的變數i是採用邏輯移位還是算術移位呢?邏輯移位,簡單理解就是物理上按位進行的左右移動,兩頭用0進行補充,不關心數值的符號問題 算術移位,同樣也是物理上按位進行的左右移動,兩頭用0進行補充,但必須確保符號位不改變 但我們好奇的...