算術移位指令分爲算術左移SAL和算術右移SAR,指令格式如下:
SAL/SAR Reg/Mem, CL/lmm
受影響的標誌位位CF、OF、PF、SF、和ZF。
1.算術左移把目的操作數的低位向高位移,空出的低位補0
舉例1:(AH)=12H,執行SAL AH,1指令後,(AH)=24H
詳細解釋:AH化爲二進制數爲00010010,左移一位後爲00100100,即爲24H
舉例2:(BL)=0A9H,執行SAL BL,1後,(BL)=52H
詳細解釋:BL化爲二進制爲10101001,左移一位後爲01010010,即爲52H
2.算術右移把目的操作數的高位向低位移,空出的高位用高位(符號位)填補。
舉例1:(AH)=12H,執行SAR AH,1指令後,(AH)=09H
詳細解釋:AH化爲二進制數爲00010010,右移一位後爲00001001,即爲09H
舉例2:(BL)=0A9H,執行SAR BL,1後,(BL)=0D4H
詳細解釋:BL化爲二進制爲10101001(此時高位爲1),右移一位後爲11010100(最高位的1是用高位填補得來的),即爲0D4H