1樓:匿名使用者
sar是迴圈右移指令,它的功能是將目的地址內的內容向右移動指定的位數,最低位移入cf中,最高位儲存不變
所以sar dx,cl => sar 0b9h,3現在我們將0b9h 轉換成 二進位制數,這樣方便右移的時候,看出變化0b9h = 0000 0000 1011 1001b而sar 0b9h,3是右移3位,所以0000 0000 1011 1001b最右邊的3位(001)
不要了,就變成了(這裡缺3個位)0 0000 0001 0111b然後我們,在缺少3個位的地方,新增3個位,而這3個位數有講究的哦,這裡我們要新增3個與符號位(最高位)相同的位,所以這3個位都是0所以就變成了0000 0000 0001 0111b而0000 0000 0001 0111b轉換成 十六進位制就是 0017h
終上所述: dx = 0017h
ps: 若有不明白的地方,可以追問
2樓:
算術右移sar把目的運算元的高位向低位移,空出的高位用最高位(符號位)填補。
sar 操作影響標誌暫存器的狀態位cf,sf,zf,pf。指令執行時,不受當前cf值影響,指令執行後影響cf的值。
過程分解:
sar dx,1 ; dx=0000 0000 0101 1100 (05ch) cf=1
sar dx,1 ; dx=0000 0000 0010 1110 (02eh) cf=0
sar dx,1 ; dx=0000 0000 0001 0111 (017h) cf=0
3樓:村夫兒
這尼瑪什麼東西啊 太深奧了吧
若al=98h,cl=3,則執行指令sar al,cl後,al= 10
4樓:v精準
mov al,200(c8) ;(al=c8h)
sar al,1 ;al算數右移一位(al=64h)
mov bl,al ;把al的值給bl(al=bl=64h)
mov cl,2 ;(cl=2)
sar al,cl ;al算數右移兩位(al=19h)
add al,bl ;al和bl求和結果放到al,bl不變(al=7dh,bl=64h)
所以最後(al=7dh,bl=64h;十進位制的話al=125,bl= 100)
補充一句算數右移一次相當於原數除以2,左移一位相當於乘以2
請問在紙箱中的abbbwba3b3a9b9是指的什麼
450g屬於高克重的紙箱,一般紙箱的紙分好幾個等級的,a1 a2 b1 b2 c 拿到紙箱最簡單摸外箱的光滑程度,及雜質。有的紙皮上有很多小黑點摸起來粗糙的就是差質量的紙,其抗壓,耐破度不行的,如果是美國進口的紙 美卡紙 其兩面顏色基本是 一致的,聞起來有木漿的氣味 每家紙板廠的代號都不一樣 有的用...
玩極品飛車9時,電腦說丟失D3DX
可以留下郵箱我傳送給你 為什麼玩極品飛車9時。會顯示缺少d3dx9 26.dll 在資料夾搜尋欄中查詢並找到d3dx9 26.dll檔案,直接複製到遊戲第一層資料夾中,然後開啟遊戲啟動快捷方式試試。樓主你好,你可以bai重新下du載一個d3dx9 26.dll檔案zhi檔案,然後按如下步 驟操作 d...
solidworks中0x69ba3a96指令用0x00000000記憶體,該記憶體不能為written
我知道是什麼原因了,我的是xp系統,裝好sw也是出現同樣的問題。我的解決辦法是 開始 控制面板 顯示 高階 疑難解答選項卡 硬體加速全關掉,然後確定 之後開啟sw就沒問題了 只是畫圖的時候反應比較慢,這時可以把硬體加速全部開啟,反應速度就快了。唯一的缺點就是每次開啟sw之前都必須得把硬體加速關閉才行...