• 汇编语言移位和循环移位指令简介

    移位指令与前面介绍的按位操作指令一起形成了汇编语言最显著的特点之一。位移动 (bit shifting) 意味着在操作数内向左或向右移动。

    x86 处理器在这方面提供了相当丰富的指令集如下表所示,这些指令都会影响溢出标志位和进位标志位。

    SHL 左移 ROR 循环右移
    SHR 右移 RCL 带进位的循环左移
    SAL 算术左移 RCR  带进位的循环右移
    SAR 算术右移 SHLD 双精度左移
    ROL 循环左移 SHRD 双精度右移

    逻辑移位和算术移位

    移动操作数的位有两种方法。第一种是逻辑移位 (logic shift),空出来的位用 0 填充。如下图所示,一个字节的数据向右移动一位。也就是说,每一位都被移动到其旁边的低位上。注意,位 7 被填充为 0:

更多...

加载中...