Почему ругается компилятор на "shl eax,edx"

Тема в разделе "WASM.BEGINNERS", создана пользователем ActioN, 9 сен 2005.

  1. ActioN

    ActioN New Member

    Публикаций:
    0
    Регистрация:
    1 апр 2005
    Сообщения:
    160
    Адрес:
    Ukraine
    Почему компилятор ругается, что такое писать нельзя:

    shl eax,edx.

    В edx и в eax же числа содержатся. Как же в таком случае быть, если мне надо сдвинуть число в eax на число, которое в edx?
     
  2. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    ActioN

    Просто НЕТ такой инструкции. Увы.

    Только
    Код (Text):
    1.  
    2. shl   r/m, 1
    3. shl   r/m, imm8
    4. shl   r/m, cl
    5.  


    поэтому только например так:
    Код (Text):
    1.  
    2. xchg  ecx, edx
    3. shl   eax, cl
    4. xchg  ecx, edx
    5.  


    ну или если текущее значение ecx не нужно, тогда просто:
    Код (Text):
    1.  
    2. mov   ecx, edx
    3. shl   eax, cl
    4.  
     
  3. ActioN

    ActioN New Member

    Публикаций:
    0
    Регистрация:
    1 апр 2005
    Сообщения:
    160
    Адрес:
    Ukraine
    Ustus, спасибо, буду знать.