微机原理——移位指令
生活随笔
收集整理的這篇文章主要介紹了
微机原理——移位指令
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
例題
思路
選擇移位語句,右移,將AL移出的送入DX左端,將BL移出的送入DX左端。循環八次
MOV AL,01100101B; MOV BL,11011010B; XOR DX,DX;兩個值相同,異或結果為0。等效:MOV DX,0 MOV CX,8;count L1: SHR AL,1;邏輯右移,左邊補0, RCR DX,1;帶進位循環右移,右端被舍棄掉的補回左端SHR BL,1;右移 RCR DX,1;右移; LOOP L1 ;AL的1被移出,送入CF中;DX的左端被CF填入,然后右端0送入CF中;;BL的0被移出,送入CF中 ;DX的左端被CF填入,然后右端0送入CF中;;至此,一個循環結束,進行八次循環完成數據轉移指令講解
移位操作分為三類:算術移位,邏輯移位,循環移位
邏輯移位是指邏輯左移和邏輯右移,移出的空位都用0來補。
SHL(shift logical left):邏輯左移
SHR(shift logical right):邏輯右移
算術移位
對于無符號型值,算術移位等同于邏輯移位。
對于有符號型值 ,算術左移等同于邏輯左移。
算術右移補的是符號位,正數補0,負數補1。
SAL(shift arithmetic left) :算術左移
SAR(shift arithmetic right) :算術右移
循環移位
ROL(rotat left) 循環左移
ROR(rotat right) 循環右移
帶進位循環移位
注意順序!!!先移位,再將CF(進位標志位)復制到LSB(MSB),最后將被移除的值送入CF。
所以這里作為轉存的寄存器是有兩個的,一個是CF,一個我不知道是啥,設為X吧。
此時,我們反過來推導一波例題:
總結
通過例題學習了常見的幾種移位操作。
總結
以上是生活随笔為你收集整理的微机原理——移位指令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Opencv——图像金字塔与图像尺寸缩放
- 下一篇: 退热贴多少钱啊?