SAL和SHL有什麼區別,SHR,SAR,SAL,SHL區別

2021-04-22 05:46:02 字數 1799 閱讀 5001

1樓:諮詢霍老師

shl,抄sal分別是邏輯左移和算術左移,執行結果是一樣的,都是資料往左移動,然後在右邊補零;

shr是邏輯右移,資料往右移動,在左邊補零。如:1000 0000->0010 0000(邏輯右移兩位)

sar是算術右移,比較特殊。他的最高位一直是不變的。如1000 0000算術右移7位後就成了1111 1111.

2樓:千里3貓

sal可看做是有符號數的移位(符號位不變)

shl可看做無符號數的移位。

以上都為左移位

組合語言中 「sal」(算術左移指令)和「shl」(邏輯左移指令)指令有什麼區別?

3樓:匿名使用者

組合語言中 sal(算術左移指令)和shl(邏輯左移指令)指令的定址方式、控制移位方式等都一內樣,區別其實只有一處:容

sal算術移位指令在執行時,實際上把運算元看成有符號數進行移位,最高位符號位移入cf,但本身保持原值;其餘位順序左移,次高位被捨棄。

shl邏輯移位指令在執行時,實際上把運算元看成無符號數進行移位,所有位順序左移,最高位移入cf。

舉例如下:

mov ax,8001h;(ax)=1000 0000 0000 0001b

sal ax,1 ;(ax)=1000 0000 0000 0010b

mov ax,8001h;(ax)=1000 0000 0000 0001b

shl ax,1 ;(ax)=0000 0000 0000 0010b

shr,sar,sal,shl區別

4樓:招瑜馬妤

shl,sal分別是邏輯左移bai和算術du左移,執行結果zhi是一樣的,都是資料往左dao移動,然後在右邊補零專;

shr是邏輯右移,資料往屬右移動,在左邊補零。如:10000000->0010

0000(邏輯右移兩位)

sar是算術右移,比較特殊。他的最高位一直是不變的。如10000000算術右移7位後就成了1111

1111.

5樓:匿名使用者

shl和baisal事實際沒有區別,移動結du果都是一樣的,zhishl是邏輯左移dao,sal,演算法左移,它們都內是向左移動幾位,最右就

容補幾個0比如 shl ax,cl ;ax=1111 1111b cl=4 ,移動後ax=1111 0000sal ax,cl ;ax=0101 1100 cl=5移動後 ax=1000 0000 shr是邏輯右往,向右移動幾位,最左邊(即最高位補0)比如 shr ax, cl ;ax=1101 1010 cx=3 移動後ax=0001 1011 sar是演算法右移,向右移動幾位,最左邊第一位保持,其他補0sar ax, cl ax=11 00 1111,cx=5移動後ax= 1000 0110sar ax,cl ax=0011 1111 cx=3 移動後 ax= 0 00 00111

6樓:匿名使用者

樓上覆說的對,shl和sal,左制移的操作,效果都是一樣的(shl和sal的機器碼都是相同的)

sar和shr的主要區別在於,向右移動時,sar會根據最高為是否為1來擴充套件符號位,shr只把移出來的位補0

比如 -1 的16位二進位制是1111 1111mov ax, -1

sar ax, 1 ; ax還是1111 1111shr ax, 1; 這下ax就變成0111 1111了這就是「算數」和「邏輯」移位的區別,算數移位保留運算元的符號,邏輯移位只把運算元當作一塊單純的儲存空間

日語和有什麼區別,和有什麼區別和聯絡啊?

是表示什麼東西,什麼事情怎麼樣?類似於英語的how about 是表示出了什麼事情,主語該怎麼辦。類似於英語的how to do 不知道這樣解釋,你是否了解。例句 夏 涼 那裡的夏天怎麼樣?據說很涼快。年寄 一人 外出 萬一 別讓老人家乙個人出門,萬一有個失閃怎麼辦?和 有什麼區別和聯絡啊?1 兩者...

讀和有什麼區別, 抱 讀 和 有什麼區別?

和 其實一個意思,較正式,用於書面形式,較文學化。就好像寫信與致函。但如果是要說抱有某些想法的時候,就要用 而不能用 抱 抱 摟 抱 除有抱 摟的意思外,還有懷有 懷抱的意思。比如 心懷大志 大 志 抱 前者指抱著抽象的物質 比如希望 後者指抱著實際的物質 比如小孩 一 區別 1 抱 是抱嬰兒等比較...

分別和區別有什麼區別,分別和分離有什麼區別?

兩者的區別如下 分別是指分門別類 區別是指區分對待。僅供參考,謝謝。分別 國語 1.分析。2.區分,辨別。3.分離,離別。4.將各個分開來。區別 國語 1.分別。2.差異,不同。分別只將乙個事情分開看待,區別是區分它們的性質,你懂了嗎?例子 你有一百萬,50給爸爸50給媽媽,那叫分別給,其實就是對等...