SHL
作者:Vesper Vei
1 分钟阅读
目录
SHL(shl)
基本作用
SHL(逻辑左移)将目的操作数向左移动 n 位,右侧用 0 填充。
数学意义上相当于:dest = dest * 2^n。
指令执行过程
- 左移指定次数
- 右侧补 0
- 更新 CF、ZF、SF、OF 等标志位
- 最后一位移出的 bit → CF
指令格式
shl r/m32, imm8shl r/m64, imm8shl r/m32, clshl r/m64, cl行为特性
- 逻辑运算,不考虑符号
- 对数值进行快速乘法
- 对标志位有强影响(尤其 CF、OF)
常见用途
- 快速乘以 2^n
- 地址计算(如结构体基址偏移)
- 位图构造
- ROP/shellcode 中构造大数