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

时间:2016-01-16 14:48:17

标签: assembly

我如何知道在程序集中使用shlshr可以移动多少。 例如:

0x111111111111116f

要删除11111111111111,我将使用shlshr

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

那么,0x38具体是什么意思? 我们怎么知道会转移多少?

对不起,如果你对我的问题感到困扰。我是装配新人。可能是你 也可以提供一些资源,以便我可以从中学习。

1 个答案:

答案 0 :(得分:2)

  

那么,具体是什么意思?我们怎么知道会转移多少?

0x38是十六进制表示法中的数字。十进制代表56.

private void menuItem_canExecute(object sender, CanExecuteRoutedEventArgs e)
{
    var snd = sender; // This is the main window
    var orgSource = e.OriginalSource; // This is a RichTextBox;
    var src = e.Source; // This is a UserControl

    // I think I must use the Command, but how?
    RoutedCommand routedCommand = e.Command as RoutedCommand;
}

shl rsi, 0x38 (无论它代表什么)中的值将被移到左边56位。

RSI

shr rsi, 0x38 中的值(无论它代表什么)将被移到右边56位。