宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

学习概要

格式
汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客

汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客

移位指令主要分四种
汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客

一、逻辑移位指令

1.逻辑左移指令SHL

汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客

汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客

2.逻辑右移指令SHR

汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客
汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客

3.逻辑移位指令的功能

汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客

二、算术移位指令

1.算术左移指令SAL

汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客
汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客

2.算术右移指令SAR

汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客
汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客

最高位不变的意思就是,最高位原来是1(0),右移过后最高位就补1(0)。

3.算术移位指令的功能

汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客

三、循环移位指令

1.循环左移指令ROL

汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客
汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客

2.循环右移指令ROR

汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客
汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客

四、带进位的循环移位指令

1.带进位的循环左移指令RCL

汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客
汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客

2.带进位的循环右移指令

汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客
汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客

移位指令对标志位的影响

1.算术、逻辑指令

  • CF的影响比较明显,就看移位规则。
  • SF、ZF看移位后的结果
  • OF 当移位次数不为1时无定义。当移位操作改变了操作数的最高位时-符号位,OF=1,否则为0

2.循环移位指令

  • CF看移位规则
  • SF、ZF 不受影响
  • OF 当移位次数不为1时无定义。当移位操作改变了操作数的最高位时-符号位,OF=1,否则为0

区别就在于SF和ZF ,算术、循环指令看结果,循环指令无影响

1.

汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客

分析,AX逻辑左移时,最高位应该移进DX。逻辑左移AX时最高位时保存在CF里边,所以要想DX的最低位是AX移动的最高位,对DX进行带进位的循环左移。
汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客

2.

汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客

分析:假设数据为无符号数,结果仍为16位,不溢出。 乘3可以换成2的幂加减。比如换成逻辑左移2位(相当于乘4),再减去一次。或者逻辑左移移位(相当于乘2),再加一次。
汇编指令(四)移位指令-风君子博客汇编指令(四)移位指令-风君子博客