汇编:如何定义格式转换(SHL、SHR)

Assembly: How to define the Format Shifting (SHL,SHR)

我如何知道在汇编中使用 shlshr 要移动多少。 例如:

0x111111111111116f

要删除 11111111111111,我将使用 shlshr

 mov    rsi, 0x111111111111116f
 shl    rsi, 0x38
 shr    rsi, 0x38

那么,0x38具体是什么意思呢? 我们如何知道将移动多少位?

So, what is the meaning 0x38 specifically? How do we can know how much will be shifted?

0x38 是十六进制数。在十进制中它代表 56。

shl    rsi, 0x38

RSI 中的值(无论它代表什么)将向左移动 56 位。

shr    rsi, 0x38

RSI 中的值(无论它代表什么)将向右移动 56 位。